[Mesa-dev] [PATCH 3/3] freedreno: little clean up in fd_create_surface
Serge Martin
edb+mesa at sigluy.net
Sun Dec 6 06:32:17 PST 2015
in order to avoid returing invalid adress if CALLOC_STRUCT return NULL.
---
src/gallium/drivers/freedreno/freedreno_surface.c | 31 ++++++++++++-----------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_surface.c b/src/gallium/drivers/freedreno/freedreno_surface.c
index 70c44eb..9043393 100644
--- a/src/gallium/drivers/freedreno/freedreno_surface.c
+++ b/src/gallium/drivers/freedreno/freedreno_surface.c
@@ -41,27 +41,28 @@ fd_create_surface(struct pipe_context *pctx,
// struct fd_resource* tex = fd_resource(ptex);
struct fd_surface* surface = CALLOC_STRUCT(fd_surface);
+ if (!surface)
+ return NULL;
+
debug_assert(ptex->target != PIPE_BUFFER);
debug_assert(surf_tmpl->u.tex.first_layer == surf_tmpl->u.tex.last_layer);
- if (surface) {
- struct pipe_surface *psurf = &surface->base;
- unsigned level = surf_tmpl->u.tex.level;
+ struct pipe_surface *psurf = &surface->base;
+ unsigned level = surf_tmpl->u.tex.level;
- pipe_reference_init(&psurf->reference, 1);
- pipe_resource_reference(&psurf->texture, ptex);
+ pipe_reference_init(&psurf->reference, 1);
+ pipe_resource_reference(&psurf->texture, ptex);
- psurf->context = pctx;
- psurf->format = surf_tmpl->format;
- psurf->width = u_minify(ptex->width0, level);
- psurf->height = u_minify(ptex->height0, level);
- psurf->u.tex.level = level;
- psurf->u.tex.first_layer = surf_tmpl->u.tex.first_layer;
- psurf->u.tex.last_layer = surf_tmpl->u.tex.last_layer;
+ psurf->context = pctx;
+ psurf->format = surf_tmpl->format;
+ psurf->width = u_minify(ptex->width0, level);
+ psurf->height = u_minify(ptex->height0, level);
+ psurf->u.tex.level = level;
+ psurf->u.tex.first_layer = surf_tmpl->u.tex.first_layer;
+ psurf->u.tex.last_layer = surf_tmpl->u.tex.last_layer;
- // TODO
- DBG("TODO: %ux%u", psurf->width, psurf->height);
- }
+ // TODO
+ DBG("TODO: %ux%u", psurf->width, psurf->height);
return &surface->base;
}
--
2.1.0
More information about the mesa-dev
mailing list