1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by generate_entry_points.py using data from gl.xml.
3 //
4 // Copyright 2020 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // validationGL3_autogen.h:
9 //   Validation functions for the OpenGL Desktop GL 3.x entry points.
10 
11 #ifndef LIBANGLE_VALIDATION_GL3_AUTOGEN_H_
12 #define LIBANGLE_VALIDATION_GL3_AUTOGEN_H_
13 
14 #include "common/PackedEnums.h"
15 
16 namespace gl
17 {
18 class Context;
19 
20 // GL 3.0
21 bool ValidateBeginConditionalRender(const Context *context, GLuint id, GLenum mode);
22 bool ValidateBindFragDataLocation(const Context *context,
23                                   ShaderProgramID programPacked,
24                                   GLuint color,
25                                   const GLchar *name);
26 bool ValidateClampColor(const Context *context, GLenum target, GLenum clamp);
27 bool ValidateEndConditionalRender(const Context *context);
28 bool ValidateFramebufferTexture1D(const Context *context,
29                                   GLenum target,
30                                   GLenum attachment,
31                                   TextureTarget textargetPacked,
32                                   TextureID texturePacked,
33                                   GLint level);
34 bool ValidateFramebufferTexture3D(const Context *context,
35                                   GLenum target,
36                                   GLenum attachment,
37                                   TextureTarget textargetPacked,
38                                   TextureID texturePacked,
39                                   GLint level,
40                                   GLint zoffset);
41 bool ValidateVertexAttribI1i(const Context *context, GLuint index, GLint x);
42 bool ValidateVertexAttribI1iv(const Context *context, GLuint index, const GLint *v);
43 bool ValidateVertexAttribI1ui(const Context *context, GLuint index, GLuint x);
44 bool ValidateVertexAttribI1uiv(const Context *context, GLuint index, const GLuint *v);
45 bool ValidateVertexAttribI2i(const Context *context, GLuint index, GLint x, GLint y);
46 bool ValidateVertexAttribI2iv(const Context *context, GLuint index, const GLint *v);
47 bool ValidateVertexAttribI2ui(const Context *context, GLuint index, GLuint x, GLuint y);
48 bool ValidateVertexAttribI2uiv(const Context *context, GLuint index, const GLuint *v);
49 bool ValidateVertexAttribI3i(const Context *context, GLuint index, GLint x, GLint y, GLint z);
50 bool ValidateVertexAttribI3iv(const Context *context, GLuint index, const GLint *v);
51 bool ValidateVertexAttribI3ui(const Context *context, GLuint index, GLuint x, GLuint y, GLuint z);
52 bool ValidateVertexAttribI3uiv(const Context *context, GLuint index, const GLuint *v);
53 bool ValidateVertexAttribI4bv(const Context *context, GLuint index, const GLbyte *v);
54 bool ValidateVertexAttribI4sv(const Context *context, GLuint index, const GLshort *v);
55 bool ValidateVertexAttribI4ubv(const Context *context, GLuint index, const GLubyte *v);
56 bool ValidateVertexAttribI4usv(const Context *context, GLuint index, const GLushort *v);
57 
58 // GL 3.1
59 bool ValidateGetActiveUniformName(const Context *context,
60                                   ShaderProgramID programPacked,
61                                   GLuint uniformIndex,
62                                   GLsizei bufSize,
63                                   const GLsizei *length,
64                                   const GLchar *uniformName);
65 bool ValidatePrimitiveRestartIndex(const Context *context, GLuint index);
66 
67 // GL 3.2
68 bool ValidateMultiDrawElementsBaseVertex(const Context *context,
69                                          PrimitiveMode modePacked,
70                                          const GLsizei *count,
71                                          DrawElementsType typePacked,
72                                          const void *const *indices,
73                                          GLsizei drawcount,
74                                          const GLint *basevertex);
75 bool ValidateProvokingVertex(const Context *context, ProvokingVertexConvention modePacked);
76 bool ValidateTexImage2DMultisample(const Context *context,
77                                    GLenum target,
78                                    GLsizei samples,
79                                    GLenum internalformat,
80                                    GLsizei width,
81                                    GLsizei height,
82                                    GLboolean fixedsamplelocations);
83 bool ValidateTexImage3DMultisample(const Context *context,
84                                    GLenum target,
85                                    GLsizei samples,
86                                    GLenum internalformat,
87                                    GLsizei width,
88                                    GLsizei height,
89                                    GLsizei depth,
90                                    GLboolean fixedsamplelocations);
91 
92 // GL 3.3
93 bool ValidateBindFragDataLocationIndexed(const Context *context,
94                                          ShaderProgramID programPacked,
95                                          GLuint colorNumber,
96                                          GLuint index,
97                                          const GLchar *name);
98 bool ValidateColorP3ui(const Context *context, GLenum type, GLuint color);
99 bool ValidateColorP3uiv(const Context *context, GLenum type, const GLuint *color);
100 bool ValidateColorP4ui(const Context *context, GLenum type, GLuint color);
101 bool ValidateColorP4uiv(const Context *context, GLenum type, const GLuint *color);
102 bool ValidateGetFragDataIndex(const Context *context,
103                               ShaderProgramID programPacked,
104                               const GLchar *name);
105 bool ValidateGetQueryObjecti64v(const Context *context,
106                                 QueryID idPacked,
107                                 GLenum pname,
108                                 const GLint64 *params);
109 bool ValidateGetQueryObjectui64v(const Context *context,
110                                  QueryID idPacked,
111                                  GLenum pname,
112                                  const GLuint64 *params);
113 bool ValidateMultiTexCoordP1ui(const Context *context, GLenum texture, GLenum type, GLuint coords);
114 bool ValidateMultiTexCoordP1uiv(const Context *context,
115                                 GLenum texture,
116                                 GLenum type,
117                                 const GLuint *coords);
118 bool ValidateMultiTexCoordP2ui(const Context *context, GLenum texture, GLenum type, GLuint coords);
119 bool ValidateMultiTexCoordP2uiv(const Context *context,
120                                 GLenum texture,
121                                 GLenum type,
122                                 const GLuint *coords);
123 bool ValidateMultiTexCoordP3ui(const Context *context, GLenum texture, GLenum type, GLuint coords);
124 bool ValidateMultiTexCoordP3uiv(const Context *context,
125                                 GLenum texture,
126                                 GLenum type,
127                                 const GLuint *coords);
128 bool ValidateMultiTexCoordP4ui(const Context *context, GLenum texture, GLenum type, GLuint coords);
129 bool ValidateMultiTexCoordP4uiv(const Context *context,
130                                 GLenum texture,
131                                 GLenum type,
132                                 const GLuint *coords);
133 bool ValidateNormalP3ui(const Context *context, GLenum type, GLuint coords);
134 bool ValidateNormalP3uiv(const Context *context, GLenum type, const GLuint *coords);
135 bool ValidateQueryCounter(const Context *context, QueryID idPacked, QueryType targetPacked);
136 bool ValidateSecondaryColorP3ui(const Context *context, GLenum type, GLuint color);
137 bool ValidateSecondaryColorP3uiv(const Context *context, GLenum type, const GLuint *color);
138 bool ValidateTexCoordP1ui(const Context *context, GLenum type, GLuint coords);
139 bool ValidateTexCoordP1uiv(const Context *context, GLenum type, const GLuint *coords);
140 bool ValidateTexCoordP2ui(const Context *context, GLenum type, GLuint coords);
141 bool ValidateTexCoordP2uiv(const Context *context, GLenum type, const GLuint *coords);
142 bool ValidateTexCoordP3ui(const Context *context, GLenum type, GLuint coords);
143 bool ValidateTexCoordP3uiv(const Context *context, GLenum type, const GLuint *coords);
144 bool ValidateTexCoordP4ui(const Context *context, GLenum type, GLuint coords);
145 bool ValidateTexCoordP4uiv(const Context *context, GLenum type, const GLuint *coords);
146 bool ValidateVertexAttribP1ui(const Context *context,
147                               GLuint index,
148                               GLenum type,
149                               GLboolean normalized,
150                               GLuint value);
151 bool ValidateVertexAttribP1uiv(const Context *context,
152                                GLuint index,
153                                GLenum type,
154                                GLboolean normalized,
155                                const GLuint *value);
156 bool ValidateVertexAttribP2ui(const Context *context,
157                               GLuint index,
158                               GLenum type,
159                               GLboolean normalized,
160                               GLuint value);
161 bool ValidateVertexAttribP2uiv(const Context *context,
162                                GLuint index,
163                                GLenum type,
164                                GLboolean normalized,
165                                const GLuint *value);
166 bool ValidateVertexAttribP3ui(const Context *context,
167                               GLuint index,
168                               GLenum type,
169                               GLboolean normalized,
170                               GLuint value);
171 bool ValidateVertexAttribP3uiv(const Context *context,
172                                GLuint index,
173                                GLenum type,
174                                GLboolean normalized,
175                                const GLuint *value);
176 bool ValidateVertexAttribP4ui(const Context *context,
177                               GLuint index,
178                               GLenum type,
179                               GLboolean normalized,
180                               GLuint value);
181 bool ValidateVertexAttribP4uiv(const Context *context,
182                                GLuint index,
183                                GLenum type,
184                                GLboolean normalized,
185                                const GLuint *value);
186 bool ValidateVertexP2ui(const Context *context, GLenum type, GLuint value);
187 bool ValidateVertexP2uiv(const Context *context, GLenum type, const GLuint *value);
188 bool ValidateVertexP3ui(const Context *context, GLenum type, GLuint value);
189 bool ValidateVertexP3uiv(const Context *context, GLenum type, const GLuint *value);
190 bool ValidateVertexP4ui(const Context *context, GLenum type, GLuint value);
191 bool ValidateVertexP4uiv(const Context *context, GLenum type, const GLuint *value);
192 }  // namespace gl
193 
194 #endif  // LIBANGLE_VALIDATION_GL3_AUTOGEN_H_
195