Mesa (master): st/mesa: Bail on incomplete attachments in discard_framebuffer

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Sep 23 04:24:35 UTC 2019


Module: Mesa
Branch: master
Commit: ec81f19b44951fbc0e6a8b381afe6d85834132b8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec81f19b44951fbc0e6a8b381afe6d85834132b8

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Sep 20 14:33:51 2019 -0700

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 <tapani.palli at intel.com>

---

 src/mesa/state_tracker/st_cb_fbo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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;




More information about the mesa-commit mailing list