diff --git a/src/gallium/drivers/iris/iris_border_color.c b/src/gallium/drivers/iris/iris_border_color.c index 72c7ee4904c..ebed3e4445d 100644 --- a/src/gallium/drivers/iris/iris_border_color.c +++ b/src/gallium/drivers/iris/iris_border_color.c @@ -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. diff --git a/src/gallium/drivers/iris/iris_context.c b/src/gallium/drivers/iris/iris_context.c index 75b1be27306..0bf100ae4db 100644 --- a/src/gallium/drivers/iris/iris_context.c +++ b/src/gallium/drivers/iris/iris_context.c @@ -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); diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h index 601dabb4cef..5c5fbaf7eab 100644 --- a/src/gallium/drivers/iris/iris_context.h +++ b/src/gallium/drivers/iris/iris_context.h @@ -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);