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