Hash :
8403e4c5
Author :
Date :
2022-10-10T20:59:29
EGL: Resource IDs for Surface, Context and EGL Image. This will make these classes play nicely with resource maps. As these objects are used in a lot of places, and simplified C can't handle unordered_map, it's necessary to index the maps by simple packed IDs in capture/replay code. This indirection will also have increased safety as we validate EGL resource ID handle values before accessing the memory directly. Also hides some of the other EGL capture methods behind helper methods to simplify the C code and hide assignments and other complex maps. Bug: angleproject:7758 Change-Id: Ibc7bb56430d3068bd38877c9dfb011979d4ea234 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957164 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617
// GENERATED FILE - DO NOT EDIT.
// Generated by generate_entry_points.py using data from gl.xml.
//
// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Context_gles_ext_autogen.h: Creates a macro for interfaces in Context.
#ifndef ANGLE_CONTEXT_GLES_EXT_AUTOGEN_H_
#define ANGLE_CONTEXT_GLES_EXT_AUTOGEN_H_
#define ANGLE_GLES_EXT_CONTEXT_API \
\
/* GLES1 Extensions */ \
\
/* GL_OES_draw_texture */ \
void drawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); \
void drawTexfv(const GLfloat *coords); \
void drawTexi(GLint x, GLint y, GLint z, GLint width, GLint height); \
void drawTexiv(const GLint *coords); \
void drawTexs(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); \
void drawTexsv(const GLshort *coords); \
void drawTexx(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); \
void drawTexxv(const GLfixed *coords); \
/* GL_OES_framebuffer_object */ \
/* GL_OES_matrix_palette */ \
void currentPaletteMatrix(GLuint matrixpaletteindex); \
void loadPaletteFromModelViewMatrix(); \
void matrixIndexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer); \
void weightPointer(GLint size, GLenum type, GLsizei stride, const void *pointer); \
/* GL_OES_point_size_array */ \
void pointSizePointer(VertexAttribType typePacked, GLsizei stride, const void *pointer); \
/* GL_OES_point_sprite */ \
/* GL_OES_query_matrix */ \
GLbitfield queryMatrixx(GLfixed *mantissa, GLint *exponent); \
/* GL_OES_texture_cube_map */ \
void getTexGenfv(GLenum coord, GLenum pname, GLfloat *params); \
void getTexGeniv(GLenum coord, GLenum pname, GLint *params); \
void getTexGenxv(GLenum coord, GLenum pname, GLfixed *params); \
void texGenf(GLenum coord, GLenum pname, GLfloat param); \
void texGenfv(GLenum coord, GLenum pname, const GLfloat *params); \
void texGeni(GLenum coord, GLenum pname, GLint param); \
void texGeniv(GLenum coord, GLenum pname, const GLint *params); \
void texGenx(GLenum coord, GLenum pname, GLfixed param); \
void texGenxv(GLenum coord, GLenum pname, const GLfixed *params); \
\
/* GLES2+ Extensions */ \
\
/* GL_AMD_performance_monitor */ \
void beginPerfMonitor(GLuint monitor); \
void deletePerfMonitors(GLsizei n, GLuint *monitors); \
void endPerfMonitor(GLuint monitor); \
void genPerfMonitors(GLsizei n, GLuint *monitors); \
void getPerfMonitorCounterData(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, \
GLint *bytesWritten); \
void getPerfMonitorCounterInfo(GLuint group, GLuint counter, GLenum pname, void *data); \
void getPerfMonitorCounterString(GLuint group, GLuint counter, GLsizei bufSize, \
GLsizei *length, GLchar *counterString); \
void getPerfMonitorCounters(GLuint group, GLint *numCounters, GLint *maxActiveCounters, \
GLsizei counterSize, GLuint *counters); \
void getPerfMonitorGroupString(GLuint group, GLsizei bufSize, GLsizei *length, \
GLchar *groupString); \
void getPerfMonitorGroups(GLint *numGroups, GLsizei groupsSize, GLuint *groups); \
void selectPerfMonitorCounters(GLuint monitor, GLboolean enable, GLuint group, \
GLint numCounters, GLuint *counterList); \
/* GL_ANDROID_extension_pack_es31a */ \
/* GL_ANGLE_depth_texture */ \
/* GL_ANGLE_framebuffer_blit */ \
/* GL_ANGLE_instanced_arrays */ \
/* GL_ANGLE_pack_reverse_row_order */ \
/* GL_ANGLE_texture_usage */ \
/* GL_ANGLE_translated_shader_source */ \
void getTranslatedShaderSource(ShaderProgramID shaderPacked, GLsizei bufSize, GLsizei *length, \
GLchar *source); \
/* GL_APPLE_clip_distance */ \
/* GL_ARB_sync */ \
/* GL_EXT_EGL_image_array */ \
/* GL_EXT_EGL_image_external_wrap_modes */ \
/* GL_EXT_EGL_image_storage */ \
void eGLImageTargetTexStorage(GLenum target, egl::ImageID imagePacked, \
const GLint *attrib_list); \
void eGLImageTargetTextureStorage(GLuint texture, egl::ImageID imagePacked, \
const GLint *attrib_list); \
/* GL_EXT_YUV_target */ \
/* GL_EXT_base_instance */ \
void drawArraysInstancedBaseInstance(PrimitiveMode modePacked, GLint first, GLsizei count, \
GLsizei instancecount, GLuint baseinstance); \
void drawElementsInstancedBaseInstance(PrimitiveMode modePacked, GLsizei count, \
DrawElementsType typePacked, const void *indices, \
GLsizei instancecount, GLuint baseinstance); \
void drawElementsInstancedBaseVertexBaseInstance( \
PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const void *indices, \
GLsizei instancecount, GLint basevertex, GLuint baseinstance); \
/* GL_EXT_blend_func_extended */ \
void bindFragDataLocation(ShaderProgramID programPacked, GLuint color, const GLchar *name); \
void bindFragDataLocationIndexed(ShaderProgramID programPacked, GLuint colorNumber, \
GLuint index, const GLchar *name); \
GLint getFragDataIndex(ShaderProgramID programPacked, const GLchar *name); \
GLint getProgramResourceLocationIndex(ShaderProgramID programPacked, GLenum programInterface, \
const GLchar *name); \
/* GL_EXT_blend_minmax */ \
/* GL_EXT_buffer_storage */ \
void bufferStorage(BufferBinding targetPacked, GLsizeiptr size, const void *data, \
GLbitfield flags); \
/* GL_EXT_clip_control */ \
void clipControl(GLenum origin, GLenum depth); \
/* GL_EXT_clip_cull_distance */ \
/* GL_EXT_color_buffer_float */ \
/* GL_EXT_color_buffer_half_float */ \
/* GL_EXT_compressed_ETC1_RGB8_sub_texture */ \
/* GL_EXT_copy_image */ \
/* GL_EXT_debug_label */ \
void labelObject(GLenum type, GLuint object, GLsizei length, const GLchar *label); \
/* GL_EXT_debug_marker */ \
void insertEventMarker(GLsizei length, const GLchar *marker); \
void popGroupMarker(); \
void pushGroupMarker(GLsizei length, const GLchar *marker); \
/* GL_EXT_discard_framebuffer */ \
void discardFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments); \
/* GL_EXT_disjoint_timer_query */ \
void getQueryObjecti64v(QueryID idPacked, GLenum pname, GLint64 *params); \
void getQueryObjectiv(QueryID idPacked, GLenum pname, GLint *params); \
void getQueryObjectui64v(QueryID idPacked, GLenum pname, GLuint64 *params); \
void queryCounter(QueryID idPacked, QueryType targetPacked); \
/* GL_EXT_draw_buffers */ \
/* GL_EXT_draw_buffers_indexed */ \
/* GL_EXT_draw_elements_base_vertex */ \
void multiDrawElementsBaseVertex(PrimitiveMode modePacked, const GLsizei *count, \
DrawElementsType typePacked, const void *const *indices, \
GLsizei drawcount, const GLint *basevertex); \
/* GL_EXT_external_buffer */ \
void bufferStorageExternal(BufferBinding targetPacked, GLintptr offset, GLsizeiptr size, \
GLeglClientBufferEXT clientBuffer, GLbitfield flags); \
void namedBufferStorageExternal(GLuint buffer, GLintptr offset, GLsizeiptr size, \
GLeglClientBufferEXT clientBuffer, GLbitfield flags); \
/* GL_EXT_float_blend */ \
/* GL_EXT_frag_depth */ \
/* GL_EXT_geometry_shader */ \
/* GL_EXT_gpu_shader5 */ \
/* GL_EXT_instanced_arrays */ \
/* GL_EXT_map_buffer_range */ \
/* GL_EXT_memory_object */ \
void bufferStorageMem(TextureType targetPacked, GLsizeiptr size, MemoryObjectID memoryPacked, \
GLuint64 offset); \
void createMemoryObjects(GLsizei n, MemoryObjectID *memoryObjectsPacked); \
void deleteMemoryObjects(GLsizei n, const MemoryObjectID *memoryObjectsPacked); \
void getMemoryObjectParameteriv(MemoryObjectID memoryObjectPacked, GLenum pname, \
GLint *params); \
void getUnsignedBytev(GLenum pname, GLubyte *data); \
void getUnsignedBytei_v(GLenum target, GLuint index, GLubyte *data); \
GLboolean isMemoryObject(MemoryObjectID memoryObjectPacked) const; \
void memoryObjectParameteriv(MemoryObjectID memoryObjectPacked, GLenum pname, \
const GLint *params); \
void texStorageMem2D(TextureType targetPacked, GLsizei levels, GLenum internalFormat, \
GLsizei width, GLsizei height, MemoryObjectID memoryPacked, \
GLuint64 offset); \
void texStorageMem2DMultisample(TextureType targetPacked, GLsizei samples, \
GLenum internalFormat, GLsizei width, GLsizei height, \
GLboolean fixedSampleLocations, MemoryObjectID memoryPacked, \
GLuint64 offset); \
void texStorageMem3D(TextureType targetPacked, GLsizei levels, GLenum internalFormat, \
GLsizei width, GLsizei height, GLsizei depth, \
MemoryObjectID memoryPacked, GLuint64 offset); \
void texStorageMem3DMultisample(TextureType targetPacked, GLsizei samples, \
GLenum internalFormat, GLsizei width, GLsizei height, \
GLsizei depth, GLboolean fixedSampleLocations, \
MemoryObjectID memoryPacked, GLuint64 offset); \
/* GL_EXT_memory_object_fd */ \
void importMemoryFd(MemoryObjectID memoryPacked, GLuint64 size, HandleType handleTypePacked, \
GLint fd); \
/* GL_EXT_multi_draw_indirect */ \
void multiDrawArraysIndirect(PrimitiveMode modePacked, const void *indirect, \
GLsizei drawcount, GLsizei stride); \
void multiDrawElementsIndirect(PrimitiveMode modePacked, DrawElementsType typePacked, \
const void *indirect, GLsizei drawcount, GLsizei stride); \
/* GL_EXT_multisample_compatibility */ \
/* GL_EXT_multisampled_render_to_texture */ \
void framebufferTexture2DMultisample(GLenum target, GLenum attachment, \
TextureTarget textargetPacked, TextureID texturePacked, \
GLint level, GLsizei samples); \
void renderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, \
GLsizei width, GLsizei height); \
/* GL_EXT_multisampled_render_to_texture2 */ \
/* GL_EXT_occlusion_query_boolean */ \
/* GL_EXT_primitive_bounding_box */ \
/* GL_EXT_protected_textures */ \
/* GL_EXT_pvrtc_sRGB */ \
/* GL_EXT_read_format_bgra */ \
/* GL_EXT_robustness */ \
/* GL_EXT_sRGB */ \
/* GL_EXT_sRGB_write_control */ \
/* GL_EXT_semaphore */ \
void deleteSemaphores(GLsizei n, const SemaphoreID *semaphoresPacked); \
void genSemaphores(GLsizei n, SemaphoreID *semaphoresPacked); \
void getSemaphoreParameterui64v(SemaphoreID semaphorePacked, GLenum pname, GLuint64 *params); \
GLboolean isSemaphore(SemaphoreID semaphorePacked) const; \
void semaphoreParameterui64v(SemaphoreID semaphorePacked, GLenum pname, \
const GLuint64 *params); \
void signalSemaphore(SemaphoreID semaphorePacked, GLuint numBufferBarriers, \
const BufferID *buffersPacked, GLuint numTextureBarriers, \
const TextureID *texturesPacked, const GLenum *dstLayouts); \
void waitSemaphore(SemaphoreID semaphorePacked, GLuint numBufferBarriers, \
const BufferID *buffersPacked, GLuint numTextureBarriers, \
const TextureID *texturesPacked, const GLenum *srcLayouts); \
/* GL_EXT_semaphore_fd */ \
void importSemaphoreFd(SemaphoreID semaphorePacked, HandleType handleTypePacked, GLint fd); \
/* GL_EXT_separate_shader_objects */ \
/* GL_EXT_shader_framebuffer_fetch */ \
/* GL_EXT_shader_framebuffer_fetch_non_coherent */ \
void framebufferFetchBarrier(); \
/* GL_EXT_shader_io_blocks */ \
/* GL_EXT_shader_non_constant_global_initializers */ \
/* GL_EXT_shader_texture_lod */ \
/* GL_EXT_shadow_samplers */ \
/* GL_EXT_tessellation_shader */ \
/* GL_EXT_texture_border_clamp */ \
/* GL_EXT_texture_buffer */ \
/* GL_EXT_texture_compression_bptc */ \
/* GL_EXT_texture_compression_dxt1 */ \
/* GL_EXT_texture_compression_rgtc */ \
/* GL_EXT_texture_compression_s3tc */ \
/* GL_EXT_texture_compression_s3tc_srgb */ \
/* GL_EXT_texture_cube_map_array */ \
/* GL_EXT_texture_filter_anisotropic */ \
/* GL_EXT_texture_format_BGRA8888 */ \
/* GL_EXT_texture_format_sRGB_override */ \
/* GL_EXT_texture_norm16 */ \
/* GL_EXT_texture_rg */ \
/* GL_EXT_texture_sRGB_R8 */ \
/* GL_EXT_texture_sRGB_RG8 */ \
/* GL_EXT_texture_sRGB_decode */ \
/* GL_EXT_texture_storage */ \
void texStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); \
/* GL_EXT_texture_type_2_10_10_10_REV */ \
/* GL_EXT_unpack_subimage */ \
/* GL_IMG_texture_compression_pvrtc */ \
/* GL_IMG_texture_compression_pvrtc2 */ \
/* GL_KHR_blend_equation_advanced */ \
/* GL_KHR_debug */ \
/* GL_KHR_no_error */ \
/* GL_KHR_parallel_shader_compile */ \
void maxShaderCompilerThreads(GLuint count); \
/* GL_KHR_robust_buffer_access_behavior */ \
/* GL_KHR_texture_compression_astc_hdr */ \
/* GL_KHR_texture_compression_astc_ldr */ \
/* GL_KHR_texture_compression_astc_sliced_3d */ \
/* GL_MESA_framebuffer_flip_y */ \
void framebufferParameteriMESA(GLenum target, GLenum pname, GLint param); \
void getFramebufferParameterivMESA(GLenum target, GLenum pname, GLint *params); \
/* GL_NV_EGL_stream_consumer_external */ \
/* GL_NV_depth_buffer_float2 */ \
/* GL_NV_fence */ \
void deleteFencesNV(GLsizei n, const FenceNVID *fencesPacked); \
void finishFenceNV(FenceNVID fencePacked); \
void genFencesNV(GLsizei n, FenceNVID *fencesPacked); \
void getFenceivNV(FenceNVID fencePacked, GLenum pname, GLint *params); \
GLboolean isFenceNV(FenceNVID fencePacked) const; \
void setFenceNV(FenceNVID fencePacked, GLenum condition); \
GLboolean testFenceNV(FenceNVID fencePacked); \
/* GL_NV_framebuffer_blit */ \
void blitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, \
GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); \
/* GL_NV_pack_subimage */ \
/* GL_NV_pixel_buffer_object */ \
/* GL_NV_read_depth */ \
/* GL_NV_read_depth_stencil */ \
/* GL_NV_read_stencil */ \
/* GL_NV_robustness_video_memory_purge */ \
/* GL_NV_shader_noperspective_interpolation */ \
/* GL_OES_EGL_image */ \
void eGLImageTargetRenderbufferStorage(GLenum target, egl::ImageID imagePacked); \
void eGLImageTargetTexture2D(TextureType targetPacked, egl::ImageID imagePacked); \
/* GL_OES_EGL_image_external */ \
/* GL_OES_EGL_image_external_essl3 */ \
/* GL_OES_EGL_sync */ \
/* GL_OES_compressed_EAC_R11_signed_texture */ \
/* GL_OES_compressed_EAC_R11_unsigned_texture */ \
/* GL_OES_compressed_EAC_RG11_signed_texture */ \
/* GL_OES_compressed_EAC_RG11_unsigned_texture */ \
/* GL_OES_compressed_ETC1_RGB8_texture */ \
/* GL_OES_compressed_ETC2_RGB8_texture */ \
/* GL_OES_compressed_ETC2_RGBA8_texture */ \
/* GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture */ \
/* GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture */ \
/* GL_OES_compressed_ETC2_sRGB8_alpha8_texture */ \
/* GL_OES_compressed_ETC2_sRGB8_texture */ \
/* GL_OES_compressed_paletted_texture */ \
/* GL_OES_copy_image */ \
/* GL_OES_depth24 */ \
/* GL_OES_depth32 */ \
/* GL_OES_depth_texture */ \
/* GL_OES_depth_texture_cube_map */ \
/* GL_OES_draw_buffers_indexed */ \
/* GL_OES_draw_elements_base_vertex */ \
/* GL_OES_element_index_uint */ \
/* GL_OES_fbo_render_mipmap */ \
/* GL_OES_geometry_shader */ \
/* GL_OES_get_program_binary */ \
/* GL_OES_mapbuffer */ \
void *mapBuffer(BufferBinding targetPacked, GLenum access); \
/* GL_OES_packed_depth_stencil */ \
/* GL_OES_primitive_bounding_box */ \
/* GL_OES_rgb8_rgba8 */ \
/* GL_OES_sample_shading */ \
/* GL_OES_sample_variables */ \
/* GL_OES_shader_image_atomic */ \
/* GL_OES_shader_io_blocks */ \
/* GL_OES_shader_multisample_interpolation */ \
/* GL_OES_standard_derivatives */ \
/* GL_OES_surfaceless_context */ \
/* GL_OES_texture_3D */ \
void framebufferTexture3D(GLenum target, GLenum attachment, TextureTarget textargetPacked, \
TextureID texturePacked, GLint level, GLint zoffset); \
/* GL_OES_texture_border_clamp */ \
/* GL_OES_texture_buffer */ \
/* GL_OES_texture_compression_astc */ \
/* GL_OES_texture_cube_map_array */ \
/* GL_OES_texture_float */ \
/* GL_OES_texture_float_linear */ \
/* GL_OES_texture_half_float */ \
/* GL_OES_texture_half_float_linear */ \
/* GL_OES_texture_npot */ \
/* GL_OES_texture_stencil8 */ \
/* GL_OES_texture_storage_multisample_2d_array */ \
/* GL_OES_vertex_array_object */ \
/* GL_OES_vertex_half_float */ \
/* GL_OES_vertex_type_10_10_10_2 */ \
/* GL_OVR_multiview */ \
void framebufferTextureMultiview(GLenum target, GLenum attachment, TextureID texturePacked, \
GLint level, GLint baseViewIndex, GLsizei numViews); \
/* GL_OVR_multiview2 */ \
/* GL_QCOM_shading_rate */ \
void shadingRateQCOM(GLenum rate); \
/* GL_WEBGL_video_texture */ \
\
/* ANGLE Extensions */ \
\
/* GL_ANGLE_base_vertex_base_instance */ \
void drawArraysInstancedBaseInstanceANGLE(PrimitiveMode modePacked, GLint first, \
GLsizei count, GLsizei instanceCount, \
GLuint baseInstance); \
void drawElementsInstancedBaseVertexBaseInstanceANGLE( \
PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, \
const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance); \
void multiDrawArraysInstancedBaseInstance( \
PrimitiveMode modePacked, const GLint *firsts, const GLsizei *counts, \
const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawcount); \
void multiDrawElementsInstancedBaseVertexBaseInstance( \
PrimitiveMode modePacked, const GLsizei *counts, DrawElementsType typePacked, \
const GLvoid *const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, \
const GLuint *baseInstances, GLsizei drawcount); \
/* GL_ANGLE_base_vertex_base_instance_shader_builtin */ \
/* GL_ANGLE_client_arrays */ \
/* GL_ANGLE_compressed_texture_etc */ \
/* GL_ANGLE_copy_texture_3d */ \
void copyTexture3D(TextureID sourceIdPacked, GLint sourceLevel, \
TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, \
GLint internalFormat, GLenum destType, GLboolean unpackFlipY, \
GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); \
void copySubTexture3D(TextureID sourceIdPacked, GLint sourceLevel, \
TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, \
GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, \
GLint width, GLint height, GLint depth, GLboolean unpackFlipY, \
GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); \
/* GL_ANGLE_framebuffer_multisample */ \
/* GL_ANGLE_get_image */ \
void getTexImage(TextureTarget targetPacked, GLint level, GLenum format, GLenum type, \
void *pixels); \
void getCompressedTexImage(TextureTarget targetPacked, GLint level, void *pixels); \
void getRenderbufferImage(GLenum target, GLenum format, GLenum type, void *pixels); \
/* GL_ANGLE_get_serialized_context_string */ \
/* GL_ANGLE_get_tex_level_parameter */ \
/* GL_ANGLE_logic_op */ \
void logicOpANGLE(LogicalOperation opcodePacked); \
/* GL_ANGLE_lossy_etc_decode */ \
/* GL_ANGLE_memory_object_flags */ \
void texStorageMemFlags2D(TextureType targetPacked, GLsizei levels, GLenum internalFormat, \
GLsizei width, GLsizei height, MemoryObjectID memoryPacked, \
GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, \
const void *imageCreateInfoPNext); \
void texStorageMemFlags2DMultisample( \
TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width, \
GLsizei height, GLboolean fixedSampleLocations, MemoryObjectID memoryPacked, \
GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, \
const void *imageCreateInfoPNext); \
void texStorageMemFlags3D( \
TextureType targetPacked, GLsizei levels, GLenum internalFormat, GLsizei width, \
GLsizei height, GLsizei depth, MemoryObjectID memoryPacked, GLuint64 offset, \
GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext); \
void texStorageMemFlags3DMultisample( \
TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width, \
GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, \
MemoryObjectID memoryPacked, GLuint64 offset, GLbitfield createFlags, \
GLbitfield usageFlags, const void *imageCreateInfoPNext); \
/* GL_ANGLE_memory_object_fuchsia */ \
void importMemoryZirconHandle(MemoryObjectID memoryPacked, GLuint64 size, \
HandleType handleTypePacked, GLuint handle); \
/* GL_ANGLE_memory_size */ \
/* GL_ANGLE_multi_draw */ \
void multiDrawArrays(PrimitiveMode modePacked, const GLint *firsts, const GLsizei *counts, \
GLsizei drawcount); \
void multiDrawArraysInstanced(PrimitiveMode modePacked, const GLint *firsts, \
const GLsizei *counts, const GLsizei *instanceCounts, \
GLsizei drawcount); \
void multiDrawElements(PrimitiveMode modePacked, const GLsizei *counts, \
DrawElementsType typePacked, const GLvoid *const *indices, \
GLsizei drawcount); \
void multiDrawElementsInstanced(PrimitiveMode modePacked, const GLsizei *counts, \
DrawElementsType typePacked, const GLvoid *const *indices, \
const GLsizei *instanceCounts, GLsizei drawcount); \
/* GL_ANGLE_multiview_multisample */ \
/* GL_ANGLE_program_binary */ \
/* GL_ANGLE_program_cache_control */ \
/* GL_ANGLE_provoking_vertex */ \
void provokingVertex(ProvokingVertexConvention modePacked); \
/* GL_ANGLE_read_only_depth_stencil_feedback_loops */ \
/* GL_ANGLE_relaxed_vertex_attribute_type */ \
/* GL_ANGLE_request_extension */ \
void requestExtension(const GLchar *name); \
void disableExtension(const GLchar *name); \
/* GL_ANGLE_rgbx_internal_format */ \
/* GL_ANGLE_robust_client_memory */ \
void getBooleanvRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *params); \
void getBufferParameterivRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getFloatvRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); \
void getFramebufferAttachmentParameterivRobust(GLenum target, GLenum attachment, GLenum pname, \
GLsizei bufSize, GLsizei *length, \
GLint *params); \
void getIntegervRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data); \
void getProgramivRobust(ShaderProgramID programPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getRenderbufferParameterivRobust(GLenum target, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getShaderivRobust(ShaderProgramID shaderPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getTexParameterfvRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLfloat *params); \
void getTexParameterivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getUniformfvRobust(ShaderProgramID programPacked, UniformLocation locationPacked, \
GLsizei bufSize, GLsizei *length, GLfloat *params); \
void getUniformivRobust(ShaderProgramID programPacked, UniformLocation locationPacked, \
GLsizei bufSize, GLsizei *length, GLint *params); \
void getVertexAttribfvRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, \
GLfloat *params); \
void getVertexAttribivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, \
GLint *params); \
void getVertexAttribPointervRobust(GLuint index, GLenum pname, GLsizei bufSize, \
GLsizei *length, void **pointer); \
void readPixelsRobust(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, \
GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, \
GLsizei *rows, void *pixels); \
void texImage2DRobust(TextureTarget targetPacked, GLint level, GLint internalformat, \
GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, \
GLsizei bufSize, const void *pixels); \
void texParameterfvRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
const GLfloat *params); \
void texParameterivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
const GLint *params); \
void texSubImage2DRobust(TextureTarget targetPacked, GLint level, GLint xoffset, \
GLint yoffset, GLsizei width, GLsizei height, GLenum format, \
GLenum type, GLsizei bufSize, const void *pixels); \
void texImage3DRobust(TextureTarget targetPacked, GLint level, GLint internalformat, \
GLsizei width, GLsizei height, GLsizei depth, GLint border, \
GLenum format, GLenum type, GLsizei bufSize, const void *pixels); \
void texSubImage3DRobust(TextureTarget targetPacked, GLint level, GLint xoffset, \
GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, \
GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, \
const void *pixels); \
void compressedTexImage2DRobust( \
TextureTarget targetPacked, GLint level, GLenum internalformat, GLsizei width, \
GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); \
void compressedTexSubImage2DRobust( \
TextureTarget targetPacked, GLint level, GLsizei xoffset, GLsizei yoffset, GLsizei width, \
GLsizei height, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); \
void compressedTexImage3DRobust(TextureTarget targetPacked, GLint level, \
GLenum internalformat, GLsizei width, GLsizei height, \
GLsizei depth, GLint border, GLsizei imageSize, \
GLsizei dataSize, const GLvoid *data); \
void compressedTexSubImage3DRobust(TextureTarget targetPacked, GLint level, GLint xoffset, \
GLint yoffset, GLint zoffset, GLsizei width, \
GLsizei height, GLsizei depth, GLenum format, \
GLsizei imageSize, GLsizei dataSize, const GLvoid *data); \
void getQueryivRobust(QueryType targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, \
GLint *params); \
void getQueryObjectuivRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length, \
GLuint *params); \
void getBufferPointervRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, void **params); \
void getIntegeri_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, \
GLint *data); \
void getInternalformativRobust(GLenum target, GLenum internalformat, GLenum pname, \
GLsizei bufSize, GLsizei *length, GLint *params); \
void getVertexAttribIivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, \
GLint *params); \
void getVertexAttribIuivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, \
GLuint *params); \
void getUniformuivRobust(ShaderProgramID programPacked, UniformLocation locationPacked, \
GLsizei bufSize, GLsizei *length, GLuint *params); \
void getActiveUniformBlockivRobust(ShaderProgramID programPacked, \
UniformBlockIndex uniformBlockIndexPacked, GLenum pname, \
GLsizei bufSize, GLsizei *length, GLint *params); \
void getInteger64vRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data); \
void getInteger64i_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, \
GLint64 *data); \
void getBufferParameteri64vRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint64 *params); \
void samplerParameterivRobust(SamplerID samplerPacked, GLuint pname, GLsizei bufSize, \
const GLint *param); \
void samplerParameterfvRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, \
const GLfloat *param); \
void getSamplerParameterivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getSamplerParameterfvRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLfloat *params); \
void getFramebufferParameterivRobust(GLenum target, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getProgramInterfaceivRobust(ShaderProgramID programPacked, GLenum programInterface, \
GLenum pname, GLsizei bufSize, GLsizei *length, \
GLint *params); \
void getBooleani_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, \
GLboolean *data); \
void getMultisamplefvRobust(GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, \
GLfloat *val); \
void getTexLevelParameterivRobust(TextureTarget targetPacked, GLint level, GLenum pname, \
GLsizei bufSize, GLsizei *length, GLint *params); \
void getTexLevelParameterfvRobust(TextureTarget targetPacked, GLint level, GLenum pname, \
GLsizei bufSize, GLsizei *length, GLfloat *params); \
void getPointervRobustANGLERobust(GLenum pname, GLsizei bufSize, GLsizei *length, \
void **params); \
void readnPixelsRobust(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, \
GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, \
GLsizei *rows, void *data); \
void getnUniformfvRobust(ShaderProgramID programPacked, UniformLocation locationPacked, \
GLsizei bufSize, GLsizei *length, GLfloat *params); \
void getnUniformivRobust(ShaderProgramID programPacked, UniformLocation locationPacked, \
GLsizei bufSize, GLsizei *length, GLint *params); \
void getnUniformuivRobust(ShaderProgramID programPacked, UniformLocation locationPacked, \
GLsizei bufSize, GLsizei *length, GLuint *params); \
void texParameterIivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
const GLint *params); \
void texParameterIuivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
const GLuint *params); \
void getTexParameterIivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getTexParameterIuivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLuint *params); \
void samplerParameterIivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, \
const GLint *param); \
void samplerParameterIuivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, \
const GLuint *param); \
void getSamplerParameterIivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint *params); \
void getSamplerParameterIuivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLuint *params); \
void getQueryObjectivRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length, \
GLint *params); \
void getQueryObjecti64vRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLint64 *params); \
void getQueryObjectui64vRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, \
GLsizei *length, GLuint64 *params); \
/* GL_ANGLE_robust_fragment_shader_output */ \
/* GL_ANGLE_robust_resource_initialization */ \
/* GL_ANGLE_semaphore_fuchsia */ \
void importSemaphoreZirconHandle(SemaphoreID semaphorePacked, HandleType handleTypePacked, \
GLuint handle); \
/* GL_ANGLE_shader_pixel_local_storage */ \
void framebufferMemorylessPixelLocalStorage(GLint plane, GLenum internalformat); \
void framebufferTexturePixelLocalStorage(GLint plane, TextureID backingtexturePacked, \
GLint level, GLint layer); \
void beginPixelLocalStorage(GLsizei planes, const GLenum *loadops, const void *cleardata); \
void endPixelLocalStorage(); \
void pixelLocalStorageBarrier(); \
/* GL_ANGLE_shader_pixel_local_storage_coherent */ \
/* GL_ANGLE_texture_compression_dxt3 */ \
/* GL_ANGLE_texture_compression_dxt5 */ \
/* GL_ANGLE_texture_external_update */ \
void texImage2DExternal(TextureTarget targetPacked, GLint level, GLint internalformat, \
GLsizei width, GLsizei height, GLint border, GLenum format, \
GLenum type); \
void invalidateTexture(TextureType targetPacked); \
/* GL_ANGLE_texture_multisample */ \
/* GL_ANGLE_texture_rectangle */ \
/* GL_ANGLE_vulkan_image */ \
void acquireTextures(GLuint numTextures, const TextureID *texturesPacked, \
const GLenum *layouts); \
void releaseTextures(GLuint numTextures, const TextureID *texturesPacked, GLenum *layouts); \
/* GL_ANGLE_webgl_compatibility */ \
/* GL_ANGLE_yuv_internal_format */ \
/* GL_CHROMIUM_bind_generates_resource */ \
/* GL_CHROMIUM_bind_uniform_location */ \
void bindUniformLocation(ShaderProgramID programPacked, UniformLocation locationPacked, \
const GLchar *name); \
/* GL_CHROMIUM_color_buffer_float_rgb */ \
/* GL_CHROMIUM_color_buffer_float_rgba */ \
/* GL_CHROMIUM_copy_compressed_texture */ \
void compressedCopyTexture(TextureID sourceIdPacked, TextureID destIdPacked); \
/* GL_CHROMIUM_copy_texture */ \
void copyTexture(TextureID sourceIdPacked, GLint sourceLevel, TextureTarget destTargetPacked, \
TextureID destIdPacked, GLint destLevel, GLint internalFormat, \
GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, \
GLboolean unpackUnmultiplyAlpha); \
void copySubTexture(TextureID sourceIdPacked, GLint sourceLevel, \
TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, \
GLint xoffset, GLint yoffset, GLint x, GLint y, GLint width, GLint height, \
GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, \
GLboolean unpackUnmultiplyAlpha); \
/* GL_CHROMIUM_framebuffer_mixed_samples */ \
void coverageModulation(GLenum components); \
/* GL_CHROMIUM_lose_context */ \
void loseContext(GraphicsResetStatus currentPacked, GraphicsResetStatus otherPacked); \
/* GL_CHROMIUM_sync_query */ \
/* GL_CHROMIUM_texture_filtering_hint */
#endif // ANGLE_CONTEXT_API_EXT_AUTOGEN_H_