From 8de1e310a768539c093f1d86d0f7d7fc5d7668c6 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Tue, 26 Apr 2022 16:24:04 -0700 Subject: [PATCH] u_primconvert: Handle take_index_buffer_ownership Reviewed-by: Mike Blumenkrantz Reviewed-by: Sil Vilerino Part-of: --- src/util/indices/u_primconvert.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/util/indices/u_primconvert.c b/src/util/indices/u_primconvert.c index 1ee4f39e786..dcbc9052dac 100644 --- a/src/util/indices/u_primconvert.c +++ b/src/util/indices/u_primconvert.c @@ -301,7 +301,7 @@ util_primconvert_draw_vbo(struct primconvert_context *pc, unsigned draw_count = 0; struct u_indirect_params *new_draws = util_draw_indirect_read(pc->pipe, info, indirect, &draw_count); if (!new_draws) - return; + goto cleanup; for (unsigned i = 0; i < draw_count; i++) util_primconvert_draw_single_vbo(pc, &new_draws[i].info, drawid_offset + i, &new_draws[i].draw); @@ -315,6 +315,12 @@ util_primconvert_draw_vbo(struct primconvert_context *pc, drawid++; } } + +cleanup: + if (info->take_index_buffer_ownership) { + struct pipe_resource *buffer = info->index.resource; + pipe_resource_reference(&buffer, NULL); + } } void