xref: /aosp_15_r20/external/angle/src/libANGLE/validationES31.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2018 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker // validationES31.h:
7*8975f5c5SAndroid Build Coastguard Worker //  Inlined validation functions for OpenGL ES 3.1 entry points.
8*8975f5c5SAndroid Build Coastguard Worker 
9*8975f5c5SAndroid Build Coastguard Worker #ifndef LIBANGLE_VALIDATION_ES31_H_
10*8975f5c5SAndroid Build Coastguard Worker #define LIBANGLE_VALIDATION_ES31_H_
11*8975f5c5SAndroid Build Coastguard Worker 
12*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/ErrorStrings.h"
13*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/validationES31_autogen.h"
14*8975f5c5SAndroid Build Coastguard Worker 
15*8975f5c5SAndroid Build Coastguard Worker namespace gl
16*8975f5c5SAndroid Build Coastguard Worker {
17*8975f5c5SAndroid Build Coastguard Worker 
18*8975f5c5SAndroid Build Coastguard Worker bool ValidateTexBufferBase(const Context *context,
19*8975f5c5SAndroid Build Coastguard Worker                            angle::EntryPoint entryPoint,
20*8975f5c5SAndroid Build Coastguard Worker                            TextureType target,
21*8975f5c5SAndroid Build Coastguard Worker                            GLenum internalformat,
22*8975f5c5SAndroid Build Coastguard Worker                            BufferID bufferPacked);
23*8975f5c5SAndroid Build Coastguard Worker bool ValidateTexBufferRangeBase(const Context *context,
24*8975f5c5SAndroid Build Coastguard Worker                                 angle::EntryPoint entryPoint,
25*8975f5c5SAndroid Build Coastguard Worker                                 TextureType target,
26*8975f5c5SAndroid Build Coastguard Worker                                 GLenum internalformat,
27*8975f5c5SAndroid Build Coastguard Worker                                 BufferID bufferPacked,
28*8975f5c5SAndroid Build Coastguard Worker                                 GLintptr offset,
29*8975f5c5SAndroid Build Coastguard Worker                                 GLsizeiptr size);
30*8975f5c5SAndroid Build Coastguard Worker 
31*8975f5c5SAndroid Build Coastguard Worker // GL_EXT_geometry_shader
32*8975f5c5SAndroid Build Coastguard Worker bool ValidateFramebufferTextureCommon(const Context *context,
33*8975f5c5SAndroid Build Coastguard Worker                                       angle::EntryPoint entryPoint,
34*8975f5c5SAndroid Build Coastguard Worker                                       GLenum target,
35*8975f5c5SAndroid Build Coastguard Worker                                       GLenum attachment,
36*8975f5c5SAndroid Build Coastguard Worker                                       TextureID texture,
37*8975f5c5SAndroid Build Coastguard Worker                                       GLint level);
38*8975f5c5SAndroid Build Coastguard Worker 
39*8975f5c5SAndroid Build Coastguard Worker // GL_EXT_multi_draw_indirect
40*8975f5c5SAndroid Build Coastguard Worker bool ValidateMultiDrawIndirectBase(const Context *context,
41*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
42*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei drawcount,
43*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei stride);
44*8975f5c5SAndroid Build Coastguard Worker 
45*8975f5c5SAndroid Build Coastguard Worker // GL_EXT_separate_shader_objects
46*8975f5c5SAndroid Build Coastguard Worker bool ValidateActiveShaderProgramBase(const Context *context,
47*8975f5c5SAndroid Build Coastguard Worker                                      angle::EntryPoint entryPoint,
48*8975f5c5SAndroid Build Coastguard Worker                                      ProgramPipelineID pipelinePacked,
49*8975f5c5SAndroid Build Coastguard Worker                                      ShaderProgramID programPacked);
50*8975f5c5SAndroid Build Coastguard Worker bool ValidateBindProgramPipelineBase(const Context *context,
51*8975f5c5SAndroid Build Coastguard Worker                                      angle::EntryPoint entryPoint,
52*8975f5c5SAndroid Build Coastguard Worker                                      ProgramPipelineID pipelinePacked);
53*8975f5c5SAndroid Build Coastguard Worker bool ValidateCreateShaderProgramvBase(const Context *context,
54*8975f5c5SAndroid Build Coastguard Worker                                       angle::EntryPoint entryPoint,
55*8975f5c5SAndroid Build Coastguard Worker                                       ShaderType typePacked,
56*8975f5c5SAndroid Build Coastguard Worker                                       GLsizei count,
57*8975f5c5SAndroid Build Coastguard Worker                                       const GLchar **strings);
58*8975f5c5SAndroid Build Coastguard Worker bool ValidateDeleteProgramPipelinesBase(const Context *context,
59*8975f5c5SAndroid Build Coastguard Worker                                         angle::EntryPoint entryPoint,
60*8975f5c5SAndroid Build Coastguard Worker                                         GLsizei n,
61*8975f5c5SAndroid Build Coastguard Worker                                         const ProgramPipelineID *pipelinesPacked);
62*8975f5c5SAndroid Build Coastguard Worker bool ValidateGenProgramPipelinesBase(const Context *context,
63*8975f5c5SAndroid Build Coastguard Worker                                      angle::EntryPoint entryPoint,
64*8975f5c5SAndroid Build Coastguard Worker                                      GLsizei n,
65*8975f5c5SAndroid Build Coastguard Worker                                      const ProgramPipelineID *pipelinesPacked);
66*8975f5c5SAndroid Build Coastguard Worker bool ValidateGetProgramPipelineInfoLogBase(const Context *context,
67*8975f5c5SAndroid Build Coastguard Worker                                            angle::EntryPoint entryPoint,
68*8975f5c5SAndroid Build Coastguard Worker                                            ProgramPipelineID pipelinePacked,
69*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei bufSize,
70*8975f5c5SAndroid Build Coastguard Worker                                            const GLsizei *length,
71*8975f5c5SAndroid Build Coastguard Worker                                            const GLchar *infoLog);
72*8975f5c5SAndroid Build Coastguard Worker bool ValidateGetProgramPipelineivBase(const Context *context,
73*8975f5c5SAndroid Build Coastguard Worker                                       angle::EntryPoint entryPoint,
74*8975f5c5SAndroid Build Coastguard Worker                                       ProgramPipelineID pipelinePacked,
75*8975f5c5SAndroid Build Coastguard Worker                                       GLenum pname,
76*8975f5c5SAndroid Build Coastguard Worker                                       const GLint *params);
77*8975f5c5SAndroid Build Coastguard Worker bool ValidateIsProgramPipelineBase(const Context *context,
78*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
79*8975f5c5SAndroid Build Coastguard Worker                                    ProgramPipelineID pipelinePacked);
80*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramParameteriBase(const Context *context,
81*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
82*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
83*8975f5c5SAndroid Build Coastguard Worker                                    GLenum pname,
84*8975f5c5SAndroid Build Coastguard Worker                                    GLint value);
85*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform1fBase(const Context *context,
86*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
87*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
88*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
89*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v0);
90*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform1fvBase(const Context *context,
91*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
92*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
93*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
94*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
95*8975f5c5SAndroid Build Coastguard Worker                                    const GLfloat *value);
96*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform1iBase(const Context *context,
97*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
98*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
99*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
100*8975f5c5SAndroid Build Coastguard Worker                                   GLint v0);
101*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform1ivBase(const Context *context,
102*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
103*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
104*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
105*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
106*8975f5c5SAndroid Build Coastguard Worker                                    const GLint *value);
107*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform1uiBase(const Context *context,
108*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
109*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
110*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
111*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v0);
112*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform1uivBase(const Context *context,
113*8975f5c5SAndroid Build Coastguard Worker                                     angle::EntryPoint entryPoint,
114*8975f5c5SAndroid Build Coastguard Worker                                     ShaderProgramID programPacked,
115*8975f5c5SAndroid Build Coastguard Worker                                     UniformLocation locationPacked,
116*8975f5c5SAndroid Build Coastguard Worker                                     GLsizei count,
117*8975f5c5SAndroid Build Coastguard Worker                                     const GLuint *value);
118*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform2fBase(const Context *context,
119*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
120*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
121*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
122*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v0,
123*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v1);
124*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform2fvBase(const Context *context,
125*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
126*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
127*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
128*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
129*8975f5c5SAndroid Build Coastguard Worker                                    const GLfloat *value);
130*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform2iBase(const Context *context,
131*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
132*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
133*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
134*8975f5c5SAndroid Build Coastguard Worker                                   GLint v0,
135*8975f5c5SAndroid Build Coastguard Worker                                   GLint v1);
136*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform2ivBase(const Context *context,
137*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
138*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
139*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
140*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
141*8975f5c5SAndroid Build Coastguard Worker                                    const GLint *value);
142*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform2uiBase(const Context *context,
143*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
144*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
145*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
146*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v0,
147*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v1);
148*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform2uivBase(const Context *context,
149*8975f5c5SAndroid Build Coastguard Worker                                     angle::EntryPoint entryPoint,
150*8975f5c5SAndroid Build Coastguard Worker                                     ShaderProgramID programPacked,
151*8975f5c5SAndroid Build Coastguard Worker                                     UniformLocation locationPacked,
152*8975f5c5SAndroid Build Coastguard Worker                                     GLsizei count,
153*8975f5c5SAndroid Build Coastguard Worker                                     const GLuint *value);
154*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform3fBase(const Context *context,
155*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
156*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
157*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
158*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v0,
159*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v1,
160*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v2);
161*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform3fvBase(const Context *context,
162*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
163*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
164*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
165*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
166*8975f5c5SAndroid Build Coastguard Worker                                    const GLfloat *value);
167*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform3iBase(const Context *context,
168*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
169*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
170*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
171*8975f5c5SAndroid Build Coastguard Worker                                   GLint v0,
172*8975f5c5SAndroid Build Coastguard Worker                                   GLint v1,
173*8975f5c5SAndroid Build Coastguard Worker                                   GLint v2);
174*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform3ivBase(const Context *context,
175*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
176*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
177*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
178*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
179*8975f5c5SAndroid Build Coastguard Worker                                    const GLint *value);
180*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform3uiBase(const Context *context,
181*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
182*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
183*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
184*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v0,
185*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v1,
186*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v2);
187*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform3uivBase(const Context *context,
188*8975f5c5SAndroid Build Coastguard Worker                                     angle::EntryPoint entryPoint,
189*8975f5c5SAndroid Build Coastguard Worker                                     ShaderProgramID programPacked,
190*8975f5c5SAndroid Build Coastguard Worker                                     UniformLocation locationPacked,
191*8975f5c5SAndroid Build Coastguard Worker                                     GLsizei count,
192*8975f5c5SAndroid Build Coastguard Worker                                     const GLuint *value);
193*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform4fBase(const Context *context,
194*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
195*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
196*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
197*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v0,
198*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v1,
199*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v2,
200*8975f5c5SAndroid Build Coastguard Worker                                   GLfloat v3);
201*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform4fvBase(const Context *context,
202*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
203*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
204*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
205*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
206*8975f5c5SAndroid Build Coastguard Worker                                    const GLfloat *value);
207*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform4iBase(const Context *context,
208*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
209*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked,
210*8975f5c5SAndroid Build Coastguard Worker                                   UniformLocation locationPacked,
211*8975f5c5SAndroid Build Coastguard Worker                                   GLint v0,
212*8975f5c5SAndroid Build Coastguard Worker                                   GLint v1,
213*8975f5c5SAndroid Build Coastguard Worker                                   GLint v2,
214*8975f5c5SAndroid Build Coastguard Worker                                   GLint v3);
215*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform4ivBase(const Context *context,
216*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
217*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
218*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
219*8975f5c5SAndroid Build Coastguard Worker                                    GLsizei count,
220*8975f5c5SAndroid Build Coastguard Worker                                    const GLint *value);
221*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform4uiBase(const Context *context,
222*8975f5c5SAndroid Build Coastguard Worker                                    angle::EntryPoint entryPoint,
223*8975f5c5SAndroid Build Coastguard Worker                                    ShaderProgramID programPacked,
224*8975f5c5SAndroid Build Coastguard Worker                                    UniformLocation locationPacked,
225*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v0,
226*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v1,
227*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v2,
228*8975f5c5SAndroid Build Coastguard Worker                                    GLuint v3);
229*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniform4uivBase(const Context *context,
230*8975f5c5SAndroid Build Coastguard Worker                                     angle::EntryPoint entryPoint,
231*8975f5c5SAndroid Build Coastguard Worker                                     ShaderProgramID programPacked,
232*8975f5c5SAndroid Build Coastguard Worker                                     UniformLocation locationPacked,
233*8975f5c5SAndroid Build Coastguard Worker                                     GLsizei count,
234*8975f5c5SAndroid Build Coastguard Worker                                     const GLuint *value);
235*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix2fvBase(const Context *context,
236*8975f5c5SAndroid Build Coastguard Worker                                          angle::EntryPoint entryPoint,
237*8975f5c5SAndroid Build Coastguard Worker                                          ShaderProgramID programPacked,
238*8975f5c5SAndroid Build Coastguard Worker                                          UniformLocation locationPacked,
239*8975f5c5SAndroid Build Coastguard Worker                                          GLsizei count,
240*8975f5c5SAndroid Build Coastguard Worker                                          GLboolean transpose,
241*8975f5c5SAndroid Build Coastguard Worker                                          const GLfloat *value);
242*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix2x3fvBase(const Context *context,
243*8975f5c5SAndroid Build Coastguard Worker                                            angle::EntryPoint entryPoint,
244*8975f5c5SAndroid Build Coastguard Worker                                            ShaderProgramID programPacked,
245*8975f5c5SAndroid Build Coastguard Worker                                            UniformLocation locationPacked,
246*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei count,
247*8975f5c5SAndroid Build Coastguard Worker                                            GLboolean transpose,
248*8975f5c5SAndroid Build Coastguard Worker                                            const GLfloat *value);
249*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix2x4fvBase(const Context *context,
250*8975f5c5SAndroid Build Coastguard Worker                                            angle::EntryPoint entryPoint,
251*8975f5c5SAndroid Build Coastguard Worker                                            ShaderProgramID programPacked,
252*8975f5c5SAndroid Build Coastguard Worker                                            UniformLocation locationPacked,
253*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei count,
254*8975f5c5SAndroid Build Coastguard Worker                                            GLboolean transpose,
255*8975f5c5SAndroid Build Coastguard Worker                                            const GLfloat *value);
256*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix3fvBase(const Context *context,
257*8975f5c5SAndroid Build Coastguard Worker                                          angle::EntryPoint entryPoint,
258*8975f5c5SAndroid Build Coastguard Worker                                          ShaderProgramID programPacked,
259*8975f5c5SAndroid Build Coastguard Worker                                          UniformLocation locationPacked,
260*8975f5c5SAndroid Build Coastguard Worker                                          GLsizei count,
261*8975f5c5SAndroid Build Coastguard Worker                                          GLboolean transpose,
262*8975f5c5SAndroid Build Coastguard Worker                                          const GLfloat *value);
263*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix3x2fvBase(const Context *context,
264*8975f5c5SAndroid Build Coastguard Worker                                            angle::EntryPoint entryPoint,
265*8975f5c5SAndroid Build Coastguard Worker                                            ShaderProgramID programPacked,
266*8975f5c5SAndroid Build Coastguard Worker                                            UniformLocation locationPacked,
267*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei count,
268*8975f5c5SAndroid Build Coastguard Worker                                            GLboolean transpose,
269*8975f5c5SAndroid Build Coastguard Worker                                            const GLfloat *value);
270*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix3x4fvBase(const Context *context,
271*8975f5c5SAndroid Build Coastguard Worker                                            angle::EntryPoint entryPoint,
272*8975f5c5SAndroid Build Coastguard Worker                                            ShaderProgramID programPacked,
273*8975f5c5SAndroid Build Coastguard Worker                                            UniformLocation locationPacked,
274*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei count,
275*8975f5c5SAndroid Build Coastguard Worker                                            GLboolean transpose,
276*8975f5c5SAndroid Build Coastguard Worker                                            const GLfloat *value);
277*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix4fvBase(const Context *context,
278*8975f5c5SAndroid Build Coastguard Worker                                          angle::EntryPoint entryPoint,
279*8975f5c5SAndroid Build Coastguard Worker                                          ShaderProgramID programPacked,
280*8975f5c5SAndroid Build Coastguard Worker                                          UniformLocation locationPacked,
281*8975f5c5SAndroid Build Coastguard Worker                                          GLsizei count,
282*8975f5c5SAndroid Build Coastguard Worker                                          GLboolean transpose,
283*8975f5c5SAndroid Build Coastguard Worker                                          const GLfloat *value);
284*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix4x2fvBase(const Context *context,
285*8975f5c5SAndroid Build Coastguard Worker                                            angle::EntryPoint entryPoint,
286*8975f5c5SAndroid Build Coastguard Worker                                            ShaderProgramID programPacked,
287*8975f5c5SAndroid Build Coastguard Worker                                            UniformLocation locationPacked,
288*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei count,
289*8975f5c5SAndroid Build Coastguard Worker                                            GLboolean transpose,
290*8975f5c5SAndroid Build Coastguard Worker                                            const GLfloat *value);
291*8975f5c5SAndroid Build Coastguard Worker bool ValidateProgramUniformMatrix4x3fvBase(const Context *context,
292*8975f5c5SAndroid Build Coastguard Worker                                            angle::EntryPoint entryPoint,
293*8975f5c5SAndroid Build Coastguard Worker                                            ShaderProgramID programPacked,
294*8975f5c5SAndroid Build Coastguard Worker                                            UniformLocation locationPacked,
295*8975f5c5SAndroid Build Coastguard Worker                                            GLsizei count,
296*8975f5c5SAndroid Build Coastguard Worker                                            GLboolean transpose,
297*8975f5c5SAndroid Build Coastguard Worker                                            const GLfloat *value);
298*8975f5c5SAndroid Build Coastguard Worker bool ValidateUseProgramStagesBase(const Context *context,
299*8975f5c5SAndroid Build Coastguard Worker                                   angle::EntryPoint entryPoint,
300*8975f5c5SAndroid Build Coastguard Worker                                   ProgramPipelineID pipelinePacked,
301*8975f5c5SAndroid Build Coastguard Worker                                   GLbitfield stages,
302*8975f5c5SAndroid Build Coastguard Worker                                   ShaderProgramID programPacked);
303*8975f5c5SAndroid Build Coastguard Worker bool ValidateValidateProgramPipelineBase(const Context *context,
304*8975f5c5SAndroid Build Coastguard Worker                                          angle::EntryPoint entryPoint,
305*8975f5c5SAndroid Build Coastguard Worker                                          ProgramPipelineID pipelinePacked);
306*8975f5c5SAndroid Build Coastguard Worker 
307*8975f5c5SAndroid Build Coastguard Worker // GL_EXT_tessellation_shader
308*8975f5c5SAndroid Build Coastguard Worker bool ValidatePatchParameteriBase(const PrivateState &state,
309*8975f5c5SAndroid Build Coastguard Worker                                  ErrorSet *errors,
310*8975f5c5SAndroid Build Coastguard Worker                                  angle::EntryPoint entryPoint,
311*8975f5c5SAndroid Build Coastguard Worker                                  GLenum pname,
312*8975f5c5SAndroid Build Coastguard Worker                                  GLint value);
313*8975f5c5SAndroid Build Coastguard Worker }  // namespace gl
314*8975f5c5SAndroid Build Coastguard Worker 
315*8975f5c5SAndroid Build Coastguard Worker #endif  // LIBANGLE_VALIDATION_ES31_H_
316