From 24a4a3bbbbdfadce4cdb2b93c4b101e54444993f Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 5 Mar 2021 00:43:49 -0600 Subject: [PATCH] intel/mi_builder: Add a helper for incrementing reference counts Reviewed-by: Lionel Landwerlin Acked-by: Caio Oliveira Part-of: --- src/intel/common/mi_builder.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/intel/common/mi_builder.h b/src/intel/common/mi_builder.h index 5913899..b9a245c 100644 --- a/src/intel/common/mi_builder.h +++ b/src/intel/common/mi_builder.h @@ -253,8 +253,8 @@ mi_reserve_gpr(struct mi_builder *b, unsigned gpr) * are responsible for calling mi_value_ref() to get a second reference * because the mi_* math function will consume it twice. */ -static inline struct mi_value -mi_value_ref(struct mi_builder *b, struct mi_value val) +static inline void +mi_value_add_refs(struct mi_builder *b, struct mi_value val, unsigned num_refs) { #if GFX_VERx10 >= 75 if (_mi_value_is_allocated_gpr(val)) { @@ -262,13 +262,19 @@ mi_value_ref(struct mi_builder *b, struct mi_value val) assert(gpr < MI_BUILDER_NUM_ALLOC_GPRS); assert(b->gprs & (1u << gpr)); assert(b->gpr_refs[gpr] < UINT8_MAX); - b->gpr_refs[gpr]++; + b->gpr_refs[gpr] += num_refs; } #endif /* GFX_VERx10 >= 75 */ +} +static inline struct mi_value +mi_value_ref(struct mi_builder *b, struct mi_value val) +{ + mi_value_add_refs(b, val, 1); return val; } + /** Drop a reference to a mi_value * * See also mi_value_ref. -- 2.7.4