| // | |
| // 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->getGLVersion().isES31()) | |
| { | |
| 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->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; | |
| } | |
| return true; | |
| } | |
| } // namespace gl |