mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-15 12:08:14 +02:00
intel: Allow intel_region_reference() with *dst != NULL.
This should help us avoid leaking regions in region reference code by making the API more predictable. Reviewed-by: Chad Versace <chad@chad-versace.us> (cherry picked from commit036b74a7f8) (cherry picked from commitd8f65c07e9)
This commit is contained in:
parent
5a7d1c9710
commit
e3e99be131
1 changed files with 8 additions and 5 deletions
|
|
@ -264,12 +264,15 @@ intel_region_alloc_for_handle(struct intel_screen *screen,
|
|||
void
|
||||
intel_region_reference(struct intel_region **dst, struct intel_region *src)
|
||||
{
|
||||
if (src)
|
||||
_DBG("%s %p %d\n", __FUNCTION__, src, src->refcount);
|
||||
_DBG("%s: %p(%d) -> %p(%d)\n", __FUNCTION__,
|
||||
*dst, *dst ? (*dst)->refcount : 0, src, src ? src->refcount : 0);
|
||||
|
||||
assert(*dst == NULL);
|
||||
if (src) {
|
||||
src->refcount++;
|
||||
if (src != *dst) {
|
||||
if (*dst)
|
||||
intel_region_release(dst);
|
||||
|
||||
if (src)
|
||||
src->refcount++;
|
||||
*dst = src;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue