Floating point parameters should be rounded, not truncated Bug 20724899 Change-Id: I03f858ee3d159cfa2541afa1d8d063ca99701a4c Reviewed-on: https://swiftshader-review.googlesource.com/3964 Tested-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp index d357f17..b7a1b3a 100644 --- a/src/OpenGL/libGLESv2/libGLESv2.cpp +++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -5910,7 +5910,7 @@ } break; case GL_TEXTURE_BASE_LEVEL: - if(clientVersion < 3 || !texture->setBaseLevel((GLint)param)) + if(clientVersion < 3 || !texture->setBaseLevel((GLint)(roundf(param)))) { return error(GL_INVALID_VALUE); } @@ -5934,7 +5934,7 @@ } break; case GL_TEXTURE_MAX_LEVEL: - if(clientVersion < 3 || !texture->setMaxLevel((GLint)param)) + if(clientVersion < 3 || !texture->setMaxLevel((GLint)(roundf(param)))) { return error(GL_INVALID_VALUE); }