zink: don't leak sampler view textures
by adding a batch reference for these textures during draw, we can successfully destroy the resources without crashing Reviewed-by: Erik Faye-Lun <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6924>
This commit is contained in:
@@ -290,6 +290,7 @@ zink_sampler_view_destroy(struct pipe_context *pctx,
|
||||
{
|
||||
struct zink_sampler_view *view = zink_sampler_view(pview);
|
||||
vkDestroyImageView(zink_screen(pctx->screen)->dev, view->image_view, NULL);
|
||||
pipe_resource_reference(&pview->texture, NULL);
|
||||
FREE(view);
|
||||
}
|
||||
|
||||
|
||||
@@ -390,6 +390,7 @@ zink_draw_vbo(struct pipe_context *pctx,
|
||||
} else {
|
||||
struct zink_sampler_view *sampler_view = zink_sampler_view(ctx->image_views[i][index]);
|
||||
zink_batch_reference_sampler_view(batch, sampler_view);
|
||||
zink_batch_reference_resource_rw(batch, zink_resource(ctx->image_views[i][index]->texture), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user