mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/hlsl: Add a hlsl_cleanup_semantic() helper.
This commit is contained in:
parent
cb2c89a589
commit
8755a92196
Notes:
Alexandre Julliard
2023-02-07 22:15:32 +01:00
Approved-by: Francisco Casas (@fcasas) Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/77
@ -113,7 +113,7 @@ struct hlsl_ir_var *hlsl_get_var(struct hlsl_scope *scope, const char *name)
|
||||
void hlsl_free_var(struct hlsl_ir_var *decl)
|
||||
{
|
||||
vkd3d_free((void *)decl->name);
|
||||
vkd3d_free((void *)decl->semantic.name);
|
||||
hlsl_cleanup_semantic(&decl->semantic);
|
||||
vkd3d_free(decl);
|
||||
}
|
||||
|
||||
@ -1998,7 +1998,7 @@ void hlsl_free_type(struct hlsl_type *type)
|
||||
field = &type->e.record.fields[i];
|
||||
|
||||
vkd3d_free((void *)field->name);
|
||||
vkd3d_free((void *)field->semantic.name);
|
||||
hlsl_cleanup_semantic(&field->semantic);
|
||||
}
|
||||
vkd3d_free((void *)type->e.record.fields);
|
||||
}
|
||||
@ -2155,6 +2155,12 @@ void hlsl_free_attribute(struct hlsl_attribute *attr)
|
||||
vkd3d_free(attr);
|
||||
}
|
||||
|
||||
void hlsl_cleanup_semantic(struct hlsl_semantic *semantic)
|
||||
{
|
||||
vkd3d_free((void *)semantic->name);
|
||||
memset(semantic, 0, sizeof(*semantic));
|
||||
}
|
||||
|
||||
static void free_function_decl(struct hlsl_ir_function_decl *decl)
|
||||
{
|
||||
unsigned int i;
|
||||
|
@ -974,7 +974,9 @@ int hlsl_emit_bytecode(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry
|
||||
enum vkd3d_shader_target_type target_type, struct vkd3d_shader_code *out);
|
||||
|
||||
bool hlsl_copy_deref(struct hlsl_ctx *ctx, struct hlsl_deref *deref, const struct hlsl_deref *other);
|
||||
|
||||
void hlsl_cleanup_deref(struct hlsl_deref *deref);
|
||||
void hlsl_cleanup_semantic(struct hlsl_semantic *semantic);
|
||||
|
||||
void hlsl_replace_node(struct hlsl_ir_node *old, struct hlsl_ir_node *new);
|
||||
|
||||
|
@ -922,7 +922,7 @@ static void free_parse_variable_def(struct parse_variable_def *v)
|
||||
free_parse_initializer(&v->initializer);
|
||||
vkd3d_free(v->arrays.sizes);
|
||||
vkd3d_free(v->name);
|
||||
vkd3d_free((void *)v->semantic.name);
|
||||
hlsl_cleanup_semantic(&v->semantic);
|
||||
vkd3d_free(v);
|
||||
}
|
||||
|
||||
|
@ -227,7 +227,7 @@ static struct hlsl_ir_var *add_semantic_var(struct hlsl_ctx *ctx, struct hlsl_ir
|
||||
type, var->loc, &new_semantic, modifiers, NULL)))
|
||||
{
|
||||
hlsl_release_string_buffer(ctx, name);
|
||||
vkd3d_free((void *)new_semantic.name);
|
||||
hlsl_cleanup_semantic(&new_semantic);
|
||||
return NULL;
|
||||
}
|
||||
hlsl_release_string_buffer(ctx, name);
|
||||
|
Loading…
x
Reference in New Issue
Block a user