Module: vkd3d Branch: master Commit: e93568f2900775a10c67d2358ef0fa53fcffead4 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/e93568f2900775a10c67d2358ef0fa...
Author: Francisco Casas fcasas@codeweavers.com Date: Wed Oct 11 18:13:31 2023 -0300
vkd3d-shader/hlsl: Clean-up instruction block for offset node creation.
---
libs/vkd3d-shader/hlsl_codegen.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c index 541a45ac..1a477db8 100644 --- a/libs/vkd3d-shader/hlsl_codegen.c +++ b/libs/vkd3d-shader/hlsl_codegen.c @@ -29,8 +29,6 @@ static struct hlsl_ir_node *new_offset_from_path_index(struct hlsl_ctx *ctx, str struct hlsl_ir_node *idx_offset = NULL; struct hlsl_ir_node *c;
- hlsl_block_init(block); - switch (type->class) { case HLSL_CLASS_VECTOR: @@ -111,9 +109,14 @@ static struct hlsl_ir_node *new_offset_instr_from_deref(struct hlsl_ctx *ctx, st { struct hlsl_block idx_block;
+ hlsl_block_init(&idx_block); + if (!(offset = new_offset_from_path_index(ctx, &idx_block, type, offset, deref->path[i].node, regset, loc))) + { + hlsl_block_cleanup(&idx_block); return NULL; + }
hlsl_block_add_block(block, &idx_block);