| ------------------------------------------------------------------------- |
| drawElements Quality Program Documentation |
| ----------------------------------------------- |
| |
| Copyright 2014 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ------------------------------------------------------------------------- |
| |
| OpenGL ES 3.0 Negative API tests - Function listing |
| |
| Legend: |
| o = Tests done |
| x = Will not generate errors, no negative test |
| |
| ----------------------------------------------- |
| Transform feedback |
| ----------------------------------------------- |
| |
| ES3 |
| o glBindTransformFeedback (GLenum target, GLuint id); |
| o glDeleteTransformFeedbacks (GLsizei n, const GLuint* ids); |
| o glGenTransformFeedbacks (GLsizei n, GLuint* ids); |
| o glPauseTransformFeedback (void); |
| o glResumeTransformFeedback (void); |
| o glBeginTransformFeedback (GLenum primitiveMode); |
| o glEndTransformFeedback (void); |
| o glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode); |
| o glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name); |
| |
| ----------------------------------------------- |
| Asynchronous queries |
| ----------------------------------------------- |
| |
| ES3 |
| o glBeginQuery (GLenum target, GLuint id); |
| o glDeleteQueries (GLsizei n, const GLuint* ids); |
| o glEndQuery (GLenum target); |
| o glGenQueries (GLsizei n, GLuint* ids); |
| |
| ----------------------------------------------- |
| Special functions |
| ----------------------------------------------- |
| |
| ES2 |
| x glFinish (void); |
| x glFlush (void); |
| o glHint (GLenum target, GLenum mode); |
| |
| ES3 |
| o glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); |
| o glDeleteSync (GLsync sync); |
| o glFenceSync (GLenum condition, GLbitfield flags); |
| o glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); |
| |
| ----------------------------------------------- |
| State functions |
| ----------------------------------------------- |
| |
| ES2 |
| o glDisable (GLenum cap); |
| o glEnable (GLenum cap); |
| o glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); |
| o glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); |
| o glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); |
| o glGetBooleanv (GLenum pname, GLboolean* params); |
| o glGetError (void); |
| o glGetFloatv (GLenum pname, GLfloat* params); |
| o glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); |
| o glGetIntegerv (GLenum pname, GLint* params); |
| o glGetProgramiv (GLuint program, GLenum pname, GLint* params); |
| o glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); |
| o glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); |
| o glGetShaderiv (GLuint shader, GLenum pname, GLint* params); |
| o glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); |
| o glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); |
| o glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); |
| o glGetString (GLenum name); |
| o glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); |
| o glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); |
| o glGetUniformfv (GLuint program, GLint location, GLfloat* params); |
| o glGetUniformiv (GLuint program, GLint location, GLint* params); |
| o glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); |
| o glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); |
| o glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); |
| o glIsEnabled (GLenum cap); |
| |
| ES3 |
| o glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params); |
| o glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); |
| o glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); |
| o glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64* params); |
| o glGetBufferPointerv (GLenum target, GLenum pname, GLvoid** params); |
| o glGetFragDataLocation (GLuint program, const GLchar *name); |
| o glGetIntegeri_v (GLenum target, GLuint index, GLint* data); |
| o glGetInteger64i_v (GLenum target, GLuint index, GLint64* data); |
| o glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); |
| o glGetInteger64v (GLenum pname, GLint64* params); |
| o glGetQueryiv (GLenum target, GLenum pname, GLint* params); |
| o glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint* params); |
| o glGetStringi (GLenum name, GLuint index); |
| o glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values); |
| o glGetUniformuiv (GLuint program, GLint location, GLuint* params); |
| o glGetUniformBlockIndex (GLuint program, const GLchar* uniformBlockName); |
| o glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices); |
| o glGetVertexAttribIiv (GLuint index, GLenum pname, GLint* params); |
| o glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint* params); |
| |
| ----------------------------------------------- |
| Transforms & Fragment API functions |
| ----------------------------------------------- |
| |
| ES2 |
| x glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); |
| o glBlendEquation (GLenum mode); |
| o glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); |
| o glBlendFunc (GLenum sfactor, GLenum dfactor); |
| o glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); |
| x glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); |
| o glDepthFunc (GLenum func); |
| x glDepthMask (GLboolean flag); |
| x glDepthRangef (GLclampf zNear, GLclampf zFar); |
| x glSampleCoverage (GLclampf value, GLboolean invert); |
| o glScissor (GLint x, GLint y, GLsizei width, GLsizei height); |
| o glStencilFunc (GLenum func, GLint ref, GLuint mask); |
| o glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); |
| x glStencilMask (GLuint mask); |
| o glStencilMaskSeparate (GLenum face, GLuint mask); |
| o glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); |
| o glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); |
| o glViewport (GLint x, GLint y, GLsizei width, GLsizei height); |
| |
| ----------------------------------------------- |
| FBO API functions |
| ----------------------------------------------- |
| |
| ES2 |
| o glBindFramebuffer (GLenum target, GLuint framebuffer); |
| o glBindRenderbuffer (GLenum target, GLuint renderbuffer); |
| o glCheckFramebufferStatus (GLenum target); |
| o glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); |
| o glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); |
| o glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); |
| o glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); |
| o glGenFramebuffers (GLsizei n, GLuint* framebuffers); |
| o glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); |
| o glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); |
| |
| ES3 |
| o glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); |
| o glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); |
| o glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments); |
| o glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); |
| o glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); |
| |
| ----------------------------------------------- |
| Buffer and Buffer Object API functions |
| ----------------------------------------------- |
| |
| ES2 |
| o glBindBuffer (GLenum target, GLuint buffer); |
| o glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); |
| o glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); |
| o glClear (GLbitfield mask); |
| x glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); |
| x glClearDepthf (GLclampf depth); |
| x glClearStencil (GLint s); |
| o glDeleteBuffers (GLsizei n, const GLuint* buffers); |
| o glGenBuffers (GLsizei n, GLuint* buffers); |
| o glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); |
| |
| ES3 |
| o glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); |
| o glBindBufferBase (GLenum target, GLuint index, GLuint buffer); |
| o glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint* value); |
| o glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint* value); |
| o glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat* value); |
| o glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); |
| o glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); |
| o glDrawBuffers (GLsizei n, const GLenum* bufs); |
| o glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length); |
| o glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); |
| o glReadBuffer (GLenum mode); |
| o glUnmapBuffer (GLenum target); |
| |
| ----------------------------------------------- |
| Shader API functions |
| ----------------------------------------------- |
| |
| ES2 |
| o glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); |
| o glAttachShader (GLuint program, GLuint shader); |
| o glCreateShader (GLenum type); |
| o glCompileShader (GLuint shader); |
| x glCreateProgram (void); |
| o glDeleteProgram (GLuint program); |
| o glDeleteShader (GLuint shader); |
| o glDetachShader (GLuint program, GLuint shader); |
| o glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); |
| o glGetAttribLocation (GLuint program, const GLchar* name); |
| o glGetUniformLocation (GLuint program, const GLchar* name); |
| o glLinkProgram (GLuint program); |
| x glReleaseShaderCompiler (void); |
| o glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); |
| o glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length); |
| o glUniform1f (GLint location, GLfloat x); |
| o glUniform1fv (GLint location, GLsizei count, const GLfloat* v); |
| o glUniform1i (GLint location, GLint x); |
| o glUniform1iv (GLint location, GLsizei count, const GLint* v); |
| o glUniform2f (GLint location, GLfloat x, GLfloat y); |
| o glUniform2fv (GLint location, GLsizei count, const GLfloat* v); |
| o glUniform2i (GLint location, GLint x, GLint y); |
| o glUniform2iv (GLint location, GLsizei count, const GLint* v); |
| o glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); |
| o glUniform3fv (GLint location, GLsizei count, const GLfloat* v); |
| o glUniform3i (GLint location, GLint x, GLint y, GLint z); |
| o glUniform3iv (GLint location, GLsizei count, const GLint* v); |
| o glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); |
| o glUniform4fv (GLint location, GLsizei count, const GLfloat* v); |
| o glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); |
| o glUniform4iv (GLint location, GLsizei count, const GLint* v); |
| o glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUseProgram (GLuint program); |
| o glValidateProgram (GLuint program); |
| |
| ES3 |
| o glBindSampler (GLuint unit, GLuint sampler); |
| o glDeleteSamplers (GLsizei count, const GLuint* samplers); |
| o glGenSamplers (GLsizei count, GLuint* samplers); |
| o glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary); |
| o glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint* params); |
| o glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat* params); |
| o glProgramBinary (GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length); |
| o glProgramParameteri (GLuint program, GLenum pname, GLint value); |
| o glSamplerParameteri (GLuint sampler, GLenum pname, GLint param); |
| o glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint* param); |
| o glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param); |
| o glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat* param); |
| o glUniform1ui (GLint location, GLuint v0); |
| o glUniform2ui (GLint location, GLuint v0, GLuint v1); |
| o glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2); |
| o glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); |
| o glUniform1uiv (GLint location, GLsizei count, const GLuint* value); |
| o glUniform2uiv (GLint location, GLsizei count, const GLuint* value); |
| o glUniform3uiv (GLint location, GLsizei count, const GLuint* value); |
| o glUniform4uiv (GLint location, GLsizei count, const GLuint* value); |
| o glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); |
| o glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| o glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); |
| |
| ----------------------------------------------- |
| Texture API functions |
| ----------------------------------------------- |
| |
| ES2 |
| o glActiveTexture (GLenum texture); |
| o glBindTexture (GLenum target, GLuint texture); |
| o glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); |
| o glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); |
| o glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); |
| o glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); |
| o glDeleteTextures (GLsizei n, const GLuint* textures); |
| o glGenerateMipmap (GLenum target); |
| o glGenTextures (GLsizei n, GLuint* textures); |
| o glPixelStorei (GLenum pname, GLint param); |
| o glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); |
| o glTexParameterf (GLenum target, GLenum pname, GLfloat param); |
| o glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); |
| o glTexParameteri (GLenum target, GLenum pname, GLint param); |
| o glTexParameteriv (GLenum target, GLenum pname, const GLint* params); |
| o glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); |
| |
| ES3 |
| o glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); |
| o glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); |
| o glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); |
| o glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); |
| o glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); |
| o glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); |
| o glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); |
| |
| ----------------------------------------------- |
| Vertex Array API functions |
| ----------------------------------------------- |
| |
| ES2 |
| o glDisableVertexAttribArray (GLuint index); |
| o glDrawArrays (GLenum mode, GLint first, GLsizei count); |
| o glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); |
| o glEnableVertexAttribArray (GLuint index); |
| o glVertexAttrib1f (GLuint indx, GLfloat x); |
| o glVertexAttrib1fv (GLuint indx, const GLfloat* values); |
| o glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); |
| o glVertexAttrib2fv (GLuint indx, const GLfloat* values); |
| o glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); |
| o glVertexAttrib3fv (GLuint indx, const GLfloat* values); |
| o glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); |
| o glVertexAttrib4fv (GLuint indx, const GLfloat* values); |
| o glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); |
| |
| ES3 |
| o glBindVertexArray (GLuint array); |
| o glDeleteVertexArrays (GLsizei n, const GLuint* arrays); |
| o glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount); |
| o glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount); |
| o glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices); |
| o glGenVertexArrays (GLsizei n, GLuint* arrays); |
| o glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer); |
| o glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w); |
| o glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); |
| o glVertexAttribI4iv (GLuint index, const GLint* v); |
| o glVertexAttribI4uiv (GLuint index, const GLuint* v); |
| o glVertexAttribDivisor (GLuint index, GLuint divisor); |
| |
| ----------------------------------------------- |
| Rasterization API functions |
| ----------------------------------------------- |
| |
| ES2 |
| o glCullFace (GLenum mode); |
| o glFrontFace (GLenum mode); |
| o glLineWidth (GLfloat width); |
| x glPolygonOffset (GLfloat factor, GLfloat units); |
| |
| ----------------------------------------------- |
| Named object usage |
| ----------------------------------------------- |
| |
| ES2 |
| o glIsBuffer (GLuint buffer); |
| o glIsFramebuffer (GLuint framebuffer); |
| o glIsProgram (GLuint program); |
| o glIsRenderbuffer (GLuint renderbuffer); |
| o glIsShader (GLuint shader); |
| o glIsTexture (GLuint texture); |
| |
| ES3 |
| o glIsQuery (GLuint id); |
| o glIsSampler (GLuint sampler); |
| o glIsSync (GLsync sync); |
| o glIsTransformFeedback (GLuint id); |
| o glIsVertexArray (GLuint array); |