mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 06:30:10 +01:00
gallium/util: Fix incorrect refcounting of separate stencil.
The driver may have a reference on the separate stencil buffer for some
reason (like an unflushed job using it), so we can't directly free the
resource and should instead just decrement the refcount that we own.
Fixes double-free in KHR-GLES3.packed_depth_stencil.blit.depth32f_stencil8
on vc5.
Fixes: e94eb5e600 ("gallium/util: add u_transfer_helper")
Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
0d4ce00d70
commit
069c409f43
1 changed files with 1 additions and 2 deletions
|
|
@ -138,8 +138,7 @@ u_transfer_helper_resource_destroy(struct pipe_screen *pscreen,
|
|||
if (helper->vtbl->get_stencil) {
|
||||
struct pipe_resource *stencil = helper->vtbl->get_stencil(prsc);
|
||||
|
||||
if (stencil)
|
||||
helper->vtbl->resource_destroy(pscreen, stencil);
|
||||
pipe_resource_reference(&stencil, NULL);
|
||||
}
|
||||
|
||||
helper->vtbl->resource_destroy(pscreen, prsc);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue