Fix texture and sampler state queries
Round MAX_LOD / MIN_LOD values correctly according to section 6.1.2
of GLES 3.0.4, and add code for COMPARE_MODE and COMPARE_FUNC.
BUG=angleproject:1101
TEST=dEQP-GLES3.functional.state_query.texture.* (all pass),
dEQP-GLES3.functional.state_query.sampler.* (all pass)
Change-Id: I6043c308c23997513d5de70510a0267419dd1868
Reviewed-on: https://chromium-review.googlesource.com/330112
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index 5aad808..cd860d7 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -1930,8 +1930,8 @@
case GL_TEXTURE_WRAP_T: return static_cast<GLint>(samplerObject->getWrapT());
case GL_TEXTURE_WRAP_R: return static_cast<GLint>(samplerObject->getWrapR());
case GL_TEXTURE_MAX_ANISOTROPY_EXT: return static_cast<GLint>(samplerObject->getMaxAnisotropy());
- case GL_TEXTURE_MIN_LOD: return uiround<GLint>(samplerObject->getMinLod());
- case GL_TEXTURE_MAX_LOD: return uiround<GLint>(samplerObject->getMaxLod());
+ case GL_TEXTURE_MIN_LOD: return iround<GLint>(samplerObject->getMinLod());
+ case GL_TEXTURE_MAX_LOD: return iround<GLint>(samplerObject->getMaxLod());
case GL_TEXTURE_COMPARE_MODE: return static_cast<GLint>(samplerObject->getCompareMode());
case GL_TEXTURE_COMPARE_FUNC: return static_cast<GLint>(samplerObject->getCompareFunc());
default: UNREACHABLE(); return 0;