Avoid creating vkInstances for not supported cases
[platform/upstream/VK-GL-CTS.git] / doc / GLES2 Negative API Functions.txt
1 -------------------------------------------------------------------------
2 drawElements Quality Program Documentation
3 -----------------------------------------------
4
5 Copyright 2014 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11      http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 -------------------------------------------------------------------------
19
20     OpenGL ES 2.0 Negative API tests - Function listing
21
22 Legend:
23         o = Tests done
24         - = Test not done
25         x = Will not generate errors, no negative test
26
27 -----------------------------------------------
28  Special functions
29 -----------------------------------------------
30
31 x glFinish      (void);
32 x glFlush       (void);
33 o glHint        (GLenum target, GLenum mode);
34
35 -----------------------------------------------
36  State functions
37 -----------------------------------------------
38
39 o glDisable                                                             (GLenum cap);
40 o glEnable                                                              (GLenum cap);
41 o glGetAttachedShaders                                  (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
42 o glGetBufferParameteriv                                (GLenum target, GLenum pname, GLint* params);
43 o glGetBooleanv                                                 (GLenum pname, GLboolean* params);
44 x glGetError                                                    (void);
45 o glGetFloatv                                                   (GLenum pname, GLfloat* params);
46 o glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
47 o glGetIntegerv                                                 (GLenum pname, GLint* params);
48 o glGetProgramiv                                                (GLuint program, GLenum pname, GLint* params);
49 o glGetProgramInfoLog                                   (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
50 o glGetRenderbufferParameteriv                  (GLenum target, GLenum pname, GLint* params);
51 o glGetShaderiv                                                 (GLuint shader, GLenum pname, GLint* params);
52 o glGetShaderInfoLog                                    (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
53 o glGetShaderPrecisionFormat                    (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
54 o glGetShaderSource                                             (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
55 o glGetString                                                   (GLenum name);
56 o glGetTexParameterfv                                   (GLenum target, GLenum pname, GLfloat* params);
57 o glGetTexParameteriv                                   (GLenum target, GLenum pname, GLint* params);
58 o glGetUniformfv                                                (GLuint program, GLint location, GLfloat* params);
59 o glGetUniformiv                                                (GLuint program, GLint location, GLint* params);
60 o glGetVertexAttribfv                                   (GLuint index, GLenum pname, GLfloat* params);
61 o glGetVertexAttribiv                                   (GLuint index, GLenum pname, GLint* params);
62 o glGetVertexAttribPointerv                             (GLuint index, GLenum pname, GLvoid** pointer);
63 o glIsEnabled                                                   (GLenum cap);
64
65 -----------------------------------------------
66  Transforms & Fragment API functions
67 -----------------------------------------------
68
69 x glBlendColor                          (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
70 o glBlendEquation                       (GLenum mode);
71 o glBlendEquationSeparate       (GLenum modeRGB, GLenum modeAlpha);
72 o glBlendFunc                           (GLenum sfactor, GLenum dfactor);
73 o glBlendFuncSeparate           (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
74 x glColorMask                           (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
75 o glDepthFunc                           (GLenum func);
76 x glDepthMask                           (GLboolean flag);
77 x glDepthRangef                         (GLclampf zNear, GLclampf zFar);
78 x glSampleCoverage                      (GLclampf value, GLboolean invert);
79 o glScissor                                     (GLint x, GLint y, GLsizei width, GLsizei height);
80 o glStencilFunc                         (GLenum func, GLint ref, GLuint mask);
81 o glStencilFuncSeparate         (GLenum face, GLenum func, GLint ref, GLuint mask);
82 x glStencilMask                         (GLuint mask);
83 o glStencilMaskSeparate         (GLenum face, GLuint mask);
84 o glStencilOp                           (GLenum fail, GLenum zfail, GLenum zpass);
85 o glStencilOpSeparate           (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
86 o glViewport                            (GLint x, GLint y, GLsizei width, GLsizei height);
87
88 -----------------------------------------------
89  FBO API functions
90 -----------------------------------------------
91
92 o glBindFramebuffer                     (GLenum target, GLuint framebuffer);
93 o glBindRenderbuffer            (GLenum target, GLuint renderbuffer);
94 o glCheckFramebufferStatus      (GLenum target);
95 o glDeleteFramebuffers          (GLsizei n, const GLuint* framebuffers);
96 o glDeleteRenderbuffers         (GLsizei n, const GLuint* renderbuffers);
97 o glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
98 o glFramebufferTexture2D        (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
99 o glGenFramebuffers                     (GLsizei n, GLuint* framebuffers);
100 o glGenRenderbuffers            (GLsizei n, GLuint* renderbuffers);
101 o glRenderbufferStorage         (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
102
103 -----------------------------------------------
104  Buffer and Buffer Object API functions
105 -----------------------------------------------
106
107 o glBindBuffer          (GLenum target, GLuint buffer);
108 o glBufferData          (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
109 o glBufferSubData       (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
110 o glClear                       (GLbitfield mask);
111 x glClearColor          (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
112 x glClearDepthf         (GLclampf depth);
113 x glClearStencil        (GLint s);
114 o glDeleteBuffers       (GLsizei n, const GLuint* buffers);
115 o glGenBuffers          (GLsizei n, GLuint* buffers);
116 o glReadPixels          (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
117
118 -----------------------------------------------
119  Shader API functions
120 -----------------------------------------------
121
122 o glBindAttribLocation          (GLuint program, GLuint index, const GLchar* name);
123 o glAttachShader                        (GLuint program, GLuint shader);
124 o glCreateShader                        (GLenum type);
125 o glCompileShader                       (GLuint shader);
126 x glCreateProgram                       (void);
127 o glDeleteProgram                       (GLuint program);
128 o glDeleteShader                        (GLuint shader);
129 o glDetachShader                        (GLuint program, GLuint shader);
130 o glGetActiveAttrib                     (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
131 o glGetActiveUniform            (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
132 o glGetAttribLocation           (GLuint program, const GLchar* name);
133 o glGetUniformLocation          (GLuint program, const GLchar* name);
134 o glLinkProgram                         (GLuint program);
135 o glReleaseShaderCompiler       (void);
136 o glShaderBinary                        (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
137 o glShaderSource                        (GLuint shader, GLsizei count, const GLchar** string, const GLint* length);
138 o glUniform1f                           (GLint location, GLfloat x);
139 o glUniform1fv                          (GLint location, GLsizei count, const GLfloat* v);
140 o glUniform1i                           (GLint location, GLint x);
141 o glUniform1iv                          (GLint location, GLsizei count, const GLint* v);
142 o glUniform2f                           (GLint location, GLfloat x, GLfloat y);
143 o glUniform2fv                          (GLint location, GLsizei count, const GLfloat* v);
144 o glUniform2i                           (GLint location, GLint x, GLint y);
145 o glUniform2iv                          (GLint location, GLsizei count, const GLint* v);
146 o glUniform3f                           (GLint location, GLfloat x, GLfloat y, GLfloat z);
147 o glUniform3fv                          (GLint location, GLsizei count, const GLfloat* v);
148 o glUniform3i                           (GLint location, GLint x, GLint y, GLint z);
149 o glUniform3iv                          (GLint location, GLsizei count, const GLint* v);
150 o glUniform4f                           (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
151 o glUniform4fv                          (GLint location, GLsizei count, const GLfloat* v);
152 o glUniform4i                           (GLint location, GLint x, GLint y, GLint z, GLint w);
153 o glUniform4iv                          (GLint location, GLsizei count, const GLint* v);
154 o glUniformMatrix2fv            (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
155 o glUniformMatrix3fv            (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
156 o glUniformMatrix4fv            (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
157 o glUseProgram                          (GLuint program);
158 o glValidateProgram                     (GLuint program);
159
160 -----------------------------------------------
161  Texture API functions
162 -----------------------------------------------
163
164 o glActiveTexture                       (GLenum texture);
165 o glBindTexture                         (GLenum target, GLuint texture);
166 o glCompressedTexImage2D        (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
167 o glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
168 o glCopyTexImage2D                      (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
169 o glCopyTexSubImage2D           (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
170 o glDeleteTextures                      (GLsizei n, const GLuint* textures);
171 o glGenerateMipmap                      (GLenum target);
172 o glGenTextures                         (GLsizei n, GLuint* textures);
173 o glPixelStorei                         (GLenum pname, GLint param);
174 o glTexImage2D                          (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
175 o glTexParameterf                       (GLenum target, GLenum pname, GLfloat param);
176 o glTexParameterfv                      (GLenum target, GLenum pname, const GLfloat* params);
177 o glTexParameteri                       (GLenum target, GLenum pname, GLint param);
178 o glTexParameteriv                      (GLenum target, GLenum pname, const GLint* params);
179 o 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
185 o glDisableVertexAttribArray    (GLuint index);
186 o glDrawArrays                                  (GLenum mode, GLint first, GLsizei count);
187 o glDrawElements                                (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
188 o glEnableVertexAttribArray             (GLuint index);
189 o glVertexAttrib1f                              (GLuint indx, GLfloat x);
190 o glVertexAttrib1fv                             (GLuint indx, const GLfloat* values);
191 o glVertexAttrib2f                              (GLuint indx, GLfloat x, GLfloat y);
192 o glVertexAttrib2fv                             (GLuint indx, const GLfloat* values);
193 o glVertexAttrib3f                              (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
194 o glVertexAttrib3fv                             (GLuint indx, const GLfloat* values);
195 o glVertexAttrib4f                              (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
196 o glVertexAttrib4fv                             (GLuint indx, const GLfloat* values);
197 o glVertexAttribPointer                 (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
198
199 -----------------------------------------------
200  Rasterization API functions
201 -----------------------------------------------
202
203 o glCullFace            (GLenum mode);
204 o glFrontFace           (GLenum mode);
205 o glLineWidth           (GLfloat width);
206 x glPolygonOffset       (GLfloat factor, GLfloat units);
207
208 -----------------------------------------------
209  Named object usage
210 -----------------------------------------------
211
212 o glIsBuffer                    (GLuint buffer);
213 o glIsFramebuffer               (GLuint framebuffer);
214 o glIsProgram                   (GLuint program);
215 o glIsRenderbuffer              (GLuint renderbuffer);
216 o glIsShader                    (GLuint shader);
217 o glIsTexture                   (GLuint texture);