Make conversion from GL types to native bools consistant.
Some places would compare with "== GL_TRUE" and others with "!= GL_FALSE".
This behaviour is not in the OpenGL spec but "!= GL_FALSE" is the most
standard and follows the same rules as C and C++.
Remove un-necessary validation that params are either GL_TRUE or
GL_FALSE.
Update some internal storage from GLboolean to bool.
BUG=angleproject:2258
Change-Id: I12adbe2d24318a206521ca6ad1099ee7e2bf677e
Reviewed-on: https://chromium-review.googlesource.com/779799
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/queryutils.cpp b/src/libANGLE/queryutils.cpp
index 41172d6..ab07b57 100644
--- a/src/libANGLE/queryutils.cpp
+++ b/src/libANGLE/queryutils.cpp
@@ -1228,7 +1228,7 @@
*params = framebuffer->getDefaultSamples();
break;
case GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS:
- *params = framebuffer->getDefaultFixedSampleLocations();
+ *params = ConvertToGLBoolean(framebuffer->getDefaultFixedSampleLocations());
break;
default:
UNREACHABLE();
@@ -1349,10 +1349,10 @@
switch (pname)
{
case GL_PROGRAM_BINARY_RETRIEVABLE_HINT:
- program->setBinaryRetrievableHint(value != GL_FALSE);
+ program->setBinaryRetrievableHint(ConvertToBool(value));
break;
case GL_PROGRAM_SEPARABLE:
- program->setSeparable(value != GL_FALSE);
+ program->setSeparable(ConvertToBool(value));
break;
default:
UNREACHABLE();