1-------------------------------------------------------------------------
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
31x glFinish 	(void);
32x glFlush	(void);
33o glHint 	(GLenum target, GLenum mode);
34
35-----------------------------------------------
36 State functions
37-----------------------------------------------
38
39o 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);
43o glGetBooleanv							(GLenum pname, GLboolean* params);
44x glGetError							(void);
45o glGetFloatv 							(GLenum pname, GLfloat* params);
46o glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
47o 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);
64
65-----------------------------------------------
66 Transforms & Fragment API functions
67-----------------------------------------------
68
69x 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);
87
88-----------------------------------------------
89 FBO API functions
90-----------------------------------------------
91
92o 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);
97o glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
98o 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);
102
103-----------------------------------------------
104 Buffer and Buffer Object API functions
105-----------------------------------------------
106
107o 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);
117
118-----------------------------------------------
119 Shader API functions
120-----------------------------------------------
121
122o 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);
139o glUniform1fv				(GLint location, GLsizei count, const GLfloat* v);
140o glUniform1i 				(GLint location, GLint x);
141o glUniform1iv				(GLint location, GLsizei count, const GLint* v);
142o glUniform2f 				(GLint location, GLfloat x, GLfloat y);
143o glUniform2fv				(GLint location, GLsizei count, const GLfloat* v);
144o glUniform2i 				(GLint location, GLint x, GLint y);
145o glUniform2iv				(GLint location, GLsizei count, const GLint* v);
146o glUniform3f 				(GLint location, GLfloat x, GLfloat y, GLfloat z);
147o glUniform3fv				(GLint location, GLsizei count, const GLfloat* v);
148o glUniform3i 				(GLint location, GLint x, GLint y, GLint z);
149o glUniform3iv				(GLint location, GLsizei count, const GLint* v);
150o glUniform4f 				(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
151o glUniform4fv				(GLint location, GLsizei count, const GLfloat* v);
152o 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);
159
160-----------------------------------------------
161 Texture API functions
162-----------------------------------------------
163
164o 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);
167o glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
168o 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);
178o glTexParameteriv			(GLenum target, GLenum pname, const GLint* params);
179o glTexSubImage2D 			(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
180
181-----------------------------------------------
182 Vertex Array API functions
183-----------------------------------------------
184
185o 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);
190o glVertexAttrib1fv				(GLuint indx, const GLfloat* values);
191o glVertexAttrib2f 				(GLuint indx, GLfloat x, GLfloat y);
192o glVertexAttrib2fv				(GLuint indx, const GLfloat* values);
193o glVertexAttrib3f 				(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
194o glVertexAttrib3fv				(GLuint indx, const GLfloat* values);
195o glVertexAttrib4f 				(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
196o glVertexAttrib4fv				(GLuint indx, const GLfloat* values);
197o glVertexAttribPointer 		(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
198
199-----------------------------------------------
200 Rasterization API functions
201-----------------------------------------------
202
203o glCullFace 		(GLenum mode);
204o glFrontFace 		(GLenum mode);
205o glLineWidth 		(GLfloat width);
206x glPolygonOffset	(GLfloat factor, GLfloat units);
207
208-----------------------------------------------
209 Named object usage
210-----------------------------------------------
211
212o glIsBuffer 			(GLuint buffer);
213o glIsFramebuffer 		(GLuint framebuffer);
214o glIsProgram 			(GLuint program);
215o glIsRenderbuffer 		(GLuint renderbuffer);
216o glIsShader 			(GLuint shader);
217o glIsTexture 			(GLuint texture);