// // Copyright (c) 2016 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // validationES31.cpp: Validation functions for OpenGL ES 3.1 entry point parameters #include "libANGLE/validationES31.h" #include "libANGLE/Context.h" #include "libANGLE/validationES.h" #include "libANGLE/validationES3.h" using namespace angle; namespace gl { bool ValidateGetBooleani_v(Context *context, GLenum target, GLuint index, GLboolean *data) { if (context->getClientVersion() < ES_3_1) { context->handleError(Error(GL_INVALID_OPERATION, "Context does not support GLES3.1")); return false; } 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->getClientVersion() < ES_3_1) { 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; } return true; } } // namespace gl