blob: 6ce3676475cee88c36c68ed2446cf213c09e50f6 [file] [log] [blame]
Jarkko Poyry3c827362014-09-02 11:48:52 +03001-------------------------------------------------------------------------
2drawElements Quality Program Documentation
3-----------------------------------------------
4
5Copyright 2014 The Android Open Source Project
6
7Licensed under the Apache License, Version 2.0 (the "License");
8you may not use this file except in compliance with the License.
9You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13Unless required by applicable law or agreed to in writing, software
14distributed under the License is distributed on an "AS IS" BASIS,
15WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16See the License for the specific language governing permissions and
17limitations under the License.
18-------------------------------------------------------------------------
19
20 OpenGL ES 2.0 Negative API tests - Function listing
21
22Legend:
23 o = Tests done
24 - = Test not done
25 x = Will not generate errors, no negative test
26
27-----------------------------------------------
28 Special functions
29-----------------------------------------------
30
Pyry Haulosf1893652016-08-16 12:35:51 +020031x glFinish (void);
Jarkko Poyry3c827362014-09-02 11:48:52 +030032x glFlush (void);
Pyry Haulosf1893652016-08-16 12:35:51 +020033o glHint (GLenum target, GLenum mode);
Jarkko Poyry3c827362014-09-02 11:48:52 +030034
35-----------------------------------------------
36 State functions
37-----------------------------------------------
38
Pyry Haulosf1893652016-08-16 12:35:51 +020039o glDisable (GLenum cap);
40o glEnable (GLenum cap);
41o glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
42o glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
Jarkko Poyry3c827362014-09-02 11:48:52 +030043o glGetBooleanv (GLenum pname, GLboolean* params);
44x glGetError (void);
Pyry Haulosf1893652016-08-16 12:35:51 +020045o glGetFloatv (GLenum pname, GLfloat* params);
Jarkko Poyry3c827362014-09-02 11:48:52 +030046o glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
Pyry Haulosf1893652016-08-16 12:35:51 +020047o glGetIntegerv (GLenum pname, GLint* params);
48o glGetProgramiv (GLuint program, GLenum pname, GLint* params);
49o glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
50o glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
51o glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
52o glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
53o glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
54o glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
55o glGetString (GLenum name);
56o glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
57o glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
58o glGetUniformfv (GLuint program, GLint location, GLfloat* params);
59o glGetUniformiv (GLuint program, GLint location, GLint* params);
60o glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
61o glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
62o glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
63o glIsEnabled (GLenum cap);
Jarkko Poyry3c827362014-09-02 11:48:52 +030064
65-----------------------------------------------
66 Transforms & Fragment API functions
67-----------------------------------------------
68
Pyry Haulosf1893652016-08-16 12:35:51 +020069x glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
70o glBlendEquation (GLenum mode);
71o glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
72o glBlendFunc (GLenum sfactor, GLenum dfactor);
73o glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
74x glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
75o glDepthFunc (GLenum func);
76x glDepthMask (GLboolean flag);
77x glDepthRangef (GLclampf zNear, GLclampf zFar);
78x glSampleCoverage (GLclampf value, GLboolean invert);
79o glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
80o glStencilFunc (GLenum func, GLint ref, GLuint mask);
81o glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
82x glStencilMask (GLuint mask);
83o glStencilMaskSeparate (GLenum face, GLuint mask);
84o glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
85o glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
86o glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
Jarkko Poyry3c827362014-09-02 11:48:52 +030087
88-----------------------------------------------
89 FBO API functions
90-----------------------------------------------
91
Pyry Haulosf1893652016-08-16 12:35:51 +020092o glBindFramebuffer (GLenum target, GLuint framebuffer);
93o glBindRenderbuffer (GLenum target, GLuint renderbuffer);
94o glCheckFramebufferStatus (GLenum target);
95o glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
96o glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
Jarkko Poyry3c827362014-09-02 11:48:52 +030097o glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
Pyry Haulosf1893652016-08-16 12:35:51 +020098o glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
99o glGenFramebuffers (GLsizei n, GLuint* framebuffers);
100o glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
101o glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300102
103-----------------------------------------------
104 Buffer and Buffer Object API functions
105-----------------------------------------------
106
Pyry Haulosf1893652016-08-16 12:35:51 +0200107o glBindBuffer (GLenum target, GLuint buffer);
108o glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
109o glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
110o glClear (GLbitfield mask);
111x glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
112x glClearDepthf (GLclampf depth);
113x glClearStencil (GLint s);
114o glDeleteBuffers (GLsizei n, const GLuint* buffers);
115o glGenBuffers (GLsizei n, GLuint* buffers);
116o glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300117
118-----------------------------------------------
119 Shader API functions
120-----------------------------------------------
121
Pyry Haulosf1893652016-08-16 12:35:51 +0200122o glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
123o glAttachShader (GLuint program, GLuint shader);
124o glCreateShader (GLenum type);
125o glCompileShader (GLuint shader);
126x glCreateProgram (void);
127o glDeleteProgram (GLuint program);
128o glDeleteShader (GLuint shader);
129o glDetachShader (GLuint program, GLuint shader);
130o glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
131o glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
132o glGetAttribLocation (GLuint program, const GLchar* name);
133o glGetUniformLocation (GLuint program, const GLchar* name);
134o glLinkProgram (GLuint program);
135o glReleaseShaderCompiler (void);
136o glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
137o glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length);
138o glUniform1f (GLint location, GLfloat x);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300139o glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
Pyry Haulosf1893652016-08-16 12:35:51 +0200140o glUniform1i (GLint location, GLint x);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300141o glUniform1iv (GLint location, GLsizei count, const GLint* v);
Pyry Haulosf1893652016-08-16 12:35:51 +0200142o glUniform2f (GLint location, GLfloat x, GLfloat y);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300143o glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
Pyry Haulosf1893652016-08-16 12:35:51 +0200144o glUniform2i (GLint location, GLint x, GLint y);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300145o glUniform2iv (GLint location, GLsizei count, const GLint* v);
Pyry Haulosf1893652016-08-16 12:35:51 +0200146o glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300147o glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
Pyry Haulosf1893652016-08-16 12:35:51 +0200148o glUniform3i (GLint location, GLint x, GLint y, GLint z);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300149o glUniform3iv (GLint location, GLsizei count, const GLint* v);
Pyry Haulosf1893652016-08-16 12:35:51 +0200150o glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300151o glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
Pyry Haulosf1893652016-08-16 12:35:51 +0200152o glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
153o glUniform4iv (GLint location, GLsizei count, const GLint* v);
154o glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
155o glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
156o glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
157o glUseProgram (GLuint program);
158o glValidateProgram (GLuint program);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300159
160-----------------------------------------------
161 Texture API functions
162-----------------------------------------------
163
Pyry Haulosf1893652016-08-16 12:35:51 +0200164o glActiveTexture (GLenum texture);
165o glBindTexture (GLenum target, GLuint texture);
166o glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300167o glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
Pyry Haulosf1893652016-08-16 12:35:51 +0200168o glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
169o glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
170o glDeleteTextures (GLsizei n, const GLuint* textures);
171o glGenerateMipmap (GLenum target);
172o glGenTextures (GLsizei n, GLuint* textures);
173o glPixelStorei (GLenum pname, GLint param);
174o glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
175o glTexParameterf (GLenum target, GLenum pname, GLfloat param);
176o glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
177o glTexParameteri (GLenum target, GLenum pname, GLint param);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300178o glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
Pyry Haulosf1893652016-08-16 12:35:51 +0200179o glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300180
181-----------------------------------------------
182 Vertex Array API functions
183-----------------------------------------------
184
Pyry Haulosf1893652016-08-16 12:35:51 +0200185o glDisableVertexAttribArray (GLuint index);
186o glDrawArrays (GLenum mode, GLint first, GLsizei count);
187o glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
188o glEnableVertexAttribArray (GLuint index);
189o glVertexAttrib1f (GLuint indx, GLfloat x);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300190o glVertexAttrib1fv (GLuint indx, const GLfloat* values);
Pyry Haulosf1893652016-08-16 12:35:51 +0200191o glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300192o glVertexAttrib2fv (GLuint indx, const GLfloat* values);
Pyry Haulosf1893652016-08-16 12:35:51 +0200193o glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300194o glVertexAttrib3fv (GLuint indx, const GLfloat* values);
Pyry Haulosf1893652016-08-16 12:35:51 +0200195o glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300196o glVertexAttrib4fv (GLuint indx, const GLfloat* values);
Pyry Haulosf1893652016-08-16 12:35:51 +0200197o glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300198
199-----------------------------------------------
200 Rasterization API functions
201-----------------------------------------------
202
Pyry Haulosf1893652016-08-16 12:35:51 +0200203o glCullFace (GLenum mode);
204o glFrontFace (GLenum mode);
205o glLineWidth (GLfloat width);
Jarkko Poyry3c827362014-09-02 11:48:52 +0300206x glPolygonOffset (GLfloat factor, GLfloat units);
207
208-----------------------------------------------
209 Named object usage
210-----------------------------------------------
211
Pyry Haulosf1893652016-08-16 12:35:51 +0200212o glIsBuffer (GLuint buffer);
213o glIsFramebuffer (GLuint framebuffer);
214o glIsProgram (GLuint program);
215o glIsRenderbuffer (GLuint renderbuffer);
216o glIsShader (GLuint shader);
217o glIsTexture (GLuint texture);