Untangle internal & implementation format. Textures and renderbuffers were storing both the OpenGL internalformat and the SwiftShader implementation format (i.e. sw::Format). This change removes the implementation format, only keeping it in the Image class. Change-Id: Ie6ac96f6450b9a55ea9b49c6cf4b2c0681e95522 Reviewed-on: https://swiftshader-review.googlesource.com/14528 Tested-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp index 08abb33..8f8ccdf 100644 --- a/src/OpenGL/libGLESv2/libGLESv2.cpp +++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -2285,7 +2285,7 @@ return error(GL_INVALID_OPERATION); } - if(!IsMipmappable(texture->getFormat(target, 0), texture->getInternalFormat(target, 0), clientVersion)) + if(!IsMipmappable(texture->getFormat(target, 0), clientVersion)) { return error(GL_INVALID_OPERATION); } @@ -3019,7 +3019,7 @@ return error(GL_INVALID_OPERATION); } - *params = sw2es::GetComponentType(renderbuffer->getInternalFormat(), attachment); + *params = GetComponentType(renderbuffer->getFormat(), attachment); break; case GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: if(clientVersion >= 3) @@ -6319,7 +6319,7 @@ return error(GL_INVALID_ENUM); } - if(internalformat != (GLint)format) + if(internalformat != format) { return error(GL_INVALID_OPERATION); }