mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 02:58:05 +02:00
radeonsi: unify error paths in si_texture_create_object
This commit is contained in:
parent
2361558eb7
commit
16672f16da
1 changed files with 9 additions and 9 deletions
|
|
@ -1111,7 +1111,7 @@ si_texture_create_object(struct pipe_screen *screen,
|
|||
|
||||
tex = CALLOC_STRUCT(si_texture);
|
||||
if (!tex)
|
||||
return NULL;
|
||||
goto error;
|
||||
|
||||
resource = &tex->buffer;
|
||||
resource->b.b = *base;
|
||||
|
|
@ -1186,10 +1186,8 @@ si_texture_create_object(struct pipe_screen *screen,
|
|||
tex->cb_color_info |= S_028C70_FAST_CLEAR(1);
|
||||
tex->cmask_buffer = &tex->buffer;
|
||||
|
||||
if (!tex->surface.fmask_size || !tex->surface.cmask_size) {
|
||||
FREE(tex);
|
||||
return NULL;
|
||||
}
|
||||
if (!tex->surface.fmask_size || !tex->surface.cmask_size)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Shared textures must always set up DCC here.
|
||||
|
|
@ -1210,10 +1208,8 @@ si_texture_create_object(struct pipe_screen *screen,
|
|||
si_init_resource_fields(sscreen, resource, tex->size,
|
||||
tex->surface.surf_alignment);
|
||||
|
||||
if (!si_alloc_resource(sscreen, resource)) {
|
||||
FREE(tex);
|
||||
return NULL;
|
||||
}
|
||||
if (!si_alloc_resource(sscreen, resource))
|
||||
goto error;
|
||||
} else {
|
||||
resource->buf = buf;
|
||||
resource->gpu_address = sscreen->ws->buffer_get_virtual_address(resource->buf);
|
||||
|
|
@ -1275,6 +1271,10 @@ si_texture_create_object(struct pipe_screen *screen,
|
|||
}
|
||||
|
||||
return tex;
|
||||
|
||||
error:
|
||||
FREE(tex);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static enum radeon_surf_mode
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue