mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 17:40:11 +01:00
zink: add a resource reference for bufferviews
Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12843>
This commit is contained in:
parent
32cf036cb7
commit
e28df76c3a
2 changed files with 3 additions and 0 deletions
|
|
@ -636,6 +636,7 @@ get_buffer_view(struct zink_context *ctx, struct zink_resource *res, enum pipe_f
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
pipe_reference_init(&buffer_view->reference, 1);
|
pipe_reference_init(&buffer_view->reference, 1);
|
||||||
|
pipe_resource_reference(&buffer_view->pres, &res->base.b);
|
||||||
util_dynarray_init(&buffer_view->desc_set_refs.refs, NULL);
|
util_dynarray_init(&buffer_view->desc_set_refs.refs, NULL);
|
||||||
buffer_view->bvci = bvci;
|
buffer_view->bvci = bvci;
|
||||||
buffer_view->buffer_view = view;
|
buffer_view->buffer_view = view;
|
||||||
|
|
@ -751,6 +752,7 @@ zink_destroy_buffer_view(struct zink_screen *screen, struct zink_buffer_view *bu
|
||||||
assert(he);
|
assert(he);
|
||||||
_mesa_hash_table_remove(&screen->bufferview_cache, he);
|
_mesa_hash_table_remove(&screen->bufferview_cache, he);
|
||||||
simple_mtx_unlock(&screen->bufferview_mtx);
|
simple_mtx_unlock(&screen->bufferview_mtx);
|
||||||
|
pipe_resource_reference(&buffer_view->pres, NULL);
|
||||||
VKSCR(DestroyBufferView)(screen->dev, buffer_view->buffer_view, NULL);
|
VKSCR(DestroyBufferView)(screen->dev, buffer_view->buffer_view, NULL);
|
||||||
zink_descriptor_set_refs_clear(&buffer_view->desc_set_refs, buffer_view);
|
zink_descriptor_set_refs_clear(&buffer_view->desc_set_refs, buffer_view);
|
||||||
FREE(buffer_view);
|
FREE(buffer_view);
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ struct zink_sampler_state {
|
||||||
|
|
||||||
struct zink_buffer_view {
|
struct zink_buffer_view {
|
||||||
struct pipe_reference reference;
|
struct pipe_reference reference;
|
||||||
|
struct pipe_resource *pres;
|
||||||
VkBufferViewCreateInfo bvci;
|
VkBufferViewCreateInfo bvci;
|
||||||
VkBufferView buffer_view;
|
VkBufferView buffer_view;
|
||||||
uint32_t hash;
|
uint32_t hash;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue