1//
2// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6
7// validationES3.h: Validation functions for OpenGL ES 3.0 entry point parameters
8
9#ifndef LIBGLESV2_VALIDATION_ES3_H
10#define LIBGLESV2_VALIDATION_ES3_H
11
12namespace gl
13{
14
15class Context;
16
17bool ValidateES3TexImageParameters(gl::Context *context, GLenum target, GLint level, GLenum internalformat, bool isCompressed, bool isSubImage,
18                                   GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
19                                   GLint border, GLenum format, GLenum type, const GLvoid *pixels);
20
21bool ValidateES3CopyTexImageParameters(gl::Context *context, GLenum target, GLint level, GLenum internalformat,
22                                       bool isSubImage, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y,
23                                       GLsizei width, GLsizei height, GLint border);
24
25bool ValidateES3TexStorageParameters(gl::Context *context, GLenum target, GLsizei levels, GLenum internalformat,
26                                     GLsizei width, GLsizei height, GLsizei depth);
27
28bool ValidateES3FramebufferTextureParameters(gl::Context *context, GLenum target, GLenum attachment,
29                                             GLenum textarget, GLuint texture, GLint level, GLint layer,
30                                             bool layerCall);
31
32bool ValidES3ReadFormatType(gl::Context *context, GLenum internalFormat, GLenum format, GLenum type);
33
34bool ValidateInvalidateFramebufferParameters(gl::Context *context, GLenum target, GLsizei numAttachments,
35                                             const GLenum* attachments);
36
37}
38
39#endif // LIBGLESV2_VALIDATION_ES3_H
40