intel: When validating an FBO's combined depth/stencil, use the given FBO.

We were looking at the current draw buffer instead to see whether the
depth/stencil combination matched.  So you'd get told your framebuffer
was complete, until you bound it and went to draw and we decided that
it was incomplete.
(cherry picked from commit b7b2791c6b)
This commit is contained in:
Eric Anholt 2011-01-04 10:00:51 -08:00
parent 438fc337d4
commit 52586ceb2b

View file

@ -614,10 +614,10 @@ intel_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
int i;
if (depthRb && stencilRb && stencilRb != depthRb) {
if (ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Type == GL_TEXTURE &&
ctx->DrawBuffer->Attachment[BUFFER_STENCIL].Type == GL_TEXTURE &&
(ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Texture->Name ==
ctx->DrawBuffer->Attachment[BUFFER_STENCIL].Texture->Name)) {
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)) {
/* OK */
} else {
/* we only support combined depth/stencil buffers, not separate