From: Kenneth Graunke Date: Fri, 20 Sep 2019 21:33:51 +0000 (-0700) Subject: st/mesa: Bail on incomplete attachments in discard_framebuffer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ec81f19b44951fbc0e6a8b381afe6d85834132b8;p=mesa.git st/mesa: Bail on incomplete attachments in discard_framebuffer Incomplete attachments don't have an associated pipe_surface, so this would crash. Fixes a WebGL conformance test that uses incomplete attachments: https://www.khronos.org/registry/webgl/sdk/tests/conformance2/renderbuffers/invalidate-framebuffer.html?webglVersion=2&quiet=0&quick=1 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111756 Reviewed-By: Tapani Pälli --- diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index bf23f4f3a8d..55546f9fab3 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -778,7 +778,7 @@ st_discard_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb, struct st_context *st = st_context(ctx); struct pipe_resource *prsc; - if (!att->Renderbuffer) + if (!att->Renderbuffer || !att->Complete) return; prsc = st_renderbuffer(att->Renderbuffer)->surface->texture;