mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/ir: Free program parameters on failure in vsir_program_init() if needed.
This commit is contained in:
Notes:
Henri Verbeet
2025-07-30 16:00:16 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Francisco Casas (@fcasas) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1659
@@ -444,7 +444,14 @@ bool vsir_program_init(struct vsir_program *program, const struct vkd3d_shader_c
|
|||||||
program->shader_version = *version;
|
program->shader_version = *version;
|
||||||
program->cf_type = cf_type;
|
program->cf_type = cf_type;
|
||||||
program->normalisation_level = normalisation_level;
|
program->normalisation_level = normalisation_level;
|
||||||
return shader_instruction_array_init(&program->instructions, reserve);
|
if (!shader_instruction_array_init(&program->instructions, reserve))
|
||||||
|
{
|
||||||
|
if (program->free_parameters)
|
||||||
|
vkd3d_free((void *)program->parameters);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void vsir_program_cleanup(struct vsir_program *program)
|
void vsir_program_cleanup(struct vsir_program *program)
|
||||||
|
Reference in New Issue
Block a user