mesa: Make renderbuffer FBO attachments not layered
authorJames Legg <lankyleggy@gmail.com>
Sat, 7 Feb 2015 23:33:15 +0000 (23:33 +0000)
committerChris Forbes <chrisf@ijw.co.nz>
Sun, 8 Feb 2015 00:54:15 +0000 (13:54 +1300)
For framebuffer completeness checks, consider renderbuffers as not
layered. Previously, they would have counted as layered if a layered
textured had previously been bound to the same attachment point. This
could cause framebuffer completeness checks to incorrectly fail with
GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS, even if no layered attachments
were present.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89026

src/mesa/main/fbobject.c

index 3305151ff2c6341409693d886d7639c52344e1f2..dae9d4ed2ebe54549b62f36ce77a3c8df4b98f29 100644 (file)
@@ -468,6 +468,7 @@ set_renderbuffer_attachment(struct gl_context *ctx,
    remove_attachment(ctx, att);
    att->Type = GL_RENDERBUFFER_EXT;
    att->Texture = NULL; /* just to be safe */
+   att->Layered = GL_FALSE;
    att->Complete = GL_FALSE;
    _mesa_reference_renderbuffer(&att->Renderbuffer, rb);
 }