u_primconvert: Handle take_index_buffer_ownership

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
This commit is contained in:
Jesse Natalie 2022-04-26 16:24:04 -07:00 committed by Marge Bot
parent 12d88d500d
commit 8de1e310a7
1 changed files with 7 additions and 1 deletions

View File

@ -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