1 // GENERATED FILE - DO NOT EDIT. 2 // Generated by generate_entry_points.py using data from egl.xml and egl_angle_ext.xml. 3 // 4 // Copyright 2020 The ANGLE Project Authors. All rights reserved. 5 // Use of this source code is governed by a BSD-style license that can be 6 // found in the LICENSE file. 7 // 8 // validationEGL_autogen.h: 9 // Validation functions for the EGL entry points. 10 11 #ifndef LIBANGLE_VALIDATION_EGL_AUTOGEN_H_ 12 #define LIBANGLE_VALIDATION_EGL_AUTOGEN_H_ 13 14 #include "libANGLE/validationEGL.h" 15 16 namespace egl 17 { 18 19 // EGL 1.0 20 bool ValidateChooseConfig(const ValidationContext *val, 21 const egl::Display *dpyPacked, 22 const AttributeMap &attrib_listPacked, 23 const EGLConfig *configs, 24 EGLint config_size, 25 const EGLint *num_config); 26 bool ValidateCopyBuffers(const ValidationContext *val, 27 const egl::Display *dpyPacked, 28 SurfaceID surfacePacked, 29 EGLNativePixmapType target); 30 bool ValidateCreateContext(const ValidationContext *val, 31 const egl::Display *dpyPacked, 32 const egl::Config *configPacked, 33 gl::ContextID share_contextPacked, 34 const AttributeMap &attrib_listPacked); 35 bool ValidateCreatePbufferSurface(const ValidationContext *val, 36 const egl::Display *dpyPacked, 37 const egl::Config *configPacked, 38 const AttributeMap &attrib_listPacked); 39 bool ValidateCreatePixmapSurface(const ValidationContext *val, 40 const egl::Display *dpyPacked, 41 const egl::Config *configPacked, 42 EGLNativePixmapType pixmap, 43 const AttributeMap &attrib_listPacked); 44 bool ValidateCreateWindowSurface(const ValidationContext *val, 45 const egl::Display *dpyPacked, 46 const egl::Config *configPacked, 47 EGLNativeWindowType win, 48 const AttributeMap &attrib_listPacked); 49 bool ValidateDestroyContext(const ValidationContext *val, 50 const egl::Display *dpyPacked, 51 gl::ContextID ctxPacked); 52 bool ValidateDestroySurface(const ValidationContext *val, 53 const egl::Display *dpyPacked, 54 SurfaceID surfacePacked); 55 bool ValidateGetConfigAttrib(const ValidationContext *val, 56 const egl::Display *dpyPacked, 57 const egl::Config *configPacked, 58 EGLint attribute, 59 const EGLint *value); 60 bool ValidateGetConfigs(const ValidationContext *val, 61 const egl::Display *dpyPacked, 62 const EGLConfig *configs, 63 EGLint config_size, 64 const EGLint *num_config); 65 bool ValidateGetCurrentDisplay(const ValidationContext *val); 66 bool ValidateGetCurrentSurface(const ValidationContext *val, EGLint readdraw); 67 bool ValidateGetDisplay(const ValidationContext *val, EGLNativeDisplayType display_id); 68 bool ValidateGetError(const ValidationContext *val); 69 bool ValidateGetProcAddress(const ValidationContext *val, const char *procname); 70 bool ValidateInitialize(const ValidationContext *val, 71 const egl::Display *dpyPacked, 72 const EGLint *major, 73 const EGLint *minor); 74 bool ValidateMakeCurrent(const ValidationContext *val, 75 const egl::Display *dpyPacked, 76 SurfaceID drawPacked, 77 SurfaceID readPacked, 78 gl::ContextID ctxPacked); 79 bool ValidateQueryContext(const ValidationContext *val, 80 const egl::Display *dpyPacked, 81 gl::ContextID ctxPacked, 82 EGLint attribute, 83 const EGLint *value); 84 bool ValidateQueryString(const ValidationContext *val, const egl::Display *dpyPacked, EGLint name); 85 bool ValidateQuerySurface(const ValidationContext *val, 86 const egl::Display *dpyPacked, 87 SurfaceID surfacePacked, 88 EGLint attribute, 89 const EGLint *value); 90 bool ValidateSwapBuffers(const ValidationContext *val, 91 const egl::Display *dpyPacked, 92 SurfaceID surfacePacked); 93 bool ValidateTerminate(const ValidationContext *val, const egl::Display *dpyPacked); 94 bool ValidateWaitGL(const ValidationContext *val); 95 bool ValidateWaitNative(const ValidationContext *val, EGLint engine); 96 97 // EGL 1.1 98 bool ValidateBindTexImage(const ValidationContext *val, 99 const egl::Display *dpyPacked, 100 SurfaceID surfacePacked, 101 EGLint buffer); 102 bool ValidateReleaseTexImage(const ValidationContext *val, 103 const egl::Display *dpyPacked, 104 SurfaceID surfacePacked, 105 EGLint buffer); 106 bool ValidateSurfaceAttrib(const ValidationContext *val, 107 const egl::Display *dpyPacked, 108 SurfaceID surfacePacked, 109 EGLint attribute, 110 EGLint value); 111 bool ValidateSwapInterval(const ValidationContext *val, 112 const egl::Display *dpyPacked, 113 EGLint interval); 114 115 // EGL 1.2 116 bool ValidateBindAPI(const ValidationContext *val, EGLenum api); 117 bool ValidateCreatePbufferFromClientBuffer(const ValidationContext *val, 118 const egl::Display *dpyPacked, 119 EGLenum buftype, 120 EGLClientBuffer buffer, 121 const egl::Config *configPacked, 122 const AttributeMap &attrib_listPacked); 123 bool ValidateQueryAPI(const ValidationContext *val); 124 bool ValidateReleaseThread(const ValidationContext *val); 125 bool ValidateWaitClient(const ValidationContext *val); 126 127 // EGL 1.4 128 bool ValidateGetCurrentContext(const ValidationContext *val); 129 130 // EGL 1.5 131 bool ValidateClientWaitSync(const ValidationContext *val, 132 const egl::Display *dpyPacked, 133 egl::SyncID syncPacked, 134 EGLint flags, 135 EGLTime timeout); 136 bool ValidateCreateImage(const ValidationContext *val, 137 const egl::Display *dpyPacked, 138 gl::ContextID ctxPacked, 139 EGLenum target, 140 EGLClientBuffer buffer, 141 const AttributeMap &attrib_listPacked); 142 bool ValidateCreatePlatformPixmapSurface(const ValidationContext *val, 143 const egl::Display *dpyPacked, 144 const egl::Config *configPacked, 145 const void *native_pixmap, 146 const AttributeMap &attrib_listPacked); 147 bool ValidateCreatePlatformWindowSurface(const ValidationContext *val, 148 const egl::Display *dpyPacked, 149 const egl::Config *configPacked, 150 const void *native_window, 151 const AttributeMap &attrib_listPacked); 152 bool ValidateCreateSync(const ValidationContext *val, 153 const egl::Display *dpyPacked, 154 EGLenum type, 155 const AttributeMap &attrib_listPacked); 156 bool ValidateDestroyImage(const ValidationContext *val, 157 const egl::Display *dpyPacked, 158 ImageID imagePacked); 159 bool ValidateDestroySync(const ValidationContext *val, 160 const egl::Display *dpyPacked, 161 egl::SyncID syncPacked); 162 bool ValidateGetPlatformDisplay(const ValidationContext *val, 163 EGLenum platform, 164 const void *native_display, 165 const AttributeMap &attrib_listPacked); 166 bool ValidateGetSyncAttrib(const ValidationContext *val, 167 const egl::Display *dpyPacked, 168 egl::SyncID syncPacked, 169 EGLint attribute, 170 const EGLAttrib *value); 171 bool ValidateWaitSync(const ValidationContext *val, 172 const egl::Display *dpyPacked, 173 egl::SyncID syncPacked, 174 EGLint flags); 175 176 // EGL_ANDROID_blob_cache 177 bool ValidateSetBlobCacheFuncsANDROID(const ValidationContext *val, 178 const egl::Display *dpyPacked, 179 EGLSetBlobFuncANDROID set, 180 EGLGetBlobFuncANDROID get); 181 182 // EGL_ANDROID_create_native_client_buffer 183 bool ValidateCreateNativeClientBufferANDROID(const ValidationContext *val, 184 const AttributeMap &attrib_listPacked); 185 186 // EGL_ANDROID_get_frame_timestamps 187 bool ValidateGetCompositorTimingSupportedANDROID(const ValidationContext *val, 188 const egl::Display *dpyPacked, 189 SurfaceID surfacePacked, 190 CompositorTiming namePacked); 191 bool ValidateGetCompositorTimingANDROID(const ValidationContext *val, 192 const egl::Display *dpyPacked, 193 SurfaceID surfacePacked, 194 EGLint numTimestamps, 195 const EGLint *names, 196 const EGLnsecsANDROID *values); 197 bool ValidateGetNextFrameIdANDROID(const ValidationContext *val, 198 const egl::Display *dpyPacked, 199 SurfaceID surfacePacked, 200 const EGLuint64KHR *frameId); 201 bool ValidateGetFrameTimestampSupportedANDROID(const ValidationContext *val, 202 const egl::Display *dpyPacked, 203 SurfaceID surfacePacked, 204 Timestamp timestampPacked); 205 bool ValidateGetFrameTimestampsANDROID(const ValidationContext *val, 206 const egl::Display *dpyPacked, 207 SurfaceID surfacePacked, 208 EGLuint64KHR frameId, 209 EGLint numTimestamps, 210 const EGLint *timestamps, 211 const EGLnsecsANDROID *values); 212 213 // EGL_ANDROID_get_native_client_buffer 214 bool ValidateGetNativeClientBufferANDROID(const ValidationContext *val, 215 const struct AHardwareBuffer *buffer); 216 217 // EGL_ANDROID_native_fence_sync 218 bool ValidateDupNativeFenceFDANDROID(const ValidationContext *val, 219 const egl::Display *dpyPacked, 220 egl::SyncID syncPacked); 221 222 // EGL_ANDROID_presentation_time 223 bool ValidatePresentationTimeANDROID(const ValidationContext *val, 224 const egl::Display *dpyPacked, 225 SurfaceID surfacePacked, 226 EGLnsecsANDROID time); 227 228 // EGL_ANGLE_device_creation 229 bool ValidateCreateDeviceANGLE(const ValidationContext *val, 230 EGLint device_type, 231 const void *native_device, 232 const EGLAttrib *attrib_list); 233 bool ValidateReleaseDeviceANGLE(const ValidationContext *val, const egl::Device *devicePacked); 234 235 // EGL_ANGLE_device_vulkan 236 bool ValidateLockVulkanQueueANGLE(const ValidationContext *val, const egl::Display *dpyPacked); 237 bool ValidateUnlockVulkanQueueANGLE(const ValidationContext *val, const egl::Display *dpyPacked); 238 239 // EGL_ANGLE_external_context_and_surface 240 bool ValidateAcquireExternalContextANGLE(const ValidationContext *val, 241 const egl::Display *dpyPacked, 242 SurfaceID drawAndReadPacked); 243 bool ValidateReleaseExternalContextANGLE(const ValidationContext *val, 244 const egl::Display *dpyPacked); 245 246 // EGL_ANGLE_feature_control 247 bool ValidateQueryStringiANGLE(const ValidationContext *val, 248 const egl::Display *dpyPacked, 249 EGLint name, 250 EGLint index); 251 bool ValidateQueryDisplayAttribANGLE(const ValidationContext *val, 252 const egl::Display *dpyPacked, 253 EGLint attribute, 254 const EGLAttrib *value); 255 256 // EGL_ANGLE_metal_shared_event_sync 257 bool ValidateCopyMetalSharedEventANGLE(const ValidationContext *val, 258 const egl::Display *dpyPacked, 259 egl::SyncID syncPacked); 260 261 // EGL_ANGLE_no_error 262 bool ValidateSetValidationEnabledANGLE(const ValidationContext *val, EGLBoolean validationState); 263 264 // EGL_ANGLE_power_preference 265 bool ValidateReleaseHighPowerGPUANGLE(const ValidationContext *val, 266 const egl::Display *dpyPacked, 267 gl::ContextID ctxPacked); 268 bool ValidateReacquireHighPowerGPUANGLE(const ValidationContext *val, 269 const egl::Display *dpyPacked, 270 gl::ContextID ctxPacked); 271 bool ValidateHandleGPUSwitchANGLE(const ValidationContext *val, const egl::Display *dpyPacked); 272 bool ValidateForceGPUSwitchANGLE(const ValidationContext *val, 273 const egl::Display *dpyPacked, 274 EGLint gpuIDHigh, 275 EGLint gpuIDLow); 276 277 // EGL_ANGLE_prepare_swap_buffers 278 bool ValidatePrepareSwapBuffersANGLE(const ValidationContext *val, 279 const egl::Display *dpyPacked, 280 SurfaceID surfacePacked); 281 282 // EGL_ANGLE_program_cache_control 283 bool ValidateProgramCacheGetAttribANGLE(const ValidationContext *val, 284 const egl::Display *dpyPacked, 285 EGLenum attrib); 286 bool ValidateProgramCacheQueryANGLE(const ValidationContext *val, 287 const egl::Display *dpyPacked, 288 EGLint index, 289 const void *key, 290 const EGLint *keysize, 291 const void *binary, 292 const EGLint *binarysize); 293 bool ValidateProgramCachePopulateANGLE(const ValidationContext *val, 294 const egl::Display *dpyPacked, 295 const void *key, 296 EGLint keysize, 297 const void *binary, 298 EGLint binarysize); 299 bool ValidateProgramCacheResizeANGLE(const ValidationContext *val, 300 const egl::Display *dpyPacked, 301 EGLint limit, 302 EGLint mode); 303 304 // EGL_ANGLE_query_surface_pointer 305 bool ValidateQuerySurfacePointerANGLE(const ValidationContext *val, 306 const egl::Display *dpyPacked, 307 SurfaceID surfacePacked, 308 EGLint attribute, 309 void *const *value); 310 311 // EGL_ANGLE_stream_producer_d3d_texture 312 bool ValidateCreateStreamProducerD3DTextureANGLE(const ValidationContext *val, 313 const egl::Display *dpyPacked, 314 const egl::Stream *streamPacked, 315 const AttributeMap &attrib_listPacked); 316 bool ValidateStreamPostD3DTextureANGLE(const ValidationContext *val, 317 const egl::Display *dpyPacked, 318 const egl::Stream *streamPacked, 319 const void *texture, 320 const AttributeMap &attrib_listPacked); 321 322 // EGL_ANGLE_sync_control_rate 323 bool ValidateGetMscRateANGLE(const ValidationContext *val, 324 const egl::Display *dpyPacked, 325 SurfaceID surfacePacked, 326 const EGLint *numerator, 327 const EGLint *denominator); 328 329 // EGL_ANGLE_vulkan_image 330 bool ValidateExportVkImageANGLE(const ValidationContext *val, 331 const egl::Display *dpyPacked, 332 ImageID imagePacked, 333 const void *vk_image, 334 const void *vk_image_create_info); 335 336 // EGL_ANGLE_wait_until_work_scheduled 337 bool ValidateWaitUntilWorkScheduledANGLE(const ValidationContext *val, 338 const egl::Display *dpyPacked); 339 340 // EGL_CHROMIUM_sync_control 341 bool ValidateGetSyncValuesCHROMIUM(const ValidationContext *val, 342 const egl::Display *dpyPacked, 343 SurfaceID surfacePacked, 344 const EGLuint64KHR *ust, 345 const EGLuint64KHR *msc, 346 const EGLuint64KHR *sbc); 347 348 // EGL_EXT_device_query 349 bool ValidateQueryDeviceAttribEXT(const ValidationContext *val, 350 const egl::Device *devicePacked, 351 EGLint attribute, 352 const EGLAttrib *value); 353 bool ValidateQueryDeviceStringEXT(const ValidationContext *val, 354 const egl::Device *devicePacked, 355 EGLint name); 356 bool ValidateQueryDisplayAttribEXT(const ValidationContext *val, 357 const egl::Display *dpyPacked, 358 EGLint attribute, 359 const EGLAttrib *value); 360 361 // EGL_EXT_image_dma_buf_import_modifiers 362 bool ValidateQueryDmaBufFormatsEXT(const ValidationContext *val, 363 const egl::Display *dpyPacked, 364 EGLint max_formats, 365 const EGLint *formats, 366 const EGLint *num_formats); 367 bool ValidateQueryDmaBufModifiersEXT(const ValidationContext *val, 368 const egl::Display *dpyPacked, 369 EGLint format, 370 EGLint max_modifiers, 371 const EGLuint64KHR *modifiers, 372 const EGLBoolean *external_only, 373 const EGLint *num_modifiers); 374 375 // EGL_EXT_platform_base 376 bool ValidateCreatePlatformPixmapSurfaceEXT(const ValidationContext *val, 377 const egl::Display *dpyPacked, 378 const egl::Config *configPacked, 379 const void *native_pixmap, 380 const AttributeMap &attrib_listPacked); 381 bool ValidateCreatePlatformWindowSurfaceEXT(const ValidationContext *val, 382 const egl::Display *dpyPacked, 383 const egl::Config *configPacked, 384 const void *native_window, 385 const AttributeMap &attrib_listPacked); 386 bool ValidateGetPlatformDisplayEXT(const ValidationContext *val, 387 EGLenum platform, 388 const void *native_display, 389 const AttributeMap &attrib_listPacked); 390 391 // EGL_EXT_surface_compression 392 bool ValidateQuerySupportedCompressionRatesEXT(const ValidationContext *val, 393 const egl::Display *dpyPacked, 394 const egl::Config *configPacked, 395 const EGLAttrib *attrib_list, 396 const EGLint *rates, 397 EGLint rate_size, 398 const EGLint *num_rates); 399 400 // EGL_KHR_debug 401 bool ValidateDebugMessageControlKHR(const ValidationContext *val, 402 EGLDEBUGPROCKHR callback, 403 const AttributeMap &attrib_listPacked); 404 bool ValidateLabelObjectKHR(const ValidationContext *val, 405 const egl::Display *displayPacked, 406 ObjectType objectTypePacked, 407 EGLObjectKHR object, 408 EGLLabelKHR label); 409 bool ValidateQueryDebugKHR(const ValidationContext *val, EGLint attribute, const EGLAttrib *value); 410 411 // EGL_KHR_fence_sync 412 bool ValidateClientWaitSyncKHR(const ValidationContext *val, 413 const egl::Display *dpyPacked, 414 egl::SyncID syncPacked, 415 EGLint flags, 416 EGLTimeKHR timeout); 417 bool ValidateCreateSyncKHR(const ValidationContext *val, 418 const egl::Display *dpyPacked, 419 EGLenum type, 420 const AttributeMap &attrib_listPacked); 421 bool ValidateDestroySyncKHR(const ValidationContext *val, 422 const egl::Display *dpyPacked, 423 egl::SyncID syncPacked); 424 bool ValidateGetSyncAttribKHR(const ValidationContext *val, 425 const egl::Display *dpyPacked, 426 egl::SyncID syncPacked, 427 EGLint attribute, 428 const EGLint *value); 429 430 // EGL_KHR_image 431 bool ValidateCreateImageKHR(const ValidationContext *val, 432 const egl::Display *dpyPacked, 433 gl::ContextID ctxPacked, 434 EGLenum target, 435 EGLClientBuffer buffer, 436 const AttributeMap &attrib_listPacked); 437 bool ValidateDestroyImageKHR(const ValidationContext *val, 438 const egl::Display *dpyPacked, 439 ImageID imagePacked); 440 441 // EGL_KHR_lock_surface3 442 bool ValidateLockSurfaceKHR(const ValidationContext *val, 443 const egl::Display *dpyPacked, 444 SurfaceID surfacePacked, 445 const AttributeMap &attrib_listPacked); 446 bool ValidateQuerySurface64KHR(const ValidationContext *val, 447 const egl::Display *dpyPacked, 448 SurfaceID surfacePacked, 449 EGLint attribute, 450 const EGLAttribKHR *value); 451 bool ValidateUnlockSurfaceKHR(const ValidationContext *val, 452 const egl::Display *dpyPacked, 453 SurfaceID surfacePacked); 454 455 // EGL_KHR_partial_update 456 bool ValidateSetDamageRegionKHR(const ValidationContext *val, 457 const egl::Display *dpyPacked, 458 SurfaceID surfacePacked, 459 const EGLint *rects, 460 EGLint n_rects); 461 462 // EGL_KHR_reusable_sync 463 bool ValidateSignalSyncKHR(const ValidationContext *val, 464 const egl::Display *dpyPacked, 465 egl::SyncID syncPacked, 466 EGLenum mode); 467 468 // EGL_KHR_stream 469 bool ValidateCreateStreamKHR(const ValidationContext *val, 470 const egl::Display *dpyPacked, 471 const AttributeMap &attrib_listPacked); 472 bool ValidateDestroyStreamKHR(const ValidationContext *val, 473 const egl::Display *dpyPacked, 474 const egl::Stream *streamPacked); 475 bool ValidateQueryStreamKHR(const ValidationContext *val, 476 const egl::Display *dpyPacked, 477 const egl::Stream *streamPacked, 478 EGLenum attribute, 479 const EGLint *value); 480 bool ValidateQueryStreamu64KHR(const ValidationContext *val, 481 const egl::Display *dpyPacked, 482 const egl::Stream *streamPacked, 483 EGLenum attribute, 484 const EGLuint64KHR *value); 485 bool ValidateStreamAttribKHR(const ValidationContext *val, 486 const egl::Display *dpyPacked, 487 const egl::Stream *streamPacked, 488 EGLenum attribute, 489 EGLint value); 490 491 // EGL_KHR_stream_consumer_gltexture 492 bool ValidateStreamConsumerAcquireKHR(const ValidationContext *val, 493 const egl::Display *dpyPacked, 494 const egl::Stream *streamPacked); 495 bool ValidateStreamConsumerGLTextureExternalKHR(const ValidationContext *val, 496 const egl::Display *dpyPacked, 497 const egl::Stream *streamPacked); 498 bool ValidateStreamConsumerReleaseKHR(const ValidationContext *val, 499 const egl::Display *dpyPacked, 500 const egl::Stream *streamPacked); 501 502 // EGL_KHR_swap_buffers_with_damage 503 bool ValidateSwapBuffersWithDamageKHR(const ValidationContext *val, 504 const egl::Display *dpyPacked, 505 SurfaceID surfacePacked, 506 const EGLint *rects, 507 EGLint n_rects); 508 509 // EGL_KHR_wait_sync 510 bool ValidateWaitSyncKHR(const ValidationContext *val, 511 const egl::Display *dpyPacked, 512 egl::SyncID syncPacked, 513 EGLint flags); 514 515 // EGL_NV_post_sub_buffer 516 bool ValidatePostSubBufferNV(const ValidationContext *val, 517 const egl::Display *dpyPacked, 518 SurfaceID surfacePacked, 519 EGLint x, 520 EGLint y, 521 EGLint width, 522 EGLint height); 523 524 // EGL_NV_stream_consumer_gltexture_yuv 525 bool ValidateStreamConsumerGLTextureExternalAttribsNV(const ValidationContext *val, 526 const egl::Display *dpyPacked, 527 const egl::Stream *streamPacked, 528 const AttributeMap &attrib_listPacked); 529 } // namespace egl 530 531 #endif // LIBANGLE_VALIDATION_EGL_AUTOGEN_H_ 532