1 #ifndef _GLCAPICOVERAGETESTS_HPP 2 #define _GLCAPICOVERAGETESTS_HPP 3 /*------------------------------------------------------------------------- 4 * OpenGL Conformance Test Suite 5 * ----------------------------- 6 * 7 * Copyright (c) 2024 The Khronos Group Inc. 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 */ /*! 22 * \file 23 * \brief 24 */ /*-------------------------------------------------------------------*/ 25 26 /** 27 */ /*! 28 * \file glcApiCoverageTests.hpp 29 * \brief Conformance tests for OpenGL and OpenGL ES API coverage. 30 */ /*-------------------------------------------------------------------*/ 31 32 #include "glcTestCase.hpp" 33 #include "glwDefs.hpp" 34 #include "tcuDefs.hpp" 35 36 #include <map> 37 38 namespace glcts 39 { 40 41 struct enumTestRec 42 { 43 const char *name; 44 glw::GLint value; 45 }; 46 47 /** class to handle parsing configuration xml and run all coverage tests */ 48 class ApiCoverageTestCase : public deqp::TestCase 49 { 50 public: 51 /* Public methods */ 52 ApiCoverageTestCase(deqp::Context &context); 53 54 void deinit(); 55 void init(); 56 tcu::TestNode::IterateResult iterate(); 57 58 bool verifyEnum(const std::string &name, const std::string &value); 59 bool verifyFunc(const std::string &name); 60 61 glw::GLenum TestCoverageGLGuessColorBufferFormat(void); 62 glw::GLsizei TestCoverageGLCalcTargetFormats(glw::GLenum colorBufferFormat, glw::GLenum *textureFormats); 63 64 glw::GLint createDefaultProgram(int mode); 65 66 template <typename... Args> 67 void tcu_fail_msg(const std::string &format, Args... args); 68 void tcu_msg(const std::string &msg0, const std::string &msg1); 69 70 typedef bool (ApiCoverageTestCase::*test_func_ptr)(void); 71 72 bool TestCoverageGLCallReadBuffer(void); 73 bool TestCoverageGLCallDrawRangeElements(void); 74 bool TestCoverageGLCallTexImage3D(void); 75 bool TestCoverageGLCallTexSubImage3D(void); 76 bool TestCoverageGLCallCopyTexSubImage3D(void); 77 bool TestCoverageGLCallCompressedTexImage3D(void); 78 bool TestCoverageGLCallCompressedTexSubImage3D(void); 79 bool TestCoverageGLCallGenQueries(void); 80 bool TestCoverageGLCallDeleteQueries(void); 81 bool TestCoverageGLCallIsQuery(void); 82 bool TestCoverageGLCallBeginQuery(void); 83 bool TestCoverageGLCallEndQuery(void); 84 bool TestCoverageGLCallGetQueryiv(void); 85 bool TestCoverageGLCallGetQueryObjectuiv(void); 86 bool TestCoverageGLCallMapBufferRange(void); 87 bool TestCoverageGLCallUnmapBuffer(void); 88 bool TestCoverageGLCallGetBufferPointerv(void); 89 bool TestCoverageGLCallFlushMappedBufferRange(void); 90 bool TestCoverageGLCallDrawBuffers(void); 91 bool TestCoverageGLCallUniformMatrix2x4fv(void); 92 bool TestCoverageGLCallBeginTransformFeedback(void); 93 bool TestCoverageGLCallEndTransformFeedback(void); 94 bool TestCoverageGLCallBindBufferRange(void); 95 bool TestCoverageGLCallBindBufferBase(void); 96 bool TestCoverageGLCallTransformFeedbackVaryings(void); 97 bool TestCoverageGLCallGetTransformFeedbackVarying(void); 98 bool TestCoverageGLCallVertexAttribIPointer(void); 99 bool TestCoverageGLCallGetVertexAttribIiv(void); 100 bool TestCoverageGLCallGetVertexAttribIuiv(void); 101 bool TestCoverageGLCallVertexAttribI4i(void); 102 bool TestCoverageGLCallVertexAttribI4ui(void); 103 bool TestCoverageGLCallVertexAttribI4iv(void); 104 bool TestCoverageGLCallVertexAttribI4uiv(void); 105 bool TestCoverageGLCallGetUniformuiv(void); 106 bool TestCoverageGLCallGetFragDataLocation(void); 107 bool TestCoverageGLCallUniform2ui(void); 108 bool TestCoverageGLCallUniform2uiv(void); 109 bool TestCoverageGLCallClearBufferiv(void); 110 bool TestCoverageGLCallClearBufferuiv(void); 111 bool TestCoverageGLCallClearBufferfv(void); 112 bool TestCoverageGLCallClearBufferfi(void); 113 bool TestCoverageGLCallGetStringi(void); 114 bool TestCoverageGLCallBlitFramebuffer(void); 115 bool TestCoverageGLCallRenderbufferStorageMultisample(void); 116 bool TestCoverageGLCallBindVertexArray(void); 117 bool TestCoverageGLCallDeleteVertexArrays(void); 118 bool TestCoverageGLCallGenVertexArrays(void); 119 bool TestCoverageGLCallIsVertexArray(void); 120 bool TestCoverageGLCallDrawArraysInstanced(void); 121 bool TestCoverageGLCallDrawElementsInstanced(void); 122 bool TestCoverageGLCallCopyBufferSubData(void); 123 bool TestCoverageGLCallGetUniformIndices(void); 124 bool TestCoverageGLCallGetActiveUniformsiv(void); 125 bool TestCoverageGLCallGetUniformBlockIndex(void); 126 bool TestCoverageGLCallGetActiveUniformBlockiv(void); 127 bool TestCoverageGLCallGetActiveUniformBlockName(void); 128 bool TestCoverageGLCallUniformBlockBinding(void); 129 bool TestCoverageGLCallGetBufferParameteri64v(void); 130 bool TestCoverageGLCallProgramParameteri(void); 131 bool TestCoverageGLCallFenceSync(void); 132 bool TestCoverageGLCallIsSync(void); 133 bool TestCoverageGLCallDeleteSync(void); 134 bool TestCoverageGLCallClientWaitSync(void); 135 bool TestCoverageGLCallWaitSync(void); 136 bool TestCoverageGLCallGetInteger64v(void); 137 bool TestCoverageGLCallGetSynciv(void); 138 bool TestCoverageGLCallGenSamplers(void); 139 bool TestCoverageGLCallDeleteSamplers(void); 140 bool TestCoverageGLCallIsSampler(void); 141 bool TestCoverageGLCallBindSampler(void); 142 bool TestCoverageGLCallSamplerParameteri(void); 143 bool TestCoverageGLCallSamplerParameteriv(void); 144 bool TestCoverageGLCallSamplerParameterf(void); 145 bool TestCoverageGLCallSamplerParameterfv(void); 146 bool TestCoverageGLCallGetSamplerParameteriv(void); 147 bool TestCoverageGLCallGetSamplerParameterfv(void); 148 bool TestCoverageGLCallBindTransformFeedback(void); 149 bool TestCoverageGLCallDeleteTransformFeedbacks(void); 150 bool TestCoverageGLCallGenTransformFeedbacks(void); 151 bool TestCoverageGLCallIsTransformFeedback(void); 152 bool TestCoverageGLCallPauseTransformFeedback(void); 153 bool TestCoverageGLCallResumeTransformFeedback(void); 154 bool TestCoverageGLCallInvalidateFramebuffer(void); 155 bool TestCoverageGLCallInvalidateSubFramebuffer(void); 156 bool TestCoverageGLCallActiveTexture(void); 157 bool TestCoverageGLCallAttachShader(void); 158 bool TestCoverageGLCallBindAttribLocation(void); 159 bool TestCoverageGLCallBindBuffer(void); 160 bool TestCoverageGLCallBindTexture(void); 161 bool TestCoverageGLCallBlendColor(void); 162 bool TestCoverageGLCallBlendEquation(void); 163 bool TestCoverageGLCallBlendEquationSeparate(void); 164 bool TestCoverageGLCallBlendFunc(void); 165 bool TestCoverageGLCallBlendFuncSeparate(void); 166 bool TestCoverageGLCallBufferData(void); 167 bool TestCoverageGLCallBufferSubData(void); 168 bool TestCoverageGLCallClear(void); 169 bool TestCoverageGLCallClearColor(void); 170 bool TestCoverageGLCallClearStencil(void); 171 bool TestCoverageGLCallColorMask(void); 172 bool TestCoverageGLCallCompressedTexImage2D(void); 173 bool TestCoverageGLCallCompressedTexSubImage2D(void); 174 bool TestCoverageGLCallCopyTexImage2D(void); 175 bool TestCoverageGLCallCopyTexSubImage2D(void); 176 bool TestCoverageGLCallCreateProgram(void); 177 bool TestCoverageGLCallCreateShader(void); 178 bool TestCoverageGLCallCullFace(void); 179 bool TestCoverageGLCallDeleteBuffers(void); 180 bool TestCoverageGLCallDeleteTextures(void); 181 bool TestCoverageGLCallDeleteProgram(void); 182 bool TestCoverageGLCallDeleteShader(void); 183 bool TestCoverageGLCallDetachShader(void); 184 bool TestCoverageGLCallDepthFunc(void); 185 bool TestCoverageGLCallDepthMask(void); 186 bool TestCoverageGLCallDisable(void); 187 bool TestCoverageGLCallDisableVertexAttribArray(void); 188 bool TestCoverageGLCallDrawArrays(void); 189 bool TestCoverageGLCallDrawElements(void); 190 bool TestCoverageGLCallEnable(void); 191 bool TestCoverageGLCallEnableVertexAttribArray(void); 192 bool TestCoverageGLCallFinish(void); 193 bool TestCoverageGLCallFlush(void); 194 bool TestCoverageGLCallFrontFace(void); 195 bool TestCoverageGLCallGetActiveAttrib(void); 196 bool TestCoverageGLCallGetActiveUniform(void); 197 bool TestCoverageGLCallGetAttachedShaders(void); 198 bool TestCoverageGLCallGetAttribLocation(void); 199 bool TestCoverageGLCallGetBooleanv(void); 200 bool TestCoverageGLCallGetBufferParameteriv(void); 201 bool TestCoverageGLCallGenBuffers(void); 202 bool TestCoverageGLCallGenTextures(void); 203 bool TestCoverageGLCallGetError(void); 204 bool TestCoverageGLCallGetFloatv(void); 205 bool TestCoverageGLCallGetIntegerv(void); 206 bool TestCoverageGLCallGetProgramiv(void); 207 bool TestCoverageGLCallGetProgramInfoLog(void); 208 bool TestCoverageGLCallGetString(void); 209 bool TestCoverageGLCallGetTexParameteriv(void); 210 bool TestCoverageGLCallGetTexParameterfv(void); 211 bool TestCoverageGLCallGetUniformfv(void); 212 bool TestCoverageGLCallGetUniformiv(void); 213 bool TestCoverageGLCallGetUniformLocation(void); 214 bool TestCoverageGLCallGetVertexAttribfv(void); 215 bool TestCoverageGLCallGetVertexAttribiv(void); 216 bool TestCoverageGLCallGetVertexAttribPointerv(void); 217 bool TestCoverageGLCallHint(void); 218 bool TestCoverageGLCallIsBuffer(void); 219 bool TestCoverageGLCallIsEnabled(void); 220 bool TestCoverageGLCallIsProgram(void); 221 bool TestCoverageGLCallIsShader(void); 222 bool TestCoverageGLCallIsTexture(void); 223 bool TestCoverageGLCallLineWidth(void); 224 bool TestCoverageGLCallLinkProgram(void); 225 bool TestCoverageGLCallPixelStorei(void); 226 bool TestCoverageGLCallPolygonOffset(void); 227 bool TestCoverageGLCallReadPixels(void); 228 bool TestCoverageGLCallSampleCoverage(void); 229 bool TestCoverageGLCallScissor(void); 230 bool TestCoverageGLCallStencilFunc(void); 231 bool TestCoverageGLCallStencilFuncSeparate(void); 232 bool TestCoverageGLCallStencilMask(void); 233 bool TestCoverageGLCallStencilMaskSeparate(void); 234 bool TestCoverageGLCallStencilOp(void); 235 bool TestCoverageGLCallStencilOpSeparate(void); 236 bool TestCoverageGLCallTexImage2D(void); 237 bool TestCoverageGLCallTexParameteri(void); 238 bool TestCoverageGLCallTexParameterf(void); 239 bool TestCoverageGLCallTexParameteriv(void); 240 bool TestCoverageGLCallTexParameterfv(void); 241 bool TestCoverageGLCallTexSubImage2D(void); 242 bool TestCoverageGLCallUniform1i(void); 243 bool TestCoverageGLCallUniform2i(void); 244 bool TestCoverageGLCallUniform3i(void); 245 bool TestCoverageGLCallUniform4i(void); 246 bool TestCoverageGLCallUniform1f(void); 247 bool TestCoverageGLCallUniform2f(void); 248 bool TestCoverageGLCallUniform3f(void); 249 bool TestCoverageGLCallUniform4f(void); 250 bool TestCoverageGLCallUniform1iv(void); 251 bool TestCoverageGLCallUniform2iv(void); 252 bool TestCoverageGLCallUniform3iv(void); 253 bool TestCoverageGLCallUniform4iv(void); 254 bool TestCoverageGLCallUniform1fv(void); 255 bool TestCoverageGLCallUniform2fv(void); 256 bool TestCoverageGLCallUniform3fv(void); 257 bool TestCoverageGLCallUniform4fv(void); 258 bool TestCoverageGLCallUniformMatrix2fv(void); 259 bool TestCoverageGLCallUniformMatrix3fv(void); 260 bool TestCoverageGLCallUniformMatrix4fv(void); 261 bool TestCoverageGLCallUseProgram(void); 262 bool TestCoverageGLCallValidateProgram(void); 263 bool TestCoverageGLCallVertexAttrib1f(void); 264 bool TestCoverageGLCallVertexAttrib2f(void); 265 bool TestCoverageGLCallVertexAttrib3f(void); 266 bool TestCoverageGLCallVertexAttrib4f(void); 267 bool TestCoverageGLCallVertexAttrib1fv(void); 268 bool TestCoverageGLCallVertexAttrib2fv(void); 269 bool TestCoverageGLCallVertexAttrib3fv(void); 270 bool TestCoverageGLCallVertexAttrib4fv(void); 271 bool TestCoverageGLCallVertexAttribPointer(void); 272 bool TestCoverageGLCallViewport(void); 273 bool TestCoverageGLCallIsRenderbuffer(void); 274 bool TestCoverageGLCallBindRenderbuffer(void); 275 bool TestCoverageGLCallDeleteRenderbuffers(void); 276 bool TestCoverageGLCallGenRenderbuffers(void); 277 bool TestCoverageGLCallRenderbufferStorage(void); 278 bool TestCoverageGLCallGetRenderbufferParameteriv(void); 279 bool TestCoverageGLCallIsFramebuffer(void); 280 bool TestCoverageGLCallBindFramebuffer(void); 281 bool TestCoverageGLCallDeleteFramebuffers(void); 282 bool TestCoverageGLCallGenFramebuffers(void); 283 bool TestCoverageGLCallCheckFramebufferStatus(void); 284 bool TestCoverageGLCallFramebufferTexture2D(void); 285 bool TestCoverageGLCallFramebufferRenderbuffer(void); 286 bool TestCoverageGLCallGetFramebufferAttachmentParameteriv(void); 287 bool TestCoverageGLCallGenerateMipmap(void); 288 bool TestCoverageGLCallCompileShader(void); 289 bool TestCoverageGLCallGetShaderiv(void); 290 bool TestCoverageGLCallGetShaderInfoLog(void); 291 bool TestCoverageGLCallGetShaderSource(void); 292 bool TestCoverageGLCallShaderSource(void); 293 bool TestCoverageGLCallClearDepthf(void); 294 bool TestCoverageGLCallDepthRangef(void); 295 bool TestCoverageGLCallFramebufferTexture3DOES(void); 296 bool TestCoverageGLCallMapBufferOES(void); 297 bool TestCoverageGLCallTexImage3DOES(void); 298 bool TestCoverageGLCallTexSubImage3DOES(void); 299 bool TestCoverageGLCallCopyTexSubImage3DOES(void); 300 bool TestCoverageGLCallCompressedTexImage3DOES(void); 301 bool TestCoverageGLCallCompressedTexSubImage3DOES(void); 302 bool TestCoverageGLCallShaderBinary(void); 303 bool TestCoverageGLCallReleaseShaderCompiler(void); 304 bool TestCoverageGLCallGetShaderPrecisionFormat(void); 305 306 bool TestCoverageGLCallPointSize(void); 307 bool TestCoverageGLCallPolygonMode(void); 308 bool TestCoverageGLCallTexImage1D(void); 309 bool TestCoverageGLCallDrawBuffer(void); 310 bool TestCoverageGLCallClearDepth(void); 311 bool TestCoverageGLCallLogicOp(void); 312 bool TestCoverageGLCallPixelStoref(void); 313 bool TestCoverageGLCallGetDoublev(void); 314 bool TestCoverageGLCallGetTexImage(void); 315 bool TestCoverageGLCallGetTexLevelParameterfv(void); 316 bool TestCoverageGLCallGetTexLevelParameteriv(void); 317 bool TestCoverageGLCallDepthRange(void); 318 bool TestCoverageGLCallGetPointerv(void); 319 bool TestCoverageGLCallCopyTexImage1D(void); 320 bool TestCoverageGLCallCopyTexSubImage1D(void); 321 bool TestCoverageGLCallTexSubImage1D(void); 322 bool TestCoverageGLCallCompressedTexImage1D(void); 323 bool TestCoverageGLCallCompressedTexSubImage1D(void); 324 bool TestCoverageGLCallGetCompressedTexImage(void); 325 bool TestCoverageGLCallMultiDrawArrays(void); 326 bool TestCoverageGLCallMultiDrawElements(void); 327 bool TestCoverageGLCallPointParameterf(void); 328 bool TestCoverageGLCallPointParameterfv(void); 329 bool TestCoverageGLCallPointParameteri(void); 330 bool TestCoverageGLCallPointParameteriv(void); 331 bool TestCoverageGLCallGetQueryObjectiv(void); 332 bool TestCoverageGLCallGetBufferSubData(void); /* Shared with OpenGL ES */ 333 bool TestCoverageGLCallMapBuffer(void); 334 bool TestCoverageGLCallGetVertexAttribdv(void); 335 bool TestCoverageGLCallVertexAttrib1d(void); 336 bool TestCoverageGLCallVertexAttrib1dv(void); 337 bool TestCoverageGLCallVertexAttrib1s(void); 338 bool TestCoverageGLCallVertexAttrib1sv(void); 339 bool TestCoverageGLCallVertexAttrib2d(void); 340 bool TestCoverageGLCallVertexAttrib2dv(void); 341 bool TestCoverageGLCallVertexAttrib2s(void); 342 bool TestCoverageGLCallVertexAttrib2sv(void); 343 bool TestCoverageGLCallVertexAttrib3d(void); 344 bool TestCoverageGLCallVertexAttrib3dv(void); 345 bool TestCoverageGLCallVertexAttrib3s(void); 346 bool TestCoverageGLCallVertexAttrib3sv(void); 347 bool TestCoverageGLCallVertexAttrib4Nbv(void); 348 bool TestCoverageGLCallVertexAttrib4Niv(void); 349 bool TestCoverageGLCallVertexAttrib4Nsv(void); 350 bool TestCoverageGLCallVertexAttrib4Nub(void); 351 bool TestCoverageGLCallVertexAttrib4Nubv(void); 352 bool TestCoverageGLCallVertexAttrib4Nuiv(void); 353 bool TestCoverageGLCallVertexAttrib4Nusv(void); 354 bool TestCoverageGLCallVertexAttrib4bv(void); 355 bool TestCoverageGLCallVertexAttrib4d(void); 356 bool TestCoverageGLCallVertexAttrib4dv(void); 357 bool TestCoverageGLCallVertexAttrib4iv(void); 358 bool TestCoverageGLCallVertexAttrib4s(void); 359 bool TestCoverageGLCallVertexAttrib4sv(void); 360 bool TestCoverageGLCallVertexAttrib4ubv(void); 361 bool TestCoverageGLCallVertexAttrib4uiv(void); 362 bool TestCoverageGLCallVertexAttrib4usv(void); 363 bool TestCoverageGLCallUniformMatrix2x3fv(void); 364 bool TestCoverageGLCallUniformMatrix3x2fv(void); 365 bool TestCoverageGLCallUniformMatrix4x2fv(void); 366 bool TestCoverageGLCallUniformMatrix3x4fv(void); 367 bool TestCoverageGLCallUniformMatrix4x3fv(void); 368 bool TestCoverageGLCallColorMaski(void); 369 bool TestCoverageGLCallGetBooleani_v(void); 370 bool TestCoverageGLCallGetIntegeri_v(void); 371 bool TestCoverageGLCallEnablei(void); 372 bool TestCoverageGLCallDisablei(void); 373 bool TestCoverageGLCallIsEnabledi(void); 374 bool TestCoverageGLCallClampColor(void); 375 bool TestCoverageGLCallBeginConditionalRender(void); 376 bool TestCoverageGLCallEndConditionalRender(void); 377 bool TestCoverageGLCallVertexAttribI1i(void); 378 bool TestCoverageGLCallVertexAttribI2i(void); 379 bool TestCoverageGLCallVertexAttribI3i(void); 380 bool TestCoverageGLCallVertexAttribI1ui(void); 381 bool TestCoverageGLCallVertexAttribI2ui(void); 382 bool TestCoverageGLCallVertexAttribI3ui(void); 383 bool TestCoverageGLCallVertexAttribI1iv(void); 384 bool TestCoverageGLCallVertexAttribI2iv(void); 385 bool TestCoverageGLCallVertexAttribI3iv(void); 386 bool TestCoverageGLCallVertexAttribI1uiv(void); 387 bool TestCoverageGLCallVertexAttribI2uiv(void); 388 bool TestCoverageGLCallVertexAttribI3uiv(void); 389 bool TestCoverageGLCallVertexAttribI4bv(void); 390 bool TestCoverageGLCallVertexAttribI4sv(void); 391 bool TestCoverageGLCallVertexAttribI4ubv(void); 392 bool TestCoverageGLCallVertexAttribI4usv(void); 393 bool TestCoverageGLCallBindFragDataLocation(void); 394 bool TestCoverageGLCallUniform1ui(void); 395 bool TestCoverageGLCallUniform3ui(void); 396 bool TestCoverageGLCallUniform4ui(void); 397 bool TestCoverageGLCallUniform1uiv(void); 398 bool TestCoverageGLCallUniform3uiv(void); 399 bool TestCoverageGLCallUniform4uiv(void); 400 bool TestCoverageGLCallTexParameterIiv(void); 401 bool TestCoverageGLCallTexParameterIuiv(void); 402 bool TestCoverageGLCallGetTexParameterIiv(void); 403 bool TestCoverageGLCallGetTexParameterIuiv(void); 404 bool TestCoverageGLCallFramebufferTexture1D(void); 405 bool TestCoverageGLCallFramebufferTexture3D(void); 406 bool TestCoverageGLCallFramebufferTextureLayer(void); 407 bool TestCoverageGLCallTexBuffer(void); 408 bool TestCoverageGLCallPrimitiveRestartIndex(void); 409 bool TestCoverageGLCallGetActiveUniformName(void); 410 bool TestCoverageGLCallGetInteger64i_v(void); 411 bool TestCoverageGLCallFramebufferTexture(void); 412 bool TestCoverageGLCallDrawElementsBaseVertex(void); 413 bool TestCoverageGLCallDrawRangeElementsBaseVertex(void); 414 bool TestCoverageGLCallDrawElementsInstancedBaseVertex(void); 415 bool TestCoverageGLCallMultiDrawElementsBaseVertex(void); 416 bool TestCoverageGLCallProvokingVertex(void); 417 bool TestCoverageGLCallTexImage2DMultisample(void); 418 bool TestCoverageGLCallTexImage3DMultisample(void); 419 bool TestCoverageGLCallGetMultisamplefv(void); 420 bool TestCoverageGLCallSampleMaski(void); 421 bool TestCoverageGLCallBindFragDataLocationIndexed(void); 422 bool TestCoverageGLCallGetFragDataIndex(void); 423 bool TestCoverageGLCallSamplerParameterIiv(void); 424 bool TestCoverageGLCallSamplerParameterIuiv(void); 425 bool TestCoverageGLCallGetSamplerParameterIiv(void); 426 bool TestCoverageGLCallGetSamplerParameterIfv(void); 427 bool TestCoverageGLCallQueryCounter(void); 428 bool TestCoverageGLCallGetQueryObjecti64v(void); 429 bool TestCoverageGLCallGetQueryObjectui64v(void); 430 bool TestCoverageGLCallVertexP2ui(void); 431 bool TestCoverageGLCallVertexP2uiv(void); 432 bool TestCoverageGLCallVertexP3ui(void); 433 bool TestCoverageGLCallVertexP3uiv(void); 434 bool TestCoverageGLCallVertexP4ui(void); 435 bool TestCoverageGLCallVertexP4uiv(void); 436 bool TestCoverageGLCallTexCoordP1ui(void); 437 bool TestCoverageGLCallTexCoordP1uiv(void); 438 bool TestCoverageGLCallTexCoordP2ui(void); 439 bool TestCoverageGLCallTexCoordP2uiv(void); 440 bool TestCoverageGLCallTexCoordP3ui(void); 441 bool TestCoverageGLCallTexCoordP3uiv(void); 442 bool TestCoverageGLCallTexCoordP4ui(void); 443 bool TestCoverageGLCallTexCoordP4uiv(void); 444 bool TestCoverageGLCallMultiTexCoordP1ui(void); 445 bool TestCoverageGLCallMultiTexCoordP1uiv(void); 446 bool TestCoverageGLCallMultiTexCoordP2ui(void); 447 bool TestCoverageGLCallMultiTexCoordP2uiv(void); 448 bool TestCoverageGLCallMultiTexCoordP3ui(void); 449 bool TestCoverageGLCallMultiTexCoordP3uiv(void); 450 bool TestCoverageGLCallMultiTexCoordP4ui(void); 451 bool TestCoverageGLCallMultiTexCoordP4uiv(void); 452 bool TestCoverageGLCallNormalP3ui(void); 453 bool TestCoverageGLCallNormalP3uiv(void); 454 bool TestCoverageGLCallColorP3ui(void); 455 bool TestCoverageGLCallColorP3uiv(void); 456 bool TestCoverageGLCallColorP4ui(void); 457 bool TestCoverageGLCallColorP4uiv(void); 458 bool TestCoverageGLCallSecondaryColorP3ui(void); 459 bool TestCoverageGLCallSecondaryColorP3uiv(void); 460 bool TestCoverageGLCallVertexAttribP1ui(void); 461 bool TestCoverageGLCallVertexAttribP1uiv(void); 462 bool TestCoverageGLCallVertexAttribP2ui(void); 463 bool TestCoverageGLCallVertexAttribP2uiv(void); 464 bool TestCoverageGLCallVertexAttribP3ui(void); 465 bool TestCoverageGLCallVertexAttribP3uiv(void); 466 bool TestCoverageGLCallVertexAttribP4ui(void); 467 bool TestCoverageGLCallVertexAttribP4uiv(void); 468 bool TestCoverageGLCallDrawArraysIndirect(void); 469 bool TestCoverageGLCallDrawElementsIndirect(void); 470 bool TestCoverageGLCallUniform1d(void); 471 bool TestCoverageGLCallUniform2d(void); 472 bool TestCoverageGLCallUniform3d(void); 473 bool TestCoverageGLCallUniform4d(void); 474 bool TestCoverageGLCallUniform1dv(void); 475 bool TestCoverageGLCallUniform2dv(void); 476 bool TestCoverageGLCallUniform3dv(void); 477 bool TestCoverageGLCallUniform4dv(void); 478 bool TestCoverageGLCallUniformMatrix2dv(void); 479 bool TestCoverageGLCallUniformMatrix3dv(void); 480 bool TestCoverageGLCallUniformMatrix4dv(void); 481 bool TestCoverageGLCallUniformMatrix2x3dv(void); 482 bool TestCoverageGLCallUniformMatrix2x4dv(void); 483 bool TestCoverageGLCallUniformMatrix3x2dv(void); 484 bool TestCoverageGLCallUniformMatrix3x4dv(void); 485 bool TestCoverageGLCallUniformMatrix4x2dv(void); 486 bool TestCoverageGLCallUniformMatrix4x3dv(void); 487 bool TestCoverageGLCallGetUniformdv(void); 488 bool TestCoverageGLCallProgramUniform1dEXT(void); 489 bool TestCoverageGLCallProgramUniform2dEXT(void); 490 bool TestCoverageGLCallProgramUniform3dEXT(void); 491 bool TestCoverageGLCallProgramUniform4dEXT(void); 492 bool TestCoverageGLCallProgramUniform1dvEXT(void); 493 bool TestCoverageGLCallProgramUniform2dvEXT(void); 494 bool TestCoverageGLCallProgramUniform3dvEXT(void); 495 bool TestCoverageGLCallProgramUniform4dvEXT(void); 496 bool TestCoverageGLCallProgramUniformMatrix2dvEXT(void); 497 bool TestCoverageGLCallProgramUniformMatrix3dvEXT(void); 498 bool TestCoverageGLCallProgramUniformMatrix4dvEXT(void); 499 bool TestCoverageGLCallProgramUniformMatrix2x3dvEXT(void); 500 bool TestCoverageGLCallProgramUniformMatrix2x4dvEXT(void); 501 bool TestCoverageGLCallProgramUniformMatrix3x2dvEXT(void); 502 bool TestCoverageGLCallProgramUniformMatrix3x4dvEXT(void); 503 bool TestCoverageGLCallProgramUniformMatrix4x2dvEXT(void); 504 bool TestCoverageGLCallProgramUniformMatrix4x3dvEXT(void); 505 bool TestCoverageGLCallGetSubroutineUniformLocation(void); 506 bool TestCoverageGLCallGetSubroutineIndex(void); 507 bool TestCoverageGLCallGetActiveSubroutineUniformiv(void); 508 bool TestCoverageGLCallGetActiveSubroutineUniformName(void); 509 bool TestCoverageGLCallGetActiveSubroutineName(void); 510 bool TestCoverageGLCallUniformSubroutinesuiv(void); 511 bool TestCoverageGLCallGetUniformSubroutineuiv(void); 512 bool TestCoverageGLCallGetProgramStageiv(void); 513 bool TestCoverageGLCallPatchParameteri(void); 514 bool TestCoverageGLCallPatchParameterfv(void); 515 bool TestCoverageGLCallDrawTransformFeedback(void); 516 bool TestCoverageGLCallDrawTransformFeedbackStream(void); 517 bool TestCoverageGLCallBeginQueryIndexed(void); 518 bool TestCoverageGLCallEndQueryIndexed(void); 519 bool TestCoverageGLCallGetQueryIndexediv(void); 520 521 glw::GLsizei TestCoverageGLGetNumPaletteEntries(glw::GLenum format); 522 glw::GLsizei TestCoverageGLGetCompressedPixelsSize(glw::GLenum internalformat, glw::GLsizei width, 523 glw::GLsizei height, glw::GLsizei border); 524 glw::GLsizei TestCoverageGLGetCompressedPaletteSize(glw::GLenum internalformat); 525 glw::GLsizei TestCoverageGLGetPixelSize(glw::GLenum format); 526 glw::GLsizei TestCoverageGLGetCompressedTextureSize(glw::GLenum internalformat, glw::GLsizei width, 527 glw::GLsizei height, glw::GLsizei border); 528 529 private: 530 std::map<std::string, test_func_ptr> funcs_map; 531 std::map<std::string, std::string> specialization_map; 532 533 static const glw::GLchar *m_vert_shader; 534 static const glw::GLchar *m_frag_shader; 535 536 static const glw::GLuint m_defaultFBO = 0; 537 538 std::string m_config_name; 539 static std::vector<std::string> m_version_names; 540 bool m_is_context_ES; 541 bool m_is_transform_feedback_obj_supported; 542 glu::ContextType m_context_type; 543 544 private: 545 std::vector<enumTestRec> ea_BlendEquation; 546 std::vector<enumTestRec> ea_BlendEquationSeparate1; 547 std::vector<enumTestRec> ea_BlendEquationSeparate2; 548 std::vector<enumTestRec> ea_BlendFunc1; 549 std::vector<enumTestRec> ea_BlendFunc2; 550 std::vector<enumTestRec> ea_BlendFuncSeparate1; 551 std::vector<enumTestRec> ea_BlendFuncSeparate2; 552 std::vector<enumTestRec> ea_BlendFuncSeparate3; 553 std::vector<enumTestRec> ea_BlendFuncSeparate4; 554 std::vector<enumTestRec> ea_BufferObjectTargets; 555 std::vector<enumTestRec> ea_BufferObjectUsages; 556 std::vector<enumTestRec> ea_ClearBufferMask; 557 std::vector<enumTestRec> ea_CompressedTextureFormats; 558 std::vector<enumTestRec> ea_ShaderTypes; 559 std::vector<enumTestRec> ea_CullFaceMode; 560 std::vector<enumTestRec> ea_DepthFunction; 561 std::vector<enumTestRec> ea_Enable; 562 std::vector<enumTestRec> ea_Primitives; 563 std::vector<enumTestRec> ea_Face; 564 std::vector<enumTestRec> ea_FrameBufferTargets; 565 std::vector<enumTestRec> ea_FrameBufferAttachments; 566 std::vector<enumTestRec> ea_FrontFaceDirection; 567 std::vector<enumTestRec> ea_GetBoolean; 568 std::vector<enumTestRec> ea_GetBufferParameter; 569 std::vector<enumTestRec> ea_GetBufferParameter_OES_mapbuffer; 570 std::vector<enumTestRec> ea_GetFloat; 571 std::vector<enumTestRec> ea_GetFramebufferAttachmentParameter; 572 std::vector<enumTestRec> ea_GetInteger; 573 std::vector<enumTestRec> ea_GetInteger_OES_Texture_3D; 574 std::vector<enumTestRec> ea_GetPointer; 575 std::vector<enumTestRec> ea_HintTarget_OES_fragment_shader_derivative; 576 std::vector<enumTestRec> ea_InvalidRenderBufferFormats; 577 std::vector<enumTestRec> ea_RenderBufferFormats_OES_rgb8_rgba8; 578 std::vector<enumTestRec> ea_RenderBufferFormats_OES_depth_component24; 579 std::vector<enumTestRec> ea_RenderBufferFormats_OES_depth_component32; 580 std::vector<enumTestRec> ea_RenderBufferFormats_OES_stencil1; 581 std::vector<enumTestRec> ea_RenderBufferFormats_OES_stencil4; 582 std::vector<enumTestRec> ea_ShaderPrecision; 583 std::vector<enumTestRec> ea_GetIntegerES3; 584 std::vector<enumTestRec> ea_GetProgram; 585 std::vector<enumTestRec> ea_GetRenderBufferParameter; 586 std::vector<enumTestRec> ea_GetShaderStatus; 587 std::vector<enumTestRec> ea_GetString; 588 std::vector<enumTestRec> ea_GetTexParameter; 589 std::vector<enumTestRec> ea_GetVertexAttrib; 590 std::vector<enumTestRec> ea_GetVertexAttribPointer; 591 std::vector<enumTestRec> ea_HintMode; 592 std::vector<enumTestRec> ea_HintTarget; 593 std::vector<enumTestRec> ea_PixelStore; 594 std::vector<enumTestRec> ea_RenderBufferFormats; 595 std::vector<enumTestRec> ea_RenderBufferTargets; 596 std::vector<enumTestRec> ea_RenderBufferInvalidTargets; 597 std::vector<enumTestRec> ea_StencilFunction; 598 std::vector<enumTestRec> ea_StencilOp; 599 std::vector<enumTestRec> ea_TextureFormat; 600 std::vector<enumTestRec> ea_TextureMagFilter; 601 std::vector<enumTestRec> ea_TextureMinFilter; 602 std::vector<enumTestRec> ea_TextureTarget; 603 std::vector<enumTestRec> ea_TextureType; 604 std::vector<enumTestRec> ea_TextureWrapMode; 605 std::vector<enumTestRec> ea_GetBufferParameteri64v; 606 std::vector<enumTestRec> ea_ReadBuffer; 607 std::vector<enumTestRec> ea_Texture3DTarget; 608 std::vector<enumTestRec> ea_CompressedTexture3DTarget; 609 std::vector<enumTestRec> ea_CompressedTextureFormat; 610 std::vector<glw::GLsizei> CompressedTextureSize; 611 std::vector<enumTestRec> ea_DrawBuffers; 612 std::vector<enumTestRec> ea_GetInteger64v; 613 std::vector<enumTestRec> ea_GetSynciv; 614 std::vector<enumTestRec> ea_InvalidateFramebuffer; 615 }; 616 617 /** Test group which encapsulates all conformance tests */ 618 class ApiCoverageTests : public deqp::TestCaseGroup 619 { 620 public: 621 /* Public methods */ 622 ApiCoverageTests(deqp::Context &context); 623 624 void init(); 625 626 private: 627 ApiCoverageTests(const ApiCoverageTests &other); 628 ApiCoverageTests &operator=(const ApiCoverageTests &other); 629 }; 630 631 } // namespace glcts 632 633 #endif // _GLCAPICOVERAGETESTS_HPP 634