iris: Destroy the border color pool

This plugs a 12224 byte leak
This commit is contained in:
Kenneth Graunke 2018-11-28 15:15:21 -08:00
parent 3d55e9a2aa
commit f73fdb4001
3 changed files with 10 additions and 0 deletions

View File

@ -93,6 +93,14 @@ iris_init_border_color_pool(struct iris_context *ice)
iris_reset_border_color_pool(pool, bufmgr);
}
void
iris_destroy_border_color_pool(struct iris_context *ice)
{
struct iris_border_color_pool *pool = &ice->state.border_color_pool;
iris_bo_unreference(pool->bo);
ralloc_free(pool->ht);
}
/**
* Reserve space for a number of border colors. If no space, flushes any
* batches that are referring to the old BO and makes a new one.

View File

@ -110,6 +110,7 @@ iris_destroy_context(struct pipe_context *ctx)
ice->vtbl.destroy_state(ice);
iris_destroy_program_cache(ice);
iris_destroy_border_color_pool(ice);
u_upload_destroy(ice->state.surface_uploader);
u_upload_destroy(ice->state.dynamic_uploader);

View File

@ -587,6 +587,7 @@ void gen11_init_blorp(struct iris_context *ice);
/* iris_border_color.c */
void iris_init_border_color_pool(struct iris_context *ice);
void iris_destroy_border_color_pool(struct iris_context *ice);
void iris_border_color_pool_reserve(struct iris_context *ice, unsigned count);
uint32_t iris_upload_border_color(struct iris_context *ice,
union pipe_color_union *color);