diff options
author | Eric Anholt <[email protected]> | 2015-11-09 08:56:01 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2015-11-09 19:17:36 -0800 |
commit | 5980389bbf98b8186ba6a06392d92b82fa9efad3 (patch) | |
tree | a2a8b6b928de4f861fc235295085f55231d470eb /src/gallium/drivers/vc4/vc4_state.c | |
parent | eb8fb0064dbde7a363c2f99466a51b346b09a029 (diff) |
vc4: Return NULL when we can't make our shadow for a sampler view.
I'm not sure what the caller does is appropriate (just have a NULL sampler
at this slot), but it fixes the immediate crash.
Cc: "11.0" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_state.c')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_state.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_state.c b/src/gallium/drivers/vc4/vc4_state.c index 78aa344ab1d..7317695b652 100644 --- a/src/gallium/drivers/vc4/vc4_state.c +++ b/src/gallium/drivers/vc4/vc4_state.c @@ -583,6 +583,10 @@ vc4_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *prsc, tmpl.last_level = cso->u.tex.last_level - cso->u.tex.first_level; prsc = vc4_resource_create(pctx->screen, &tmpl); + if (!prsc) { + free(so); + return NULL; + } rsc = vc4_resource(prsc); clone = vc4_resource(prsc); clone->shadow_parent = &shadow_parent->base.b; |