From e935e06e2380ab641623def259bc2c6874099778 Mon Sep 17 00:00:00 2001 From: Francisco Casas Date: Mon, 15 Sep 2025 09:33:45 -0300 Subject: [PATCH] vkd3d-shader/ir: Introduce shader_instruction_array_append(). --- libs/vkd3d-shader/ir.c | 8 ++++++++ libs/vkd3d-shader/vkd3d_shader_private.h | 11 +++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/libs/vkd3d-shader/ir.c b/libs/vkd3d-shader/ir.c index 69a64fcd5..8855d99fb 100644 --- a/libs/vkd3d-shader/ir.c +++ b/libs/vkd3d-shader/ir.c @@ -502,6 +502,14 @@ bool shader_instruction_array_insert_at(struct vkd3d_shader_instruction_array *a return true; } +struct vkd3d_shader_instruction *shader_instruction_array_append(struct vkd3d_shader_instruction_array *array) +{ + if (!shader_instruction_array_insert_at(array, array->count, 1)) + return NULL; + + return &array->elements[array->count - 1]; +} + bool vsir_program_add_icb(struct vsir_program *program, struct vkd3d_shader_immediate_constant_buffer *icb) { if (!vkd3d_array_reserve((void **)&program->icbs, &program->icb_capacity, diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h index b53fac733..dfe239a7f 100644 --- a/libs/vkd3d-shader/vkd3d_shader_private.h +++ b/libs/vkd3d-shader/vkd3d_shader_private.h @@ -1428,9 +1428,9 @@ struct vkd3d_shader_instruction_array size_t count; }; +struct vkd3d_shader_instruction *shader_instruction_array_append(struct vkd3d_shader_instruction_array *array); +bool shader_instruction_array_insert_at(struct vkd3d_shader_instruction_array *instructions, size_t idx, size_t count); bool shader_instruction_array_reserve(struct vkd3d_shader_instruction_array *instructions, size_t reserve); -bool shader_instruction_array_insert_at(struct vkd3d_shader_instruction_array *instructions, - size_t idx, size_t count); struct vsir_program_iterator { @@ -1651,12 +1651,7 @@ bool vsir_instruction_init_with_params(struct vsir_program *program, static inline struct vkd3d_shader_instruction *vsir_program_append(struct vsir_program *program) { - struct vkd3d_shader_instruction_array *array = &program->instructions; - - if (!shader_instruction_array_insert_at(array, array->count, 1)) - return NULL; - - return &array->elements[array->count - 1]; + return shader_instruction_array_append(&program->instructions); } static inline struct vkd3d_shader_dst_param *vsir_program_get_dst_params(