Implement remaining robust Get entry points.
BUG=angleproject:1354
Change-Id: I204962a7178d47a43034d0213c81b82d8f6a25be
Reviewed-on: https://chromium-review.googlesource.com/399043
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/validationES31.cpp b/src/libANGLE/validationES31.cpp
index f740609..7d5bb4f 100644
--- a/src/libANGLE/validationES31.cpp
+++ b/src/libANGLE/validationES31.cpp
@@ -6,10 +6,11 @@
// validationES31.cpp: Validation functions for OpenGL ES 3.1 entry point parameters
-#include "libANGLE/validationES3.h"
#include "libANGLE/validationES31.h"
#include "libANGLE/Context.h"
+#include "libANGLE/validationES.h"
+#include "libANGLE/validationES3.h"
using namespace angle;
@@ -24,7 +25,38 @@
return false;
}
- if (!ValidateIndexedStateQuery(context, target, index))
+ if (!ValidateIndexedStateQuery(context, target, index, nullptr))
+ {
+ return false;
+ }
+
+ return true;
+}
+
+bool ValidateGetBooleani_vRobustANGLE(Context *context,
+ GLenum target,
+ GLuint index,
+ GLsizei bufSize,
+ GLsizei *length,
+ GLboolean *data)
+{
+ if (!context->getGLVersion().isES31())
+ {
+ context->handleError(Error(GL_INVALID_OPERATION, "Context does not support GLES3.1"));
+ return false;
+ }
+
+ if (!ValidateRobustEntryPoint(context, bufSize))
+ {
+ return false;
+ }
+
+ if (!ValidateIndexedStateQuery(context, target, index, length))
+ {
+ return false;
+ }
+
+ if (!ValidateRobustBufferSize(context, bufSize, *length))
{
return false;
}