Commit e5f3d7f6 by Nicolas Capens

Fix framebuffer attachment parameter query error.

OpenGL ES 2.0 expects GL_INVALID_OPERATION when querying default framebuffer attachment parameters. Change-Id: Ie0e0c35ad835e06b16c7aaaea48f7ec7eb64c663 Reviewed-on: https://swiftshader-review.googlesource.com/5124Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent b5e346f5
......@@ -2730,30 +2730,33 @@ void GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenu
if(context)
{
if(target != GL_FRAMEBUFFER && target != GL_DRAW_FRAMEBUFFER_ANGLE && target != GL_READ_FRAMEBUFFER_ANGLE)
if(target != GL_FRAMEBUFFER && target != GL_DRAW_FRAMEBUFFER && target != GL_READ_FRAMEBUFFER)
{
return error(GL_INVALID_ENUM);
}
GLint clientVersion = context->getClientVersion();
es2::Framebuffer *framebuffer = NULL;
if(target == GL_READ_FRAMEBUFFER_ANGLE)
es2::Framebuffer *framebuffer = nullptr;
if(target == GL_READ_FRAMEBUFFER)
{
if(context->getReadFramebufferName() == 0)
{
switch(attachment)
if(clientVersion < 3)
{
return error(GL_INVALID_OPERATION);
}
else
{
case GL_BACK:
case GL_DEPTH:
case GL_STENCIL:
if(clientVersion >= 3)
switch(attachment)
{
case GL_BACK:
case GL_DEPTH:
case GL_STENCIL:
break;
default:
return error(GL_INVALID_ENUM);
}
// fall through
default:
return error(GL_INVALID_ENUM);
}
}
......@@ -2763,18 +2766,21 @@ void GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenu
{
if(context->getDrawFramebufferName() == 0)
{
switch(attachment)
if(clientVersion < 3)
{
return error(GL_INVALID_OPERATION);
}
else
{
case GL_BACK:
case GL_DEPTH:
case GL_STENCIL:
if(clientVersion >= 3)
switch(attachment)
{
case GL_BACK:
case GL_DEPTH:
case GL_STENCIL:
break;
default:
return error(GL_INVALID_ENUM);
}
// fall through
default:
return error(GL_INVALID_ENUM);
}
}
......
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