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);

 			}