Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / angle / src / libGLESv2 / validationES3.h
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
12 namespace gl
13 {
14
15 class Context;
16
17 bool 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
21 bool 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
25 bool ValidateES3TexStorageParameters(gl::Context *context, GLenum target, GLsizei levels, GLenum internalformat,
26                                      GLsizei width, GLsizei height, GLsizei depth);
27
28 bool ValidateFramebufferTextureLayer(const gl::Context *context, GLenum target, GLenum attachment,
29                                      GLuint texture, GLint level, GLint layer);
30
31 bool ValidES3ReadFormatType(gl::Context *context, GLenum internalFormat, GLenum format, GLenum type);
32
33 bool ValidateInvalidateFramebufferParameters(gl::Context *context, GLenum target, GLsizei numAttachments,
34                                              const GLenum* attachments);
35
36 bool ValidateClearBuffer(const gl::Context *context);
37
38 }
39
40 #endif // LIBGLESV2_VALIDATION_ES3_H