Commit 84115c92 by Jamie Madill

Keep default FBO attachments immutable.

In some cases we would let the user change the attachments of the default FBO. This hole in our validation would confound the dEQP negative API tests (negative_api.buffer.framebuffer_*) and muck up the remainder of the test run. BUG=angleproject:901 Change-Id: I2b3c04752d1df3289d41c013cc936eda30e98aad Reviewed-on: https://chromium-review.googlesource.com/266927Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 0be9a8a0
......@@ -386,11 +386,11 @@ bool ValidateFramebufferRenderbufferParameters(gl::Context *context, GLenum targ
}
gl::Framebuffer *framebuffer = context->getState().getTargetFramebuffer(target);
GLuint framebufferHandle = context->getState().getTargetFramebuffer(target)->id();
if (!framebuffer || (framebufferHandle == 0 && renderbuffer != 0))
ASSERT(framebuffer);
if (framebuffer->id() == 0)
{
context->recordError(Error(GL_INVALID_OPERATION));
context->recordError(Error(GL_INVALID_OPERATION, "Cannot change default FBO's attachments"));
return false;
}
......@@ -1735,11 +1735,11 @@ bool ValidateFramebufferTextureBase(Context *context, GLenum target, GLenum atta
}
const gl::Framebuffer *framebuffer = context->getState().getTargetFramebuffer(target);
GLuint framebufferHandle = context->getState().getTargetFramebuffer(target)->id();
ASSERT(framebuffer);
if (framebufferHandle == 0 || !framebuffer)
if (framebuffer->id() == 0)
{
context->recordError(Error(GL_INVALID_OPERATION));
context->recordError(Error(GL_INVALID_OPERATION, "Cannot change default FBO's attachments"));
return false;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment