From: Eric Anholt Date: Tue, 12 Jul 2011 17:01:32 +0000 (-0700) Subject: intel: Clarify the depthRb == stencilRb logic. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8cf2741d2b05fd9f41eca35f0f43e6e0684d57f2;p=mesa.git intel: Clarify the depthRb == stencilRb logic. Reviewed-by: Chad Versace --- diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 1669af2c2a7..55bcc757873 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -783,22 +783,21 @@ intel_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb) * The depth and stencil renderbuffers are the same renderbuffer or wrap * the same texture. */ - bool depth_stencil_are_same; - if (depthRb && stencilRb && depthRb == stencilRb) - depth_stencil_are_same = true; - else if (depthRb && stencilRb && depthRb != stencilRb - && (fb->Attachment[BUFFER_DEPTH].Type == GL_TEXTURE) - && (fb->Attachment[BUFFER_STENCIL].Type == GL_TEXTURE) - && (fb->Attachment[BUFFER_DEPTH].Texture->Name - == fb->Attachment[BUFFER_STENCIL].Texture->Name)) - depth_stencil_are_same = true; - else - depth_stencil_are_same = false; - - if (!intel->has_separate_stencil - && depthRb && stencilRb - && !depth_stencil_are_same) { - fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT; + if (depthRb && stencilRb) { + bool depth_stencil_are_same; + if (depthRb == stencilRb) + depth_stencil_are_same = true; + else if ((fb->Attachment[BUFFER_DEPTH].Type == GL_TEXTURE) && + (fb->Attachment[BUFFER_STENCIL].Type == GL_TEXTURE) && + (fb->Attachment[BUFFER_DEPTH].Texture->Name == + fb->Attachment[BUFFER_STENCIL].Texture->Name)) + depth_stencil_are_same = true; + else + depth_stencil_are_same = false; + + if (!intel->has_separate_stencil && !depth_stencil_are_same) { + fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT; + } } for (i = 0; i < Elements(fb->Attachment); i++) {