Move state query validation out of Context.
Generate all GL errors in the validation helper functions, instead of
within the state manipulation logic and internals of Context.
BUG=angle:571
Change-Id: I7a3f540e2ae0f5f8c7126e2593717cc3200dd7e5
Reviewed-on: https://chromium-review.googlesource.com/200551
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 49a60c9..85afdd3 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -2450,12 +2450,10 @@
{
GLenum nativeType;
unsigned int numParams = 0;
- if (!context->getQueryParameterInfo(pname, &nativeType, &numParams))
- return gl::error(GL_INVALID_ENUM);
-
- // pname is valid, but there are no parameters to return
- if (numParams == 0)
+ if (!ValidateStateQuery(context, pname, &nativeType, &numParams))
+ {
return;
+ }
if (nativeType == GL_BOOL)
{
@@ -2598,12 +2596,10 @@
{
GLenum nativeType;
unsigned int numParams = 0;
- if (!context->getQueryParameterInfo(pname, &nativeType, &numParams))
- return gl::error(GL_INVALID_ENUM);
-
- // pname is valid, but that there are no parameters to return.
- if (numParams == 0)
+ if (!ValidateStateQuery(context, pname, &nativeType, &numParams))
+ {
return;
+ }
if (nativeType == GL_FLOAT)
{
@@ -2957,12 +2953,11 @@
{
GLenum nativeType;
unsigned int numParams = 0;
- if (!context->getQueryParameterInfo(pname, &nativeType, &numParams))
- return gl::error(GL_INVALID_ENUM);
- // pname is valid, but there are no parameters to return
- if (numParams == 0)
+ if (!ValidateStateQuery(context, pname, &nativeType, &numParams))
+ {
return;
+ }
if (nativeType == GL_INT)
{
@@ -8779,12 +8774,10 @@
GLenum nativeType;
unsigned int numParams = 0;
- if (!context->getQueryParameterInfo(pname, &nativeType, &numParams))
- return gl::error(GL_INVALID_ENUM);
-
- // pname is valid, but that there are no parameters to return.
- if (numParams == 0)
+ if (!ValidateStateQuery(context, pname, &nativeType, &numParams))
+ {
return;
+ }
if (nativeType == GL_INT_64_ANGLEX)
{