[Mesa-dev] [PATCH] st/mesa: Handle st_framebuffer_create returning NULL
Brian Paul
brianp at vmware.com
Thu Jul 13 14:00:05 UTC 2017
Reviewed-by: Brian Paul <brianp at vmware.com>
On 07/13/2017 01:21 AM, Michel Dänzer wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> st_framebuffer_create returns NULL if stfbi == NULL or
> st_framebuffer_add_renderbuffer returns false for the colour buffer.
>
> Fixes Xorg crashing on startup using glamor on radeonsi.
>
> Fixes: 147d7fb772a7 ("st/mesa: add a winsys buffers list in st_context")
> Bugzilla: https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.freedesktop.org_show-5Fbug.cgi-3Fid-3D101775&d=DwIDaQ&c=uilaK90D4TOVoH58JNXRgQ&r=Ie7_encNUsqxbSRbqbNgofw0ITcfE8JKfaUjIQhncGA&m=JNCyW5cReAi0ISzxpO5MRewn50f_1y6L63_-3dfGTGA&s=un_LLa7Y14lB-Bwufyy6XKjSV64NkCg51HzF1w23M9w&e=
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> ---
> src/mesa/state_tracker/st_manager.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
> index de16a3a2cf..348b456c4d 100644
> --- a/src/mesa/state_tracker/st_manager.c
> +++ b/src/mesa/state_tracker/st_manager.c
> @@ -802,10 +802,12 @@ st_framebuffer_reuse_or_create(struct st_context *st,
> if (stfb == NULL) {
> cur = st_framebuffer_create(st, stfbi);
>
> - /* add to the context's winsys buffers list */
> - LIST_ADD(&cur->head, &st->winsys_buffers);
> + if (cur) {
> + /* add to the context's winsys buffers list */
> + LIST_ADD(&cur->head, &st->winsys_buffers);
>
> - st_framebuffer_reference(&stfb, cur);
> + st_framebuffer_reference(&stfb, cur);
> + }
> }
>
> return stfb;
>
More information about the mesa-dev
mailing list