webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
validationES.h
Go to the documentation of this file.
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 // validationES.h: Validation functions for generic OpenGL ES entry point parameters
8 
9 #ifndef LIBANGLE_VALIDATION_ES_H_
10 #define LIBANGLE_VALIDATION_ES_H_
11 
12 #include "common/mathutil.h"
13 
14 #include <GLES2/gl2.h>
15 #include <GLES3/gl3.h>
16 #include <GLES3/gl31.h>
17 
18 namespace egl
19 {
20 class Display;
21 class Image;
22 }
23 
24 namespace gl
25 {
26 class Context;
27 struct Format;
28 class Program;
29 class Shader;
30 class ValidationContext;
31 
32 bool ValidTextureTarget(const ValidationContext *context, GLenum target);
33 bool ValidTexture2DTarget(const ValidationContext *context, GLenum target);
34 bool ValidTexture3DTarget(const ValidationContext *context, GLenum target);
35 bool ValidTextureExternalTarget(const ValidationContext *context, GLenum target);
36 bool ValidTexture2DDestinationTarget(const ValidationContext *context, GLenum target);
37 bool ValidTexture3DDestinationTarget(const ValidationContext *context, GLenum target);
39 bool ValidBufferTarget(const ValidationContext *context, GLenum target);
40 bool ValidBufferParameter(const ValidationContext *context, GLenum pname, GLsizei *numParams);
41 bool ValidMipLevel(const ValidationContext *context, GLenum target, GLint level);
43  GLenum target,
44  GLint level,
45  GLsizei width,
47  GLsizei depth,
48  bool isSubImage);
49 bool ValidCompressedImageSize(const ValidationContext *context,
51  GLsizei width,
52  GLsizei height);
53 bool ValidImageDataSize(ValidationContext *context,
54  GLenum textureTarget,
55  GLsizei width,
57  GLsizei depth,
59  GLenum type,
60  const GLvoid *pixels,
62 
63 bool ValidQueryType(const Context *context, GLenum queryType);
64 
65 // Returns valid program if id is a valid program name
66 // Errors INVALID_OPERATION if valid shader is given and returns NULL
67 // Errors INVALID_VALUE otherwise and returns NULL
68 Program *GetValidProgram(ValidationContext *context, GLuint id);
69 
70 // Returns valid shader if id is a valid shader name
71 // Errors INVALID_OPERATION if valid program is given and returns NULL
72 // Errors INVALID_VALUE otherwise and returns NULL
73 Shader *GetValidShader(ValidationContext *context, GLuint id);
74 
80 
83 
84 bool ValidateBlitFramebufferParameters(ValidationContext *context,
85  GLint srcX0,
86  GLint srcY0,
87  GLint srcX1,
88  GLint srcY1,
89  GLint dstX0,
90  GLint dstY0,
91  GLint dstX1,
92  GLint dstY1,
94  GLenum filter);
95 
96 bool ValidateReadPixels(ValidationContext *context,
97  GLint x,
98  GLint y,
99  GLsizei width,
100  GLsizei height,
101  GLenum format,
102  GLenum type,
103  GLvoid *pixels);
104 bool ValidateReadPixelsRobustANGLE(ValidationContext *context,
105  GLint x,
106  GLint y,
107  GLsizei width,
108  GLsizei height,
109  GLenum format,
110  GLenum type,
112  GLsizei *length,
113  GLvoid *pixels);
115  GLint x,
116  GLint y,
117  GLsizei width,
118  GLsizei height,
119  GLenum format,
120  GLenum type,
122  GLvoid *pixels);
123 bool ValidateReadnPixelsRobustANGLE(ValidationContext *context,
124  GLint x,
125  GLint y,
126  GLsizei width,
127  GLsizei height,
128  GLenum format,
129  GLenum type,
131  GLsizei *length,
132  GLvoid *data);
133 
144  GLenum target,
145  GLenum pname,
147  GLsizei *length,
148  GLint *params);
150  GLenum target,
151  GLenum pname,
152  GLsizei *numParams);
155  GLuint id,
156  GLenum pname,
158  GLsizei *length,
159  GLint *params);
162  GLuint id,
163  GLenum pname,
165  GLsizei *length,
166  GLuint *params);
169  GLuint id,
170  GLenum pname,
172  GLsizei *length,
173  GLint64 *params);
176  GLuint id,
177  GLenum pname,
179  GLsizei *length,
180  GLuint64 *params);
181 
185 
186 bool ValidateStateQuery(ValidationContext *context,
187  GLenum pname,
188  GLenum *nativeType,
189  unsigned int *numParams);
190 
191 bool ValidateRobustStateQuery(ValidationContext *context,
192  GLenum pname,
194  GLenum *nativeType,
195  unsigned int *numParams);
196 
197 bool ValidateCopyTexImageParametersBase(ValidationContext *context,
198  GLenum target,
199  GLint level,
201  bool isSubImage,
202  GLint xoffset,
203  GLint yoffset,
204  GLint zoffset,
205  GLint x,
206  GLint y,
207  GLsizei width,
208  GLsizei height,
209  GLint border,
210  Format *textureFormatOut);
211 
212 bool ValidateDrawArrays(ValidationContext *context,
213  GLenum mode,
214  GLint first,
215  GLsizei count,
219 
220 bool ValidateDrawElements(ValidationContext *context,
221  GLenum mode,
222  GLsizei count,
223  GLenum type,
224  const GLvoid *indices,
226  IndexRange *indexRangeOut);
227 
229  GLenum mode,
230  GLsizei count,
231  GLenum type,
232  const GLvoid *indices,
234  IndexRange *indexRangeOut);
236  GLenum mode,
237  GLsizei count,
238  GLenum type,
239  const GLvoid *indices,
241  IndexRange *indexRangeOut);
242 
248  GLenum target,
252 
259  GLuint program,
260  GLint location,
262  GLsizei *length,
263  GLfloat *params);
265  GLuint program,
266  GLint location,
268  GLsizei *length,
269  GLint *params);
271  GLuint program,
272  GLint location,
274  GLsizei *length,
275  GLuint *params);
276 
278  const GLenum *attachments, bool defaultFramebuffer);
279 
282 
284  egl::Display *display,
285  GLenum target,
286  egl::Image *image);
288  egl::Display *display,
289  GLenum target,
290  egl::Image *image);
291 
293 
296  GLuint program,
298  const void *binary,
299  GLint length);
301  GLuint program,
303  GLsizei *length,
305  void *binary);
307 
308 bool ValidateCopyTexImage2D(ValidationContext *context,
309  GLenum target,
310  GLint level,
312  GLint x,
313  GLint y,
314  GLsizei width,
315  GLsizei height,
316  GLint border);
317 bool ValidateDrawBuffersBase(ValidationContext *context, GLsizei n, const GLenum *bufs);
319  GLenum target,
320  GLint level,
321  GLint xoffset,
322  GLint yoffset,
323  GLint x,
324  GLint y,
325  GLsizei width,
326  GLsizei height);
327 
329  GLenum target,
330  GLenum pname,
331  GLsizei *length,
332  void **params);
335  GLenum target,
340  GLenum target,
343 
345 
354 
356 
360 
361 bool ValidateRobustEntryPoint(ValidationContext *context, GLsizei bufSize);
362 bool ValidateRobustBufferSize(ValidationContext *context, GLsizei bufSize, GLsizei numParams);
363 
365  GLenum target,
367  GLenum pname,
368  GLsizei *numParams);
370  GLenum target,
372  GLenum pname,
374  GLsizei *numParams);
375 
376 bool ValidateGetBufferParameteriv(ValidationContext *context,
377  GLenum target,
378  GLenum pname,
379  GLint *params);
380 bool ValidateGetBufferParameterivRobustANGLE(ValidationContext *context,
381  GLenum target,
382  GLenum pname,
384  GLsizei *length,
385  GLint *params);
386 
387 bool ValidateGetBufferParameteri64v(ValidationContext *context,
388  GLenum target,
389  GLenum pname,
390  GLint64 *params);
391 bool ValidateGetBufferParameteri64vRobustANGLE(ValidationContext *context,
392  GLenum target,
393  GLenum pname,
395  GLsizei *length,
396  GLint64 *params);
397 
400  GLuint program,
401  GLenum pname,
403  GLsizei *numParams);
404 
406  GLenum target,
407  GLenum pname,
408  GLint *params);
410  GLenum target,
411  GLenum pname,
413  GLsizei *length,
414  GLint *params);
415 
418  GLuint shader,
419  GLenum pname,
421  GLsizei *length,
422  GLint *params);
423 
426  GLenum target,
427  GLenum pname,
429  GLsizei *length,
430  GLfloat *params);
433  GLenum target,
434  GLenum pname,
436  GLsizei *length,
437  GLint *params);
438 
442  GLenum target,
443  GLenum pname,
445  const GLfloat *params);
449  GLenum target,
450  GLenum pname,
452  const GLint *params);
453 
456  GLuint sampler,
457  GLenum pname,
458  GLuint bufSize,
459  GLsizei *length,
460  GLfloat *params);
463  GLuint sampler,
464  GLenum pname,
465  GLuint bufSize,
466  GLsizei *length,
467  GLint *params);
468 
471  GLuint sampler,
472  GLenum pname,
473  const GLfloat *params);
475  GLuint sampler,
476  GLenum pname,
478  const GLfloat *params);
481  GLuint sampler,
482  GLenum pname,
483  const GLint *params);
485  GLuint sampler,
486  GLenum pname,
488  const GLint *params);
489 
492  GLuint index,
493  GLenum pname,
495  GLsizei *length,
496  GLfloat *params);
497 
500  GLuint index,
501  GLenum pname,
503  GLsizei *length,
504  GLint *params);
505 
508  GLuint index,
509  GLenum pname,
511  GLsizei *length,
512  void **pointer);
513 
516  GLuint index,
517  GLenum pname,
519  GLsizei *length,
520  GLint *params);
521 
524  GLuint index,
525  GLenum pname,
527  GLsizei *length,
528  GLuint *params);
529 
531  GLuint program,
533  GLenum pname,
534  GLint *params);
536  GLuint program,
538  GLenum pname,
540  GLsizei *length,
541  GLint *params);
542 
544  GLenum target,
546  GLenum pname,
548  GLint *params);
550  GLenum target,
552  GLenum pname,
554  GLsizei *length,
555  GLint *params);
556 
557 // Error messages shared here for use in testing.
558 extern const char *g_ExceedsMaxElementErrorMessage;
559 } // namespace gl
560 
561 #endif // LIBANGLE_VALIDATION_ES_H_
bool ValidateFramebufferRenderbufferParameters(gl::Context *context, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
Definition: validationES.cpp:1713
const GLuint * renderbuffers
Definition: gl2.h:412
bool ValidateGetShaderiv(Context *context, GLuint shader, GLenum pname, GLint *params)
Definition: validationES.cpp:4761
int GLint
Definition: gl2.h:76
bool ValidateGenFramebuffers(Context *context, GLint n, GLuint *)
Definition: validationES.cpp:4215
GLint GLsizei count
Definition: gl2.h:421
bool ValidateInsertEventMarkerEXT(Context *context, GLsizei length, const char *marker)
Definition: validationES.cpp:3543
bool ValidateSamplerParameterf(Context *context, GLuint sampler, GLenum pname, GLfloat param)
Definition: validationES.cpp:4959
bool ValidateDrawArraysInstanced(Context *context, GLenum mode, GLint first, GLsizei count, GLsizei primcount)
Definition: validationES.cpp:2999
bool ValidateGetRenderbufferParameteriv(Context *context, GLenum target, GLenum pname, GLint *params)
Definition: validationES.cpp:4728
bool ValidateGetUniformfv(Context *context, GLuint program, GLint location, GLfloat *params)
Definition: validationES.cpp:3360
bool ValidateDrawElements(ValidationContext *context, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, IndexRange *indexRangeOut)
Definition: validationES.cpp:3049
GLint first
Definition: gl2.h:421
GLint GLint GLint GLint GLint GLint dstX1
Definition: gl2ext.h:818
bool ValidMipLevel(const ValidationContext *context, GLenum target, GLint level)
Definition: validationES.cpp:1351
EGLSurface EGLint EGLint EGLint EGLint height
Definition: eglext.h:950
bool ValidateGetActiveUniformBlockivRobustANGLE(Context *context, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:5169
bool ValidateGenRenderbuffers(Context *context, GLint n, GLuint *)
Definition: validationES.cpp:4225
bool ValidateLinkProgram(Context *context, GLuint program)
Definition: validationES.cpp:3687
bool ValidateIsEnabled(Context *context, GLenum cap)
Definition: validationES.cpp:4289
bool ValidateReadnPixelsEXT(Context *context, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels)
Definition: validationES.cpp:1990
bool ValidateReadPixels(ValidationContext *context, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
Definition: validationES.cpp:1948
GLuint uniformBlockIndex
Definition: gl2ext.h:3290
GLint GLint GLint GLsizei GLsizei GLenum format
Definition: gl2.h:403
bool ValidateDisable(Context *context, GLenum cap)
Definition: validationES.cpp:4278
bool ValidateFramebufferTexture2D(Context *context, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
Definition: validationES.cpp:3255
bool ValidateGetUniformiv(Context *context, GLuint program, GLint location, GLint *params)
Definition: validationES.cpp:3365
bool ValidateGetInternalFormativ(Context *context, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)
Definition: validationES.cpp:5195
GLuint GLsizei bufSize
Definition: gl2.h:435
GLint GLint GLint GLint GLint dstY0
Definition: gl2ext.h:818
GLuint GLint internalFormat
Definition: gl2ext.h:1280
Shader * GetValidShader(ValidationContext *context, GLuint id)
Definition: validationES.cpp:1571
bool ValidateTexParameterf(Context *context, GLenum target, GLenum pname, GLfloat param)
Definition: validationES.cpp:4851
khronos_intptr_t GLintptr
Definition: gl2.h:74
bool ValidateBeginQueryBase(gl::Context *context, GLenum target, GLuint id)
Definition: validationES.cpp:2063
GLsizei numAttachments
Definition: gl2ext.h:1461
bool ValidateGetQueryivEXT(Context *context, GLenum target, GLenum pname, GLint *params)
Definition: validationES.cpp:2236
const GLuint * textures
Definition: gl2.h:414
const GLsizei GLenum const void *const GLsizei primcount
Definition: gl2ext.h:325
bool ValidateDeleteBuffers(Context *context, GLint n, const GLuint *)
Definition: validationES.cpp:4210
bool ValidateBeginQueryEXT(gl::Context *context, GLenum target, GLuint id)
Definition: validationES.cpp:2118
EGLSurface EGLint EGLint EGLint width
Definition: eglext.h:950
bool ValidQueryType(const Context *context, GLenum queryType)
Definition: validationES.cpp:1526
EGLContext EGLenum target
Definition: eglext.h:192
void * Context
Definition: platform_glx.h:177
EGLStreamKHR void * texture
Definition: eglext.h:568
bool ValidateGetVertexAttribfv(Context *context, GLuint index, GLenum pname, GLfloat *params)
Definition: validationES.cpp:5010
bool ValidTexture3DTarget(const ValidationContext *context, GLenum target)
Definition: validationES.cpp:1258
bool ValidateReadnPixelsRobustANGLE(ValidationContext *context, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLvoid *data)
Definition: validationES.cpp:2010
bool ValidateGetFramebufferAttachmentParameteriv(ValidationContext *context, GLenum target, GLenum attachment, GLenum pname, GLsizei *numParams)
Definition: validationES.cpp:4331
bool ValidateTexParameterfv(Context *context, GLenum target, GLenum pname, const GLfloat *params)
Definition: validationES.cpp:4856
unsigned int GLenum
Definition: gl2.h:69
bool ValidateUniform(gl::Context *context, GLenum uniformType, GLint location, GLsizei count)
Definition: validationES.cpp:2523
bool ValidCompressedImageSize(const ValidationContext *context, GLenum internalFormat, GLsizei width, GLsizei height)
Definition: validationES.cpp:1428
bool ValidateGetQueryObjectValueBase(Context *context, GLuint id, GLenum pname, GLsizei *numParams)
Definition: validationES.cpp:2273
bool ValidImageSizeParameters(const Context *context, GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, bool isSubImage)
Definition: validationES.cpp:1381
bool ValidateEnable(Context *context, GLenum cap)
Definition: validationES.cpp:4255
bool ValidateDeleteFramebuffers(Context *context, GLint n, const GLuint *)
Definition: validationES.cpp:4220
GLenum pname
Definition: gl2.h:440
Definition: entry_points_egl.h:15
bool ValidateGetVertexAttribivRobustANGLE(Context *context, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:5045
bool ValidateGetFramebufferAttachmentParameterivRobustANGLE(ValidationContext *context, GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *numParams)
Definition: validationES.cpp:4558
CFArrayRef array
Definition: AVFoundationCFSoftLinking.h:129
GLint srcY0
Definition: gl2ext.h:818
bool ValidateGetnUniformfvEXT(Context *context, GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
Definition: validationES.cpp:3414
bool ValidateEGLImageTargetTexture2DOES(Context *context, egl::Display *display, GLenum target, egl::Image *image)
Definition: validationES.cpp:3577
bool ValidateGetQueryivBase(Context *context, GLenum target, GLenum pname, GLsizei *numParams)
Definition: validationES.cpp:2191
bool ValidateRobustBufferSize(ValidationContext *context, GLsizei bufSize, GLsizei numParams)
Definition: validationES.cpp:4318
bool ValidateCopyTexSubImage2D(Context *context, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Definition: validationES.cpp:3904
bool ValidateDrawArrays(ValidationContext *context, GLenum mode, GLint first, GLsizei count, GLsizei primcount)
Definition: validationES.cpp:2962
uint32_t Format
Definition: wav_header.cc:51
GLenum mode
Definition: gl2.h:461
bool ValidateFramebufferRenderbuffer(Context *context, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
Definition: validationES.cpp:3814
bool ValidateEndQueryBase(gl::Context *context, GLenum target)
Definition: validationES.cpp:2130
GLenum GLenum textarget
Definition: gl2.h:428
GLuint sampler
Definition: gl2ext.h:2313
bool ValidateGetVertexAttribIuiv(Context *context, GLuint index, GLenum pname, GLuint *params)
Definition: validationES.cpp:5130
GLsizei const GLenum * attachments
Definition: gl2ext.h:1461
bool ValidateGenerateMipmap(Context *context, GLenum target)
Definition: validationES.cpp:4132
bool ValidateGetBufferParameteri64v(ValidationContext *context, GLenum target, GLenum pname, GLint64 *params)
Definition: validationES.cpp:4616
GLuint shader
Definition: gl2.h:382
bool ValidTextureTarget(const ValidationContext *context, GLenum target)
Definition: validationES.cpp:1228
bool ValidateSamplerParameterivRobustANGLE(Context *context, GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *params)
Definition: validationES.cpp:4996
bool ValidateGetUniformBase(Context *context, GLuint program, GLint location)
Definition: validationES.cpp:3331
GLint location
Definition: gl2.h:455
bool ValidateGenTextures(Context *context, GLint n, GLuint *)
Definition: validationES.cpp:4235
bool ValidTexture2DDestinationTarget(const ValidationContext *context, GLenum target)
Definition: validationES.cpp:1284
GLint GLsizei GLsizei GLenum GLenum void * pixels
Definition: gl2.h:473
const GLuint * buffers
Definition: gl2.h:409
const GLchar * marker
Definition: gl2ext.h:1446
GLint level
Definition: gl2.h:402
bool ValidateGetQueryObjectui64vRobustANGLE(Context *context, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params)
Definition: validationES.cpp:2448
bool ValidateQueryCounterEXT(Context *context, GLuint id, GLenum target)
Definition: validationES.cpp:2161
EGLStreamKHR EGLint n
Definition: eglext.h:984
bool ValidateTexParameterivRobustANGLE(Context *context, GLenum target, GLenum pname, GLsizei bufSize, const GLint *params)
Definition: validationES.cpp:4885
khronos_float_t GLfloat
Definition: gl2.h:72
bool ValidateBlitFramebufferParameters(ValidationContext *context, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
Definition: validationES.cpp:1753
GLint GLuint mask
Definition: gl2.h:480
EGLStreamKHR EGLint EGLint offset
Definition: eglext.h:984
bool ValidateDrawElementsInstanced(Context *context, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, IndexRange *indexRangeOut)
Definition: validationES.cpp:3172
bool ValidateRenderbufferStorageParametersBase(gl::Context *context, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
Definition: validationES.cpp:1631
GLsizei GLsizei GLenum * binaryFormat
Definition: gl2ext.h:396
EGLSurface EGLint x
Definition: eglext.h:950
bool ValidateGetnUniformivEXT(Context *context, GLuint program, GLint location, GLsizei bufSize, GLint *params)
Definition: validationES.cpp:3419
bool ValidateCopyTexImageParametersBase(ValidationContext *context, GLenum target, GLint level, GLenum internalformat, bool isSubImage, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, GLint border, Format *textureFormatOut)
Definition: validationES.cpp:2690
bool ValidateGetInternalFormativRobustANGLE(Context *context, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:5206
bool ValidateGetProgramivRobustANGLE(Context *context, GLuint program, GLenum pname, GLsizei bufSize, GLsizei *numParams)
Definition: validationES.cpp:4704
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: gl2ext.h:818
bool ValidateGenOrDelete(Context *context, GLint n)
Definition: validationES.cpp:4245
bool ValidateDrawBuffersBase(ValidationContext *context, GLsizei n, const GLenum *bufs)
Definition: validationES.cpp:3831
GLint GLenum GLsizei GLsizei GLint GLsizei imageSize
Definition: gl2.h:402
const GLuint * framebuffers
Definition: gl2.h:410
GLint GLint GLint GLint dstX0
Definition: gl2ext.h:818
GLuint index
Definition: gl2.h:383
bool ValidateTexParameteriv(Context *context, GLenum target, GLenum pname, const GLint *params)
Definition: validationES.cpp:4880
bool ValidFramebufferTarget(GLenum target)
Definition: validationES.cpp:1313
bool ValidateGetVertexAttribIivRobustANGLE(Context *context, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:5105
bool ValidateGetVertexAttribiv(Context *context, GLuint index, GLenum pname, GLint *params)
Definition: validationES.cpp:5040
Definition: Image.h:55
bool ValidateGetBufferParameteri64vRobustANGLE(ValidationContext *context, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params)
Definition: validationES.cpp:4624
bool ValidImageDataSize(ValidationContext *context, GLenum textureTarget, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum type, const GLvoid *pixels, GLsizei imageSize)
Definition: validationES.cpp:1458
khronos_uint64_t GLuint64
Definition: gl2.h:68
bool ValidateProgramBinaryBase(Context *context, GLuint program, GLenum binaryFormat, const void *binary, GLint length)
Definition: validationES.cpp:3700
unsigned int GLuint
Definition: gl2.h:70
GLuint renderbuffer
Definition: gl2.h:386
bool ValidateStateQuery(ValidationContext *context, GLenum pname, GLenum *nativeType, unsigned int *numParams)
Definition: validationES.cpp:2583
bool ValidTexture3DDestinationTarget(const ValidationContext *context, GLenum target)
Definition: validationES.cpp:1301
bool ValidateGetTexParameterfv(Context *context, GLenum target, GLenum pname, GLfloat *params)
Definition: validationES.cpp:4791
bool ValidateGetBufferPointervBase(Context *context, GLenum target, GLenum pname, GLsizei *length, void **params)
Definition: validationES.cpp:3924
Definition: DebuggerParseData.cpp:130
bool ValidateUnmapBufferBase(Context *context, GLenum target)
Definition: validationES.cpp:3977
bool ValidateDrawElementsInstancedANGLE(Context *context, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, IndexRange *indexRangeOut)
Definition: validationES.cpp:3195
bool ValidateGetQueryObjectuivEXT(Context *context, GLuint id, GLenum pname, GLuint *params)
Definition: validationES.cpp:2354
bool ValidateGetUniformuivRobustANGLE(Context *context, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params)
Definition: validationES.cpp:3456
bool ValidateGetQueryObjectuivRobustANGLE(Context *context, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params)
Definition: validationES.cpp:2365
bool ValidTextureExternalTarget(const ValidationContext *context, GLenum target)
Definition: validationES.cpp:1273
bool ValidateDeleteTextures(Context *context, GLint n, const GLuint *)
Definition: validationES.cpp:4240
bool ValidateGenQueriesEXT(gl::Context *context, GLsizei n)
Definition: validationES.cpp:2039
bool ValidBufferParameter(const ValidationContext *context, GLenum pname, GLsizei *numParams)
bool ValidateGetQueryObjectivEXT(Context *context, GLuint id, GLenum pname, GLint *params)
Definition: validationES.cpp:2313
EGLSurface EGLint EGLint y
Definition: eglext.h:950
bool ValidateCopyTexImage2D(ValidationContext *context, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
Definition: validationES.cpp:3793
bool ValidateDrawArraysInstancedANGLE(Context *context, GLenum mode, GLint first, GLsizei count, GLsizei primcount)
Definition: validationES.cpp:3039
GLint GLenum GLsizei GLsizei GLsizei depth
Definition: gl2ext.h:572
bool ValidateGetTexParameterfvRobustANGLE(Context *context, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params)
Definition: validationES.cpp:4796
GLenum void ** pointer
Definition: gl2.h:460
bool ValidateFramebufferTextureBase(Context *context, GLenum target, GLenum attachment, GLuint texture, GLint level)
Definition: validationES.cpp:3211
bool ValidateGetSamplerParameterfvRobustANGLE(Context *context, GLuint sampler, GLenum pname, GLuint bufSize, GLsizei *length, GLfloat *params)
Definition: validationES.cpp:4904
bool ValidateDiscardFramebufferBase(Context *context, GLenum target, GLsizei numAttachments, const GLenum *attachments, bool defaultFramebuffer)
Definition: validationES.cpp:3479
bool ValidateSamplerParameteri(Context *context, GLuint sampler, GLenum pname, GLint param)
Definition: validationES.cpp:4986
bool ValidateRobustStateQuery(ValidationContext *context, GLenum pname, GLsizei bufSize, GLenum *nativeType, unsigned int *numParams)
Definition: validationES.cpp:2666
bool ValidateBindVertexArrayBase(Context *context, GLuint array)
Definition: validationES.cpp:3674
GLint GLint GLint GLint GLint GLint GLint dstY1
Definition: gl2ext.h:818
GLint GLenum internalformat
Definition: gl2.h:402
bool ValidateGetTexParameteriv(Context *context, GLenum target, GLenum pname, GLint *params)
Definition: validationES.cpp:4821
bool ValidateGetQueryObjectui64vEXT(Context *context, GLuint id, GLenum pname, GLuint64 *params)
Definition: validationES.cpp:2438
bool ValidateSamplerParameterfv(Context *context, GLuint sampler, GLenum pname, const GLfloat *params)
Definition: validationES.cpp:4964
bool ValidateSamplerParameteriv(Context *context, GLuint sampler, GLenum pname, const GLint *params)
Definition: validationES.cpp:4991
khronos_ssize_t GLsizeiptr
Definition: gl2.h:73
bool ValidateSamplerParameterfvRobustANGLE(Context *context, GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *params)
Definition: validationES.cpp:4972
bool ValidateAttachmentTarget(gl::Context *context, GLenum attachment)
Definition: validationES.cpp:1593
bool ValidateGenBuffers(Context *context, GLint n, GLuint *)
Definition: validationES.cpp:4205
bool ValidateGetRenderbufferParameterivRobustANGLE(Context *context, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:4736
GLint GLint GLint GLint zoffset
Definition: gl2ext.h:573
const GLuint GLenum const void * binary
Definition: gl2.h:478
EGLenum type
Definition: eglext.h:63
bool ValidateGetSamplerParameterivRobustANGLE(Context *context, GLuint sampler, GLenum pname, GLuint bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:4934
bool ValidateGetUniformivRobustANGLE(Context *context, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:3440
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition: eglext.h:984
bool ValidateGetQueryObjecti64vRobustANGLE(Context *context, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params)
Definition: validationES.cpp:2407
GLint GLint GLint srcY1
Definition: gl2ext.h:818
GLenum attachment
Definition: gl2.h:427
bool ValidateTexParameteri(Context *context, GLenum target, GLenum pname, GLint param)
Definition: validationES.cpp:4875
bool ValidateGetActiveUniformBlockiv(Context *context, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
Definition: validationES.cpp:5160
GLenum GLenum renderbuffertarget
Definition: gl2.h:427
bool ValidateDeleteQueriesEXT(gl::Context *context, GLsizei n)
Definition: validationES.cpp:2051
bool ValidateGetVertexAttribfvRobustANGLE(Context *context, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params)
Definition: validationES.cpp:5015
bool ValidateRenderbufferStorageParametersANGLE(gl::Context *context, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
Definition: validationES.cpp:1682
bool ValidatePushGroupMarkerEXT(Context *context, GLsizei length, const char *marker)
Definition: validationES.cpp:3560
GLsizei samples
Definition: gl2ext.h:707
khronos_int64_t GLint64
Definition: gl2.h:67
bool ValidateGetVertexAttribPointervRobustANGLE(Context *context, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer)
Definition: validationES.cpp:5075
bool ValidateMapBufferRangeBase(Context *context, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
Definition: validationES.cpp:3996
bool ValidateGetVertexAttribPointerv(Context *context, GLuint index, GLenum pname, void **pointer)
Definition: validationES.cpp:5070
unsigned char GLboolean
Definition: gl2.h:77
bool ValidateRobustEntryPoint(ValidationContext *context, GLsizei bufSize)
Definition: validationES.cpp:4300
GLint param
Definition: gl2.h:471
const char * g_ExceedsMaxElementErrorMessage
Definition: validationES.cpp:33
void GLvoid
Definition: gl2.h:65
bool ValidateGetVertexAttribIiv(Context *context, GLuint index, GLenum pname, GLint *params)
Definition: validationES.cpp:5100
bool ValidateGetTexParameterivRobustANGLE(Context *context, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:4826
GLuint program
Definition: gl2ext.h:1826
struct _XDisplay Display
Definition: shared_x_display.h:25
Definition: Context.h:59
bool ValidateFlushMappedBufferRangeBase(Context *context, GLenum target, GLintptr offset, GLsizeiptr length)
Definition: validationES.cpp:4085
GLint GLint srcX1
Definition: gl2ext.h:818
bool ValidateGetVertexAttribIuivRobustANGLE(Context *context, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params)
Definition: validationES.cpp:5135
int GLsizei
Definition: gl2.h:78
Definition: image.py:1
bool ValidateTexParameterfvRobustANGLE(Context *context, GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params)
Definition: validationES.cpp:4861
bool ValidateUseProgram(Context *context, GLuint program)
Definition: validationES.cpp:3754
bool ValidateGetShaderivRobustANGLE(Context *context, GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:4766
Program * GetValidProgram(ValidationContext *context, GLuint id)
Definition: validationES.cpp:1547
bool ValidateGetQueryObjecti64vEXT(Context *context, GLuint id, GLenum pname, GLint64 *params)
Definition: validationES.cpp:2397
bool ValidateGetQueryivRobustANGLE(Context *context, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:2248
GLint GLint xoffset
Definition: gl2.h:403
unsigned int GLbitfield
Definition: gl2.h:75
bool ValidateGetSamplerParameterfv(Context *context, GLuint sampler, GLenum pname, GLfloat *params)
Definition: validationES.cpp:4899
bool ValidateReadPixelsRobustANGLE(ValidationContext *context, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLvoid *pixels)
Definition: validationES.cpp:1960
bool ValidateGetBufferParameteriv(ValidationContext *context, GLenum target, GLenum pname, GLint *params)
Definition: validationES.cpp:4583
bool ValidateUniformMatrix(gl::Context *context, GLenum matrixType, GLint location, GLsizei count, GLboolean transpose)
Definition: validationES.cpp:2550
bool ValidateEndQueryEXT(gl::Context *context, GLenum target)
Definition: validationES.cpp:2149
bool ValidateEGLImageTargetRenderbufferStorageOES(Context *context, egl::Display *display, GLenum target, egl::Image *image)
Definition: validationES.cpp:3636
GLenum GLint * params
Definition: gl2.h:440
bool ValidateDeleteRenderbuffers(Context *context, GLint n, const GLuint *)
Definition: validationES.cpp:4230
bool ValidateGetBufferParameterivRobustANGLE(ValidationContext *context, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:4591
Definition: entry_points_gles_2_0.h:15
GLenum access
Definition: gl2ext.h:2317
bool ValidateGetSamplerParameteriv(Context *context, GLuint sampler, GLenum pname, GLint *params)
Definition: validationES.cpp:4929
bool ValidateGetUniformfvRobustANGLE(Context *context, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params)
Definition: validationES.cpp:3424
U_CDECL_BEGIN typedef void * context
Definition: ustring.h:1023
bool ValidTexture2DTarget(const ValidationContext *context, GLenum target)
Definition: validationES.cpp:1245
GLuint GLsizei GLsizei * length
Definition: gl2.h:435
GLsizei GLboolean transpose
Definition: gl2.h:508
bool ValidateGetQueryObjectivRobustANGLE(Context *context, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params)
Definition: validationES.cpp:2323
Definition: Display.h:40
bool ValidBufferTarget(const ValidationContext *context, GLenum target)
Definition: validationES.cpp:1327
bool ValidateGetProgramiv(Context *context, GLuint program, GLenum pname, GLsizei *numParams)
Definition: validationES.cpp:4649
GLsizei GLenum const void * indices
Definition: gl2.h:422
GLint GLint GLint yoffset
Definition: gl2.h:403
GLint GLenum GLsizei GLsizei GLint border
Definition: gl2.h:402
const GLenum * bufs
Definition: gl2ext.h:1538
bool ValidateGetProgramBinaryBase(Context *context, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)
Definition: validationES.cpp:3732