• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_extensions.py using data from registry_xml.py and gl.xml
3 //
4 // Copyright 2021 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 // gles_extensions_autogen.h: GLES extension information.
9 
10 #ifndef LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
11 #define LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
12 
13 namespace gl
14 {
15 class TextureCapsMap;
16 
17 struct Extensions
18 {
19     Extensions();
20     Extensions(const Extensions &other);
21 
22     Extensions &operator=(const Extensions &other);
23 
24     // Generate a vector of supported extension strings
25     std::vector<std::string> getStrings() const;
26 
27     // Set all texture related extension support based on the supported textures.
28     // Determines support for:
29     // GL_OES_packed_depth_stencil
30     // GL_OES_rgb8_rgba8
31     // GL_EXT_texture_format_BGRA8888
32     // GL_EXT_color_buffer_half_float,
33     // GL_OES_texture_half_float, GL_OES_texture_half_float_linear
34     // GL_OES_texture_float, GL_OES_texture_float_linear
35     // GL_EXT_texture_rg
36     // GL_EXT_texture_type_2_10_10_10_REV
37     // GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt3,
38     // GL_ANGLE_texture_compression_dxt5
39     // GL_KHR_texture_compression_astc_ldr, GL_OES_texture_compression_astc.
40     //     NOTE: GL_KHR_texture_compression_astc_hdr must be enabled separately. Support for the
41     //           HDR profile cannot be determined from the format enums alone.
42     // GL_OES_compressed_ETC1_RGB8_texture
43     // GL_EXT_sRGB
44     // GL_ANGLE_depth_texture, GL_OES_depth32
45     // GL_EXT_color_buffer_float
46     // GL_EXT_texture_norm16
47     // GL_EXT_texture_compression_bptc
48     // GL_EXT_texture_compression_rgtc
49     void setTextureExtensionSupport(const TextureCapsMap &textureCaps);
50 
51     // Helper functions
clipCullDistanceAnyExtensions52     bool clipCullDistanceAny() const { return (clipCullDistanceANGLE || clipCullDistanceEXT); }
copyImageAnyExtensions53     bool copyImageAny() const { return (copyImageEXT || copyImageOES); }
depthTextureAnyExtensions54     bool depthTextureAny() const { return (depthTextureANGLE || depthTextureOES); }
drawBuffersIndexedAnyExtensions55     bool drawBuffersIndexedAny() const { return (drawBuffersIndexedEXT || drawBuffersIndexedOES); }
drawElementsBaseVertexAnyExtensions56     bool drawElementsBaseVertexAny() const
57     {
58         return (drawElementsBaseVertexEXT || drawElementsBaseVertexOES);
59     }
framebufferBlitAnyExtensions60     bool framebufferBlitAny() const { return (framebufferBlitANGLE || framebufferBlitNV); }
geometryShaderAnyExtensions61     bool geometryShaderAny() const { return (geometryShaderEXT || geometryShaderOES); }
instancedArraysAnyExtensions62     bool instancedArraysAny() const { return (instancedArraysANGLE || instancedArraysEXT); }
polygonModeAnyExtensions63     bool polygonModeAny() const { return (polygonModeANGLE || polygonModeNV); }
primitiveBoundingBoxAnyExtensions64     bool primitiveBoundingBoxAny() const
65     {
66         return (primitiveBoundingBoxEXT || primitiveBoundingBoxOES);
67     }
shaderFramebufferFetchAnyExtensions68     bool shaderFramebufferFetchAny() const
69     {
70         return (shaderFramebufferFetchARM || shaderFramebufferFetchEXT);
71     }
shaderIoBlocksAnyExtensions72     bool shaderIoBlocksAny() const { return (shaderIoBlocksEXT || shaderIoBlocksOES); }
textureBorderClampAnyExtensions73     bool textureBorderClampAny() const { return (textureBorderClampEXT || textureBorderClampOES); }
textureBufferAnyExtensions74     bool textureBufferAny() const { return (textureBufferEXT || textureBufferOES); }
textureCubeMapArrayAnyExtensions75     bool textureCubeMapArrayAny() const
76     {
77         return (textureCubeMapArrayEXT || textureCubeMapArrayOES);
78     }
79 
80     // GLES 2.0+ extensions
81     // --------------------
82 
83     // GL_EXT_base_instance
84     bool baseInstanceEXT = false;
85 
86     // GL_KHR_blend_equation_advanced
87     bool blendEquationAdvancedKHR = false;
88 
89     // GL_EXT_blend_func_extended
90     bool blendFuncExtendedEXT = false;
91 
92     // GL_EXT_blend_minmax
93     bool blendMinmaxEXT = false;
94 
95     // GL_EXT_buffer_storage
96     bool bufferStorageEXT = false;
97 
98     // GL_EXT_clip_control
99     bool clipControlEXT = false;
100 
101     // GL_EXT_clip_cull_distance
102     bool clipCullDistanceEXT = false;
103 
104     // GL_APPLE_clip_distance
105     bool clipDistanceAPPLE = false;
106 
107     // GL_EXT_color_buffer_float
108     bool colorBufferFloatEXT = false;
109 
110     // GL_EXT_color_buffer_half_float
111     bool colorBufferHalfFloatEXT = false;
112 
113     // GL_OES_compressed_EAC_R11_signed_texture
114     bool compressedEACR11SignedTextureOES = false;
115 
116     // GL_OES_compressed_EAC_R11_unsigned_texture
117     bool compressedEACR11UnsignedTextureOES = false;
118 
119     // GL_OES_compressed_EAC_RG11_signed_texture
120     bool compressedEACRG11SignedTextureOES = false;
121 
122     // GL_OES_compressed_EAC_RG11_unsigned_texture
123     bool compressedEACRG11UnsignedTextureOES = false;
124 
125     // GL_EXT_compressed_ETC1_RGB8_sub_texture
126     bool compressedETC1RGB8SubTextureEXT = false;
127 
128     // GL_OES_compressed_ETC1_RGB8_texture
129     bool compressedETC1RGB8TextureOES = false;
130 
131     // GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture
132     bool compressedETC2PunchthroughARGBA8TextureOES = false;
133 
134     // GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture
135     bool compressedETC2PunchthroughASRGB8AlphaTextureOES = false;
136 
137     // GL_OES_compressed_ETC2_RGB8_texture
138     bool compressedETC2RGB8TextureOES = false;
139 
140     // GL_OES_compressed_ETC2_RGBA8_texture
141     bool compressedETC2RGBA8TextureOES = false;
142 
143     // GL_OES_compressed_ETC2_sRGB8_alpha8_texture
144     bool compressedETC2SRGB8Alpha8TextureOES = false;
145 
146     // GL_OES_compressed_ETC2_sRGB8_texture
147     bool compressedETC2SRGB8TextureOES = false;
148 
149     // GL_OES_compressed_paletted_texture
150     bool compressedPalettedTextureOES = false;
151 
152     // GL_EXT_conservative_depth
153     bool conservativeDepthEXT = false;
154 
155     // GL_EXT_copy_image
156     bool copyImageEXT = false;
157 
158     // GL_OES_copy_image
159     bool copyImageOES = false;
160 
161     // GL_KHR_debug
162     bool debugKHR = false;
163 
164     // GL_EXT_debug_label
165     bool debugLabelEXT = false;
166 
167     // GL_EXT_debug_marker
168     bool debugMarkerEXT = false;
169 
170     // GL_OES_depth24
171     bool depth24OES = false;
172 
173     // GL_OES_depth32
174     bool depth32OES = false;
175 
176     // GL_NV_depth_buffer_float2
177     bool depthBufferFloat2NV = false;
178 
179     // GL_EXT_depth_clamp
180     bool depthClampEXT = false;
181 
182     // GL_ANGLE_depth_texture
183     bool depthTextureANGLE = false;
184 
185     // GL_OES_depth_texture
186     bool depthTextureOES = false;
187 
188     // GL_OES_depth_texture_cube_map
189     bool depthTextureCubeMapOES = false;
190 
191     // GL_EXT_discard_framebuffer
192     bool discardFramebufferEXT = false;
193 
194     // GL_EXT_disjoint_timer_query
195     bool disjointTimerQueryEXT = false;
196 
197     // GL_EXT_draw_buffers
198     bool drawBuffersEXT = false;
199 
200     // GL_EXT_draw_buffers_indexed
201     bool drawBuffersIndexedEXT = false;
202 
203     // GL_OES_draw_buffers_indexed
204     bool drawBuffersIndexedOES = false;
205 
206     // GL_EXT_draw_elements_base_vertex
207     bool drawElementsBaseVertexEXT = false;
208 
209     // GL_OES_draw_elements_base_vertex
210     bool drawElementsBaseVertexOES = false;
211 
212     // GL_OES_EGL_image
213     bool EGLImageOES = false;
214 
215     // GL_EXT_EGL_image_array
216     bool EGLImageArrayEXT = false;
217 
218     // GL_OES_EGL_image_external
219     bool EGLImageExternalOES = false;
220 
221     // GL_OES_EGL_image_external_essl3
222     bool EGLImageExternalEssl3OES = false;
223 
224     // GL_EXT_EGL_image_external_wrap_modes
225     bool EGLImageExternalWrapModesEXT = false;
226 
227     // GL_EXT_EGL_image_storage
228     bool EGLImageStorageEXT = false;
229 
230     // GL_NV_EGL_stream_consumer_external
231     bool EGLStreamConsumerExternalNV = false;
232 
233     // GL_OES_EGL_sync
234     bool EGLSyncOES = false;
235 
236     // GL_OES_element_index_uint
237     bool elementIndexUintOES = false;
238 
239     // GL_ANDROID_extension_pack_es31a
240     bool extensionPackEs31aANDROID = false;
241 
242     // GL_EXT_external_buffer
243     bool externalBufferEXT = false;
244 
245     // GL_OES_fbo_render_mipmap
246     bool fboRenderMipmapOES = false;
247 
248     // GL_NV_fence
249     bool fenceNV = false;
250 
251     // GL_EXT_float_blend
252     bool floatBlendEXT = false;
253 
254     // GL_EXT_frag_depth
255     bool fragDepthEXT = false;
256 
257     // GL_ANGLE_framebuffer_blit
258     bool framebufferBlitANGLE = false;
259 
260     // GL_NV_framebuffer_blit
261     bool framebufferBlitNV = false;
262 
263     // GL_MESA_framebuffer_flip_y
264     bool framebufferFlipYMESA = false;
265 
266     // GL_EXT_geometry_shader
267     bool geometryShaderEXT = false;
268 
269     // GL_OES_geometry_shader
270     bool geometryShaderOES = false;
271 
272     // GL_OES_get_program_binary
273     bool getProgramBinaryOES = false;
274 
275     // GL_EXT_gpu_shader5
276     bool gpuShader5EXT = false;
277 
278     // GL_ANGLE_instanced_arrays
279     bool instancedArraysANGLE = false;
280 
281     // GL_EXT_instanced_arrays
282     bool instancedArraysEXT = false;
283 
284     // GL_OES_mapbuffer
285     bool mapbufferOES = false;
286 
287     // GL_EXT_map_buffer_range
288     bool mapBufferRangeEXT = false;
289 
290     // GL_EXT_memory_object
291     bool memoryObjectEXT = false;
292 
293     // GL_EXT_memory_object_fd
294     bool memoryObjectFdEXT = false;
295 
296     // GL_EXT_multi_draw_indirect
297     bool multiDrawIndirectEXT = false;
298 
299     // GL_EXT_multisample_compatibility
300     bool multisampleCompatibilityEXT = false;
301 
302     // GL_EXT_multisampled_render_to_texture
303     bool multisampledRenderToTextureEXT = false;
304 
305     // GL_EXT_multisampled_render_to_texture2
306     bool multisampledRenderToTexture2EXT = false;
307 
308     // GL_OVR_multiview
309     bool multiviewOVR = false;
310 
311     // GL_OVR_multiview2
312     bool multiview2OVR = false;
313 
314     // GL_KHR_no_error
315     bool noErrorKHR = false;
316 
317     // GL_EXT_occlusion_query_boolean
318     bool occlusionQueryBooleanEXT = false;
319 
320     // GL_OES_packed_depth_stencil
321     bool packedDepthStencilOES = false;
322 
323     // GL_ANGLE_pack_reverse_row_order
324     bool packReverseRowOrderANGLE = false;
325 
326     // GL_NV_pack_subimage
327     bool packSubimageNV = false;
328 
329     // GL_KHR_parallel_shader_compile
330     bool parallelShaderCompileKHR = false;
331 
332     // GL_AMD_performance_monitor
333     bool performanceMonitorAMD = false;
334 
335     // GL_NV_pixel_buffer_object
336     bool pixelBufferObjectNV = false;
337 
338     // GL_NV_polygon_mode
339     bool polygonModeNV = false;
340 
341     // GL_EXT_polygon_offset_clamp
342     bool polygonOffsetClampEXT = false;
343 
344     // GL_EXT_primitive_bounding_box
345     bool primitiveBoundingBoxEXT = false;
346 
347     // GL_OES_primitive_bounding_box
348     bool primitiveBoundingBoxOES = false;
349 
350     // GL_EXT_protected_textures
351     bool protectedTexturesEXT = false;
352 
353     // GL_EXT_pvrtc_sRGB
354     bool pvrtcSRGBEXT = false;
355 
356     // GL_NV_read_depth
357     bool readDepthNV = false;
358 
359     // GL_NV_read_depth_stencil
360     bool readDepthStencilNV = false;
361 
362     // GL_EXT_read_format_bgra
363     bool readFormatBgraEXT = false;
364 
365     // GL_NV_read_stencil
366     bool readStencilNV = false;
367 
368     // GL_QCOM_render_shared_exponent
369     bool renderSharedExponentQCOM = false;
370 
371     // GL_EXT_render_snorm
372     bool renderSnormEXT = false;
373 
374     // GL_OES_rgb8_rgba8
375     bool rgb8Rgba8OES = false;
376 
377     // GL_KHR_robust_buffer_access_behavior
378     bool robustBufferAccessBehaviorKHR = false;
379 
380     // GL_EXT_robustness
381     bool robustnessEXT = false;
382 
383     // GL_NV_robustness_video_memory_purge
384     bool robustnessVideoMemoryPurgeNV = false;
385 
386     // GL_OES_sample_shading
387     bool sampleShadingOES = false;
388 
389     // GL_OES_sample_variables
390     bool sampleVariablesOES = false;
391 
392     // GL_EXT_semaphore
393     bool semaphoreEXT = false;
394 
395     // GL_EXT_semaphore_fd
396     bool semaphoreFdEXT = false;
397 
398     // GL_EXT_separate_shader_objects
399     bool separateShaderObjectsEXT = false;
400 
401     // GL_ARM_shader_framebuffer_fetch
402     bool shaderFramebufferFetchARM = false;
403 
404     // GL_EXT_shader_framebuffer_fetch
405     bool shaderFramebufferFetchEXT = false;
406 
407     // GL_EXT_shader_framebuffer_fetch_non_coherent
408     bool shaderFramebufferFetchNonCoherentEXT = false;
409 
410     // GL_OES_shader_image_atomic
411     bool shaderImageAtomicOES = false;
412 
413     // GL_EXT_shader_io_blocks
414     bool shaderIoBlocksEXT = false;
415 
416     // GL_OES_shader_io_blocks
417     bool shaderIoBlocksOES = false;
418 
419     // GL_OES_shader_multisample_interpolation
420     bool shaderMultisampleInterpolationOES = false;
421 
422     // GL_EXT_shader_non_constant_global_initializers
423     bool shaderNonConstantGlobalInitializersEXT = false;
424 
425     // GL_NV_shader_noperspective_interpolation
426     bool shaderNoperspectiveInterpolationNV = false;
427 
428     // GL_EXT_shader_texture_lod
429     bool shaderTextureLodEXT = false;
430 
431     // GL_QCOM_shading_rate
432     bool shadingRateQCOM = false;
433 
434     // GL_EXT_shadow_samplers
435     bool shadowSamplersEXT = false;
436 
437     // GL_EXT_sRGB
438     bool sRGBEXT = false;
439 
440     // GL_EXT_sRGB_write_control
441     bool sRGBWriteControlEXT = false;
442 
443     // GL_OES_standard_derivatives
444     bool standardDerivativesOES = false;
445 
446     // GL_OES_surfaceless_context
447     bool surfacelessContextOES = false;
448 
449     // GL_ARB_sync
450     bool syncARB = false;
451 
452     // GL_EXT_tessellation_shader
453     bool tessellationShaderEXT = false;
454 
455     // GL_OES_texture_3D
456     bool texture3DOES = false;
457 
458     // GL_EXT_texture_border_clamp
459     bool textureBorderClampEXT = false;
460 
461     // GL_OES_texture_border_clamp
462     bool textureBorderClampOES = false;
463 
464     // GL_EXT_texture_buffer
465     bool textureBufferEXT = false;
466 
467     // GL_OES_texture_buffer
468     bool textureBufferOES = false;
469 
470     // GL_OES_texture_compression_astc
471     bool textureCompressionAstcOES = false;
472 
473     // GL_EXT_texture_compression_astc_decode_mode
474     bool textureCompressionAstcDecodeModeEXT = false;
475 
476     // GL_EXT_texture_compression_astc_decode_mode_rgb9e5
477     bool textureCompressionAstcDecodeModeRgb9e5EXT = false;
478 
479     // GL_KHR_texture_compression_astc_hdr
480     bool textureCompressionAstcHdrKHR = false;
481 
482     // GL_KHR_texture_compression_astc_ldr
483     bool textureCompressionAstcLdrKHR = false;
484 
485     // GL_KHR_texture_compression_astc_sliced_3d
486     bool textureCompressionAstcSliced3dKHR = false;
487 
488     // GL_EXT_texture_compression_bptc
489     bool textureCompressionBptcEXT = false;
490 
491     // GL_EXT_texture_compression_dxt1
492     bool textureCompressionDxt1EXT = false;
493 
494     // GL_IMG_texture_compression_pvrtc
495     bool textureCompressionPvrtcIMG = false;
496 
497     // GL_IMG_texture_compression_pvrtc2
498     bool textureCompressionPvrtc2IMG = false;
499 
500     // GL_EXT_texture_compression_rgtc
501     bool textureCompressionRgtcEXT = false;
502 
503     // GL_EXT_texture_compression_s3tc
504     bool textureCompressionS3tcEXT = false;
505 
506     // GL_EXT_texture_compression_s3tc_srgb
507     bool textureCompressionS3tcSrgbEXT = false;
508 
509     // GL_EXT_texture_cube_map_array
510     bool textureCubeMapArrayEXT = false;
511 
512     // GL_OES_texture_cube_map_array
513     bool textureCubeMapArrayOES = false;
514 
515     // GL_EXT_texture_filter_anisotropic
516     bool textureFilterAnisotropicEXT = false;
517 
518     // GL_EXT_texture_filter_minmax
519     bool textureFilterMinmaxEXT = false;
520 
521     // GL_OES_texture_float
522     bool textureFloatOES = false;
523 
524     // GL_OES_texture_float_linear
525     bool textureFloatLinearOES = false;
526 
527     // GL_EXT_texture_format_BGRA8888
528     bool textureFormatBGRA8888EXT = false;
529 
530     // GL_EXT_texture_format_sRGB_override
531     bool textureFormatSRGBOverrideEXT = false;
532 
533     // GL_OES_texture_half_float
534     bool textureHalfFloatOES = false;
535 
536     // GL_OES_texture_half_float_linear
537     bool textureHalfFloatLinearOES = false;
538 
539     // GL_EXT_texture_mirror_clamp_to_edge
540     bool textureMirrorClampToEdgeEXT = false;
541 
542     // GL_EXT_texture_norm16
543     bool textureNorm16EXT = false;
544 
545     // GL_OES_texture_npot
546     bool textureNpotOES = false;
547 
548     // GL_EXT_texture_rg
549     bool textureRgEXT = false;
550 
551     // GL_EXT_texture_sRGB_decode
552     bool textureSRGBDecodeEXT = false;
553 
554     // GL_EXT_texture_sRGB_R8
555     bool textureSRGBR8EXT = false;
556 
557     // GL_EXT_texture_sRGB_RG8
558     bool textureSRGBRG8EXT = false;
559 
560     // GL_OES_texture_stencil8
561     bool textureStencil8OES = false;
562 
563     // GL_EXT_texture_storage
564     bool textureStorageEXT = false;
565 
566     // GL_OES_texture_storage_multisample_2d_array
567     bool textureStorageMultisample2dArrayOES = false;
568 
569     // GL_EXT_texture_type_2_10_10_10_REV
570     bool textureType2101010REVEXT = false;
571 
572     // GL_ANGLE_texture_usage
573     bool textureUsageANGLE = false;
574 
575     // GL_ANGLE_translated_shader_source
576     bool translatedShaderSourceANGLE = false;
577 
578     // GL_EXT_unpack_subimage
579     bool unpackSubimageEXT = false;
580 
581     // GL_OES_vertex_array_object
582     bool vertexArrayObjectOES = false;
583 
584     // GL_OES_vertex_half_float
585     bool vertexHalfFloatOES = false;
586 
587     // GL_OES_vertex_type_10_10_10_2
588     bool vertexType1010102OES = false;
589 
590     // GL_WEBGL_video_texture
591     bool videoTextureWEBGL = false;
592 
593     // GL_EXT_YUV_target
594     bool YUVTargetEXT = false;
595 
596     // ANGLE unofficial extensions
597     // ---------------------------
598 
599     // GL_ANGLE_base_vertex_base_instance
600     bool baseVertexBaseInstanceANGLE = false;
601 
602     // GL_ANGLE_base_vertex_base_instance_shader_builtin
603     bool baseVertexBaseInstanceShaderBuiltinANGLE = false;
604 
605     // GL_CHROMIUM_bind_generates_resource
606     bool bindGeneratesResourceCHROMIUM = false;
607 
608     // GL_CHROMIUM_bind_uniform_location
609     bool bindUniformLocationCHROMIUM = false;
610 
611     // GL_ANGLE_client_arrays
612     bool clientArraysANGLE = false;
613 
614     // GL_ANGLE_clip_cull_distance
615     bool clipCullDistanceANGLE = false;
616 
617     // GL_CHROMIUM_color_buffer_float_rgb
618     bool colorBufferFloatRgbCHROMIUM = false;
619 
620     // GL_CHROMIUM_color_buffer_float_rgba
621     bool colorBufferFloatRgbaCHROMIUM = false;
622 
623     // GL_ANGLE_compressed_texture_etc
624     bool compressedTextureEtcANGLE = false;
625 
626     // GL_CHROMIUM_copy_compressed_texture
627     bool copyCompressedTextureCHROMIUM = false;
628 
629     // GL_CHROMIUM_copy_texture
630     bool copyTextureCHROMIUM = false;
631 
632     // GL_ANGLE_copy_texture_3d
633     bool copyTexture3dANGLE = false;
634 
635     // GL_CHROMIUM_framebuffer_mixed_samples
636     bool framebufferMixedSamplesCHROMIUM = false;
637 
638     // GL_ANGLE_framebuffer_multisample
639     bool framebufferMultisampleANGLE = false;
640 
641     // GL_ANGLE_get_image
642     bool getImageANGLE = false;
643 
644     // GL_ANGLE_get_serialized_context_string
645     bool getSerializedContextStringANGLE = false;
646 
647     // GL_ANGLE_get_tex_level_parameter
648     bool getTexLevelParameterANGLE = false;
649 
650     // GL_ANGLE_logic_op
651     bool logicOpANGLE = false;
652 
653     // GL_CHROMIUM_lose_context
654     bool loseContextCHROMIUM = false;
655 
656     // GL_ANGLE_lossy_etc_decode
657     bool lossyEtcDecodeANGLE = false;
658 
659     // GL_ANGLE_memory_object_flags
660     bool memoryObjectFlagsANGLE = false;
661 
662     // GL_ANGLE_memory_object_fuchsia
663     bool memoryObjectFuchsiaANGLE = false;
664 
665     // GL_ANGLE_memory_size
666     bool memorySizeANGLE = false;
667 
668     // GL_ANGLE_multi_draw
669     bool multiDrawANGLE = false;
670 
671     // GL_ANGLE_multiview_multisample
672     bool multiviewMultisampleANGLE = false;
673 
674     // GL_ANGLE_polygon_mode
675     bool polygonModeANGLE = false;
676 
677     // GL_ANGLE_program_binary
678     bool programBinaryANGLE = false;
679 
680     // GL_ANGLE_program_cache_control
681     bool programCacheControlANGLE = false;
682 
683     // GL_ANGLE_provoking_vertex
684     bool provokingVertexANGLE = false;
685 
686     // GL_ANGLE_read_only_depth_stencil_feedback_loops
687     bool readOnlyDepthStencilFeedbackLoopsANGLE = false;
688 
689     // GL_ANGLE_relaxed_vertex_attribute_type
690     bool relaxedVertexAttributeTypeANGLE = false;
691 
692     // GL_ANGLE_renderability_validation
693     bool renderabilityValidationANGLE = false;
694 
695     // GL_ANGLE_request_extension
696     bool requestExtensionANGLE = false;
697 
698     // GL_ANGLE_rgbx_internal_format
699     bool rgbxInternalFormatANGLE = false;
700 
701     // GL_ANGLE_robust_client_memory
702     bool robustClientMemoryANGLE = false;
703 
704     // GL_ANGLE_robust_fragment_shader_output
705     bool robustFragmentShaderOutputANGLE = false;
706 
707     // GL_ANGLE_robust_resource_initialization
708     bool robustResourceInitializationANGLE = false;
709 
710     // GL_ANGLE_semaphore_fuchsia
711     bool semaphoreFuchsiaANGLE = false;
712 
713     // GL_ANGLE_shader_binary
714     bool shaderBinaryANGLE = false;
715 
716     // GL_ANGLE_shader_pixel_local_storage
717     bool shaderPixelLocalStorageANGLE = false;
718 
719     // GL_ANGLE_shader_pixel_local_storage_coherent
720     bool shaderPixelLocalStorageCoherentANGLE = false;
721 
722     // GL_ANGLE_stencil_texturing
723     bool stencilTexturingANGLE = false;
724 
725     // GL_CHROMIUM_sync_query
726     bool syncQueryCHROMIUM = false;
727 
728     // GL_ANGLE_texture_compression_dxt3
729     bool textureCompressionDxt3ANGLE = false;
730 
731     // GL_ANGLE_texture_compression_dxt5
732     bool textureCompressionDxt5ANGLE = false;
733 
734     // GL_ANGLE_texture_external_update
735     bool textureExternalUpdateANGLE = false;
736 
737     // GL_CHROMIUM_texture_filtering_hint
738     bool textureFilteringHintCHROMIUM = false;
739 
740     // GL_ANGLE_texture_multisample
741     bool textureMultisampleANGLE = false;
742 
743     // GL_ANGLE_texture_rectangle
744     bool textureRectangleANGLE = false;
745 
746     // GL_ANGLE_vulkan_image
747     bool vulkanImageANGLE = false;
748 
749     // GL_ANGLE_webgl_compatibility
750     bool webglCompatibilityANGLE = false;
751 
752     // GL_ANGLE_yuv_internal_format
753     bool yuvInternalFormatANGLE = false;
754 
755     // GLES 1.0 and 1.1 extensions
756     // ---------------------------
757 
758     // GL_OES_draw_texture
759     bool drawTextureOES = false;
760 
761     // GL_OES_framebuffer_object
762     bool framebufferObjectOES = false;
763 
764     // GL_OES_matrix_palette
765     bool matrixPaletteOES = false;
766 
767     // GL_OES_point_size_array
768     bool pointSizeArrayOES = false;
769 
770     // GL_OES_point_sprite
771     bool pointSpriteOES = false;
772 
773     // GL_OES_query_matrix
774     bool queryMatrixOES = false;
775 
776     // GL_OES_texture_cube_map
777     bool textureCubeMapOES = false;
778 };
779 }  // namespace gl
780 
781 #endif  // LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
782