зеркало из https://github.com/AvaloniaUI/angle.git
Auto-generate GLES extensions.
Uses the data from registry.xml combined with gl.xml to produce the necessary header and source file with the strings map. Also updates the list of supported extensions. Several extensions were missing from the supported extensions map. ARB_sync and NV_robustness_video_memory_purge require some specific tweaks to get the generator to accept them as gles extensions. Also includes a generate markdown file that lists supported exts. Bug: angleproject:6379 Change-Id: I95bd589aa31a62b4a008de24408c7823a49023ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157418 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
This commit is contained in:
Родитель
4fbbd09708
Коммит
b918b1c656
|
@ -0,0 +1,206 @@
|
|||
# ANGLE Supported Extensions
|
||||
|
||||
This is a list of all extensions currently supported by ANGLE's front-end. Back-end support is not
|
||||
yet documented. To produce a list of all supported extensions in the Vulkan back-end, run
|
||||
`angle_end2end_tests` with `--gtest_filter EGLPrintEGLinfoTest.PrintGLInfo/ES*_Vulkan`.
|
||||
|
||||
This list is automatically generated by gen_extensions.py using data from registry_xml.py and gl.xml.
|
||||
|
||||
| Extension Name |
|
||||
| -------------- |
|
||||
| `GL_ANGLE_base_vertex_base_instance` |
|
||||
| `GL_ANGLE_client_arrays` |
|
||||
| `GL_ANGLE_compressed_texture_etc` |
|
||||
| `GL_ANGLE_copy_texture_3d` |
|
||||
| `GL_ANGLE_depth_texture` |
|
||||
| `GL_ANGLE_framebuffer_blit` |
|
||||
| `GL_ANGLE_framebuffer_multisample` |
|
||||
| `GL_ANGLE_get_image` |
|
||||
| `GL_ANGLE_get_serialized_context_string` |
|
||||
| `GL_ANGLE_get_tex_level_parameter` |
|
||||
| `GL_ANGLE_instanced_arrays` |
|
||||
| `GL_ANGLE_lossy_etc_decode` |
|
||||
| `GL_ANGLE_memory_object_flags` |
|
||||
| `GL_ANGLE_memory_object_fuchsia` |
|
||||
| `GL_ANGLE_memory_size` |
|
||||
| `GL_ANGLE_multi_draw` |
|
||||
| `GL_ANGLE_multiview_multisample` |
|
||||
| `GL_ANGLE_pack_reverse_row_order` |
|
||||
| `GL_ANGLE_program_binary` |
|
||||
| `GL_ANGLE_program_cache_control` |
|
||||
| `GL_ANGLE_provoking_vertex` |
|
||||
| `GL_ANGLE_relaxed_vertex_attribute_type` |
|
||||
| `GL_ANGLE_request_extension` |
|
||||
| `GL_ANGLE_robust_client_memory` |
|
||||
| `GL_ANGLE_robust_resource_initialization` |
|
||||
| `GL_ANGLE_semaphore_fuchsia` |
|
||||
| `GL_ANGLE_texture_compression_dxt3` |
|
||||
| `GL_ANGLE_texture_compression_dxt5` |
|
||||
| `GL_ANGLE_texture_external_update` |
|
||||
| `GL_ANGLE_texture_multisample` |
|
||||
| `GL_ANGLE_texture_rectangle` |
|
||||
| `GL_ANGLE_texture_usage` |
|
||||
| `GL_ANGLE_translated_shader_source` |
|
||||
| `GL_ANGLE_webgl_compatibility` |
|
||||
| `GL_ANGLE_yuv_internal_format` |
|
||||
| `GL_APPLE_clip_distance` |
|
||||
| `GL_ARB_sync` |
|
||||
| `GL_CHROMIUM_bind_generates_resource` |
|
||||
| `GL_CHROMIUM_bind_uniform_location` |
|
||||
| `GL_CHROMIUM_color_buffer_float_rgb` |
|
||||
| `GL_CHROMIUM_color_buffer_float_rgba` |
|
||||
| `GL_CHROMIUM_copy_compressed_texture` |
|
||||
| `GL_CHROMIUM_copy_texture` |
|
||||
| `GL_CHROMIUM_framebuffer_mixed_samples` |
|
||||
| `GL_CHROMIUM_lose_context` |
|
||||
| `GL_CHROMIUM_sync_query` |
|
||||
| `GL_CHROMIUM_texture_filtering_hint` |
|
||||
| `GL_EXT_EGL_image_array` |
|
||||
| `GL_EXT_EGL_image_external_wrap_modes` |
|
||||
| `GL_EXT_EGL_image_storage` |
|
||||
| `GL_EXT_YUV_target` |
|
||||
| `GL_EXT_blend_func_extended` |
|
||||
| `GL_EXT_blend_minmax` |
|
||||
| `GL_EXT_buffer_storage` |
|
||||
| `GL_EXT_clip_control` |
|
||||
| `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` |
|
||||
| `GL_EXT_debug_marker` |
|
||||
| `GL_EXT_discard_framebuffer` |
|
||||
| `GL_EXT_disjoint_timer_query` |
|
||||
| `GL_EXT_draw_buffers` |
|
||||
| `GL_EXT_draw_buffers_indexed` |
|
||||
| `GL_EXT_draw_elements_base_vertex` |
|
||||
| `GL_EXT_external_buffer` |
|
||||
| `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` |
|
||||
| `GL_EXT_memory_object_fd` |
|
||||
| `GL_EXT_multisample_compatibility` |
|
||||
| `GL_EXT_multisampled_render_to_texture` |
|
||||
| `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` |
|
||||
| `GL_EXT_semaphore_fd` |
|
||||
| `GL_EXT_separate_shader_objects` |
|
||||
| `GL_EXT_shader_framebuffer_fetch_non_coherent` |
|
||||
| `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` |
|
||||
| `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` |
|
||||
| `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_NV_EGL_stream_consumer_external` |
|
||||
| `GL_NV_depth_buffer_float2` |
|
||||
| `GL_NV_fence` |
|
||||
| `GL_NV_framebuffer_blit` |
|
||||
| `GL_NV_pack_subimage` |
|
||||
| `GL_NV_pixel_buffer_object` |
|
||||
| `GL_NV_read_depth` |
|
||||
| `GL_NV_read_stencil` |
|
||||
| `GL_NV_robustness_video_memory_purge` |
|
||||
| `GL_NV_shader_noperspective_interpolation` |
|
||||
| `GL_OES_EGL_image` |
|
||||
| `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_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_draw_texture` |
|
||||
| `GL_OES_element_index_uint` |
|
||||
| `GL_OES_fbo_render_mipmap` |
|
||||
| `GL_OES_framebuffer_object` |
|
||||
| `GL_OES_geometry_shader` |
|
||||
| `GL_OES_get_program_binary` |
|
||||
| `GL_OES_mapbuffer` |
|
||||
| `GL_OES_matrix_palette` |
|
||||
| `GL_OES_packed_depth_stencil` |
|
||||
| `GL_OES_point_size_array` |
|
||||
| `GL_OES_point_sprite` |
|
||||
| `GL_OES_query_matrix` |
|
||||
| `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` |
|
||||
| `GL_OES_texture_border_clamp` |
|
||||
| `GL_OES_texture_buffer` |
|
||||
| `GL_OES_texture_compression_astc` |
|
||||
| `GL_OES_texture_cube_map` |
|
||||
| `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` |
|
||||
| `GL_OVR_multiview2` |
|
||||
| `GL_WEBGL_video_texture` |
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"doc/SupportedExtensions.md":
|
||||
"4e06f9a617d379fe869ac6fa515b1bb2",
|
||||
"scripts/cl.xml":
|
||||
"f923201d4ea3e1130763b19fa7faa7a2",
|
||||
"scripts/egl.xml":
|
||||
"013c552e6c523abdcf268268ea47e9fe",
|
||||
"scripts/egl_angle_ext.xml":
|
||||
"5bcc01462b355d933cf3ada15198fb68",
|
||||
"scripts/gl.xml":
|
||||
"a442a7aeff3a2f0a1fba52ee08089500",
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"08f74b35d908b7c02b45fdf45572c434",
|
||||
"scripts/registry_xml.py":
|
||||
"7e9a66850b966c79f2f4d5036a5bd8b0",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/libANGLE/gen_extensions.py":
|
||||
"09abdc7e386601ea3b259cd30ec08ea0",
|
||||
"src/libANGLE/gles_extensions_autogen.cpp":
|
||||
"039e36b4e6f02839e380b07fc9cb2855",
|
||||
"src/libANGLE/gles_extensions_autogen.h":
|
||||
"a88430deae68c3fcd045bd22d00033e8"
|
||||
}
|
|
@ -8,11 +8,11 @@
|
|||
"scripts/generate_loader.py":
|
||||
"b95f0518351e08bf17240279b2681a6c",
|
||||
"scripts/gl.xml":
|
||||
"e99461f683ac14cbb1eac57ad73db0e8",
|
||||
"a442a7aeff3a2f0a1fba52ee08089500",
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"08f74b35d908b7c02b45fdf45572c434",
|
||||
"scripts/registry_xml.py":
|
||||
"9dafea2a646826c757d1d32711231e74",
|
||||
"7e9a66850b966c79f2f4d5036a5bd8b0",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/libEGL/egl_loader_autogen.cpp":
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
"scripts/generate_entry_points.py":
|
||||
"b215414751c7c1b976482edc1a7ffc77",
|
||||
"scripts/gl.xml":
|
||||
"e99461f683ac14cbb1eac57ad73db0e8",
|
||||
"a442a7aeff3a2f0a1fba52ee08089500",
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"08f74b35d908b7c02b45fdf45572c434",
|
||||
"scripts/registry_xml.py":
|
||||
"9dafea2a646826c757d1d32711231e74",
|
||||
"7e9a66850b966c79f2f4d5036a5bd8b0",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/common/entry_points_enum_autogen.cpp":
|
||||
|
@ -42,7 +42,7 @@
|
|||
"src/libANGLE/Context_gles_3_2_autogen.h":
|
||||
"48567dca16fd881dfe6d61fee0e3106f",
|
||||
"src/libANGLE/Context_gles_ext_autogen.h":
|
||||
"eda3bb2e26a59f76eb3e897ea89b4999",
|
||||
"9ed6f6011b545d72fc8352848999b51d",
|
||||
"src/libANGLE/capture/capture_gles_1_0_autogen.cpp":
|
||||
"7ec7ef8f779b809a45d74b97502c419b",
|
||||
"src/libANGLE/capture/capture_gles_1_0_autogen.h":
|
||||
|
@ -66,7 +66,7 @@
|
|||
"src/libANGLE/capture/capture_gles_ext_autogen.cpp":
|
||||
"da3c5ba77334da863d267350091b13dd",
|
||||
"src/libANGLE/capture/capture_gles_ext_autogen.h":
|
||||
"c668434d3c0f909e48bdcabfebd0b1a7",
|
||||
"ffb7afa0f3a5971c42e37a31bbd39125",
|
||||
"src/libANGLE/capture/frame_capture_replay_autogen.cpp":
|
||||
"e0a3c284b986e2a712589b6f3523d79c",
|
||||
"src/libANGLE/capture/frame_capture_utils_autogen.cpp":
|
||||
|
@ -88,7 +88,7 @@
|
|||
"src/libANGLE/validationES3_autogen.h":
|
||||
"7435b9caddf8787b937c71a54dda96e1",
|
||||
"src/libANGLE/validationESEXT_autogen.h":
|
||||
"bc9f45eeb628722bd20ca826c96814eb",
|
||||
"859ef99e38808a39fd89dfc728468dd5",
|
||||
"src/libANGLE/validationGL1_autogen.h":
|
||||
"439f8ea26dc37ee6608100f4c6f9205c",
|
||||
"src/libANGLE/validationGL2_autogen.h":
|
||||
|
@ -162,17 +162,17 @@
|
|||
"src/libGLESv2/entry_points_gles_3_2_autogen.h":
|
||||
"647f932a299cdb4726b60bbba059f0d2",
|
||||
"src/libGLESv2/entry_points_gles_ext_autogen.cpp":
|
||||
"3baf7f6a6470248452230083a53ed016",
|
||||
"595369698a6deda1c53900dfb0e288b9",
|
||||
"src/libGLESv2/entry_points_gles_ext_autogen.h":
|
||||
"132b52b10e3076b6ea183a480709a154",
|
||||
"d9f1298ae5622c2b9d342d11b1808c74",
|
||||
"src/libGLESv2/libGLESv2_autogen.cpp":
|
||||
"a63c3a32a98f1826a6a0e8c3c3dfcc8b",
|
||||
"78f4797308ea7b304e1427aeca812a1c",
|
||||
"src/libGLESv2/libGLESv2_autogen.def":
|
||||
"fcac3c9129aa5a41546fbab3920ab419",
|
||||
"af8a1948f5b828ae847bd8b00c10fffe",
|
||||
"src/libGLESv2/libGLESv2_no_capture_autogen.def":
|
||||
"10406245739cb06a538e75eb8ffe905c",
|
||||
"7a9fc0f3e95b53fbb1bcb5516c4ae0c2",
|
||||
"src/libGLESv2/libGLESv2_with_capture_autogen.def":
|
||||
"a173df42f6845695c19873ffb470f58b",
|
||||
"2e0ccc0fc63e300c3248a1c3c6ac7aca",
|
||||
"src/libOpenCL/libOpenCL_autogen.cpp":
|
||||
"10849978c910dc1af5dd4f0c815d1581"
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
"scripts/gen_gl_enum_utils.py":
|
||||
"332cfb6f04242d18966445f70f0039b3",
|
||||
"scripts/gl.xml":
|
||||
"e99461f683ac14cbb1eac57ad73db0e8",
|
||||
"a442a7aeff3a2f0a1fba52ee08089500",
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"08f74b35d908b7c02b45fdf45572c434",
|
||||
"scripts/registry_xml.py":
|
||||
"9dafea2a646826c757d1d32711231e74",
|
||||
"7e9a66850b966c79f2f4d5036a5bd8b0",
|
||||
"src/libANGLE/capture/gl_enum_utils_autogen.cpp":
|
||||
"96cc2400631cc3e7ab7aba104b8f23e9",
|
||||
"2ea097051161668c1cef088043707735",
|
||||
"src/libANGLE/capture/gl_enum_utils_autogen.h":
|
||||
"fb0bb7f506f6082ea3b2c3fa384d2739"
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"scripts/gl.xml":
|
||||
"e99461f683ac14cbb1eac57ad73db0e8",
|
||||
"a442a7aeff3a2f0a1fba52ee08089500",
|
||||
"src/libANGLE/renderer/angle_format.py":
|
||||
"74d6c9842128293118ccf128aeae896a",
|
||||
"src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp":
|
||||
"06399dbfa161982f60b0af04e3cf9ffb",
|
||||
"f0d5c792843c9d7d9c06fd7b9b20724c",
|
||||
"src/libANGLE/renderer/gl/DispatchTableGL_autogen.h":
|
||||
"3115c293d6612d10498a1063b8cebe1a",
|
||||
"src/libANGLE/renderer/gl/generate_gl_dispatch_table.py":
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
"scripts/gen_proc_table.py":
|
||||
"8336449da7e36f45dd6d70c44add2ebf",
|
||||
"scripts/gl.xml":
|
||||
"e99461f683ac14cbb1eac57ad73db0e8",
|
||||
"a442a7aeff3a2f0a1fba52ee08089500",
|
||||
"scripts/gl_angle_ext.xml":
|
||||
"08f74b35d908b7c02b45fdf45572c434",
|
||||
"scripts/registry_xml.py":
|
||||
"9dafea2a646826c757d1d32711231e74",
|
||||
"7e9a66850b966c79f2f4d5036a5bd8b0",
|
||||
"scripts/wgl.xml":
|
||||
"c36001431919e1c435f1215a85f7e1db",
|
||||
"src/libGL/proc_table_wgl_autogen.cpp":
|
||||
|
|
|
@ -41347,7 +41347,7 @@ typedef unsigned int GLhandleARB;
|
|||
<enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="GL_ARB_sync" supported="gl|glcore">
|
||||
<extension name="GL_ARB_sync" supported="gl|glcore|gles2" comment="ANGLE hacks, should only be desktop GL">
|
||||
<require>
|
||||
<enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
|
||||
<enum name="GL_OBJECT_TYPE"/>
|
||||
|
@ -47256,7 +47256,7 @@ typedef unsigned int GLhandleARB;
|
|||
<command name="glGetCombinerStageParameterfvNV"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="GL_NV_robustness_video_memory_purge" supported="gl">
|
||||
<extension name="GL_NV_robustness_video_memory_purge" supported="gl|gles2" command="ANGLE hacks, should only be gl">
|
||||
<require>
|
||||
<enum name="GL_PURGED_CONTEXT_RESET_NV"/>
|
||||
</require>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
# List of supported extensions. Add to this list to enable new extensions
|
||||
# available in gl.xml.
|
||||
|
||||
import difflib
|
||||
import os
|
||||
import sys
|
||||
import xml.etree.ElementTree as etree
|
||||
|
@ -26,63 +27,72 @@ xml_inputs = [
|
|||
'registry_xml.py',
|
||||
]
|
||||
|
||||
angle_extensions = [
|
||||
# ANGLE extensions
|
||||
"GL_CHROMIUM_bind_uniform_location",
|
||||
"GL_CHROMIUM_framebuffer_mixed_samples",
|
||||
"GL_CHROMIUM_path_rendering",
|
||||
"GL_CHROMIUM_copy_texture",
|
||||
"GL_CHROMIUM_copy_compressed_texture",
|
||||
"GL_CHROMIUM_lose_context",
|
||||
"GL_ANGLE_copy_texture_3d",
|
||||
"GL_ANGLE_get_image",
|
||||
"GL_ANGLE_get_serialized_context_string",
|
||||
"GL_ANGLE_get_tex_level_parameter",
|
||||
"GL_ANGLE_program_binary",
|
||||
"GL_ANGLE_request_extension",
|
||||
"GL_ANGLE_robust_client_memory",
|
||||
"GL_ANGLE_texture_external_update",
|
||||
# Notes on categories of extensions:
|
||||
# 'Requestable' extensions are extensions that can be enabled with ANGLE_request_extension
|
||||
# 'ES-Only' extensions are always implicitly enabled.
|
||||
# 'Toggleable' extensions are like 'Requestable' except they can be also disabled.
|
||||
# 'ANGLE' extensions are extensions that are not yet officially upstreamed to Khronos.
|
||||
# We document those extensions in gl_angle_ext.xml instead of the canonical gl.xml.
|
||||
|
||||
angle_toggleable_extensions = [
|
||||
"GL_ANGLE_texture_rectangle",
|
||||
]
|
||||
|
||||
gles1_extensions = [
|
||||
# ES1 (Possibly the min set of extensions needed by Android)
|
||||
"GL_OES_draw_texture",
|
||||
"GL_OES_framebuffer_object",
|
||||
"GL_OES_matrix_palette",
|
||||
"GL_OES_point_size_array",
|
||||
"GL_OES_query_matrix",
|
||||
"GL_OES_texture_cube_map",
|
||||
]
|
||||
|
||||
gles_extensions = [
|
||||
# ES2+
|
||||
angle_requestable_extensions = [
|
||||
"GL_ANGLE_base_vertex_base_instance",
|
||||
"GL_ANGLE_framebuffer_blit",
|
||||
"GL_ANGLE_compressed_texture_etc",
|
||||
"GL_ANGLE_copy_texture_3d",
|
||||
"GL_ANGLE_framebuffer_multisample",
|
||||
"GL_ANGLE_instanced_arrays",
|
||||
"GL_ANGLE_get_image",
|
||||
"GL_ANGLE_get_tex_level_parameter",
|
||||
"GL_ANGLE_lossy_etc_decode",
|
||||
"GL_ANGLE_memory_object_flags",
|
||||
"GL_ANGLE_memory_object_fuchsia",
|
||||
"GL_ANGLE_memory_size",
|
||||
"GL_ANGLE_multi_draw",
|
||||
"GL_ANGLE_multiview_multisample",
|
||||
"GL_ANGLE_provoking_vertex",
|
||||
"GL_ANGLE_semaphore_fuchsia",
|
||||
"GL_ANGLE_texture_compression_dxt3",
|
||||
"GL_ANGLE_texture_compression_dxt5",
|
||||
"GL_ANGLE_texture_external_update",
|
||||
"GL_ANGLE_texture_multisample",
|
||||
"GL_ANGLE_translated_shader_source",
|
||||
"GL_KHR_blend_equation_advanced",
|
||||
"GL_ANGLE_yuv_internal_format",
|
||||
"GL_CHROMIUM_color_buffer_float_rgb",
|
||||
"GL_CHROMIUM_color_buffer_float_rgba",
|
||||
"GL_CHROMIUM_lose_context",
|
||||
"GL_CHROMIUM_sync_query",
|
||||
"GL_CHROMIUM_texture_filtering_hint",
|
||||
]
|
||||
|
||||
gles_requestable_extensions = [
|
||||
"GL_ANGLE_framebuffer_blit",
|
||||
"GL_ANGLE_instanced_arrays",
|
||||
"GL_ANGLE_pack_reverse_row_order",
|
||||
"GL_ANGLE_texture_usage",
|
||||
"GL_APPLE_clip_distance",
|
||||
"GL_ARB_sync",
|
||||
"GL_EXT_blend_func_extended",
|
||||
"GL_EXT_blend_minmax",
|
||||
"GL_EXT_buffer_storage",
|
||||
"GL_EXT_copy_image",
|
||||
"GL_EXT_clip_control",
|
||||
"GL_EXT_debug_label",
|
||||
"GL_EXT_debug_marker",
|
||||
"GL_EXT_discard_framebuffer",
|
||||
"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_disjoint_timer_query",
|
||||
"GL_EXT_draw_buffers",
|
||||
"GL_EXT_draw_buffers_indexed",
|
||||
"GL_EXT_draw_elements_base_vertex",
|
||||
"GL_EXT_EGL_image_array",
|
||||
"GL_EXT_EGL_image_external_wrap_modes",
|
||||
"GL_EXT_EGL_image_storage",
|
||||
"GL_EXT_external_buffer",
|
||||
"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",
|
||||
|
@ -90,18 +100,18 @@ gles_extensions = [
|
|||
"GL_EXT_multisampled_render_to_texture",
|
||||
"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_semaphore",
|
||||
"GL_EXT_semaphore_fd",
|
||||
"GL_EXT_separate_shader_objects",
|
||||
"GL_EXT_shader_framebuffer_fetch_non_coherent",
|
||||
"GL_EXT_shader_io_blocks",
|
||||
"GL_EXT_shader_non_constant_global_initializers",
|
||||
"GL_EXT_shader_texture_lod",
|
||||
"GL_EXT_shadow_samplers",
|
||||
"GL_EXT_sRGB",
|
||||
"GL_EXT_sRGB_write_control",
|
||||
"GL_EXT_tessellation_shader",
|
||||
"GL_EXT_texture_border_clamp",
|
||||
"GL_EXT_texture_buffer",
|
||||
|
@ -113,45 +123,151 @@ gles_extensions = [
|
|||
"GL_EXT_texture_cube_map_array",
|
||||
"GL_EXT_texture_filter_anisotropic",
|
||||
"GL_EXT_texture_format_BGRA8888",
|
||||
"GL_EXT_texture_storage",
|
||||
"GL_EXT_texture_norm16",
|
||||
"GL_EXT_texture_rg",
|
||||
"GL_EXT_texture_sRGB_R8",
|
||||
"GL_EXT_texture_sRGB_RG8",
|
||||
"GL_EXT_texture_storage",
|
||||
"GL_EXT_texture_type_2_10_10_10_REV",
|
||||
"GL_EXT_unpack_subimage",
|
||||
"GL_EXT_YUV_target",
|
||||
"GL_IMG_texture_compression_pvrtc",
|
||||
"GL_IMG_texture_compression_pvrtc2",
|
||||
"GL_KHR_debug",
|
||||
"GL_KHR_parallel_shader_compile",
|
||||
"GL_KHR_texture_compression_astc_ldr",
|
||||
"GL_KHR_texture_compression_astc_hdr",
|
||||
"GL_KHR_texture_compression_astc_ldr",
|
||||
"GL_KHR_texture_compression_astc_sliced_3d",
|
||||
"GL_NV_fence",
|
||||
"GL_NV_depth_buffer_float2",
|
||||
"GL_NV_EGL_stream_consumer_external",
|
||||
"GL_NV_framebuffer_blit",
|
||||
"GL_NV_pack_subimage",
|
||||
"GL_NV_pixel_buffer_object",
|
||||
"GL_NV_read_depth",
|
||||
"GL_NV_read_stencil",
|
||||
"GL_NV_shader_noperspective_interpolation",
|
||||
"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_EXT_compressed_ETC1_RGB8_sub_texture",
|
||||
"GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture",
|
||||
"GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture",
|
||||
"GL_OES_compressed_ETC2_RGB8_texture",
|
||||
"GL_OES_compressed_ETC2_RGBA8_texture",
|
||||
"GL_OES_compressed_ETC2_sRGB8_alpha8_texture",
|
||||
"GL_OES_compressed_ETC2_sRGB8_texture",
|
||||
"GL_OES_copy_image",
|
||||
"GL_OES_depth32",
|
||||
"GL_OES_depth_texture_cube_map",
|
||||
"GL_OES_draw_buffers_indexed",
|
||||
"GL_OES_draw_elements_base_vertex",
|
||||
"GL_OES_EGL_image",
|
||||
"GL_OES_EGL_image_external",
|
||||
"GL_OES_EGL_image_external_essl3",
|
||||
"GL_OES_element_index_uint",
|
||||
"GL_OES_fbo_render_mipmap",
|
||||
"GL_OES_geometry_shader",
|
||||
"GL_OES_get_program_binary",
|
||||
"GL_OES_mapbuffer",
|
||||
"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_texture_3D",
|
||||
"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",
|
||||
"GL_OVR_multiview2",
|
||||
"GL_WEBGL_video_texture",
|
||||
]
|
||||
|
||||
angle_es_only_extensions = [
|
||||
"GL_ANGLE_client_arrays",
|
||||
"GL_ANGLE_get_serialized_context_string",
|
||||
"GL_ANGLE_program_binary",
|
||||
"GL_ANGLE_program_cache_control",
|
||||
"GL_ANGLE_relaxed_vertex_attribute_type",
|
||||
"GL_ANGLE_request_extension",
|
||||
"GL_ANGLE_robust_client_memory",
|
||||
"GL_ANGLE_robust_resource_initialization",
|
||||
"GL_ANGLE_webgl_compatibility",
|
||||
"GL_CHROMIUM_bind_generates_resource",
|
||||
"GL_CHROMIUM_bind_uniform_location",
|
||||
"GL_CHROMIUM_copy_compressed_texture",
|
||||
"GL_CHROMIUM_copy_texture",
|
||||
"GL_CHROMIUM_framebuffer_mixed_samples",
|
||||
]
|
||||
|
||||
gles_es_only_extensions = [
|
||||
"GL_ANGLE_depth_texture",
|
||||
"GL_ANGLE_translated_shader_source",
|
||||
"GL_EXT_debug_label",
|
||||
"GL_EXT_debug_marker",
|
||||
"GL_EXT_discard_framebuffer",
|
||||
"GL_EXT_multisample_compatibility",
|
||||
"GL_EXT_primitive_bounding_box",
|
||||
"GL_EXT_robustness",
|
||||
"GL_EXT_sRGB_write_control",
|
||||
"GL_EXT_texture_format_sRGB_override",
|
||||
"GL_EXT_texture_sRGB_decode",
|
||||
"GL_KHR_blend_equation_advanced",
|
||||
"GL_KHR_debug",
|
||||
"GL_KHR_no_error",
|
||||
"GL_KHR_robust_buffer_access_behavior",
|
||||
"GL_NV_fence",
|
||||
"GL_NV_robustness_video_memory_purge",
|
||||
"GL_OES_depth24",
|
||||
"GL_OES_depth32",
|
||||
"GL_OES_depth_texture",
|
||||
"GL_OES_EGL_sync",
|
||||
"GL_OES_packed_depth_stencil",
|
||||
"GL_OES_surfaceless_context",
|
||||
]
|
||||
|
||||
# ES1 (Possibly the min set of extensions needed by Android)
|
||||
gles1_extensions = [
|
||||
"GL_OES_draw_texture",
|
||||
"GL_OES_framebuffer_object",
|
||||
"GL_OES_matrix_palette",
|
||||
"GL_OES_point_size_array",
|
||||
"GL_OES_point_sprite",
|
||||
"GL_OES_query_matrix",
|
||||
"GL_OES_texture_cube_map",
|
||||
]
|
||||
|
||||
|
||||
def check_sorted(name, l):
|
||||
unidiff = difflib.unified_diff(l, sorted(l, key=str.casefold), 'unsorted', 'sorted')
|
||||
diff_lines = list(unidiff)
|
||||
assert not diff_lines, '\n\nPlease sort "%s":\n%s' % (name, '\n'.join(diff_lines))
|
||||
|
||||
|
||||
angle_extensions = angle_requestable_extensions + angle_es_only_extensions + angle_toggleable_extensions
|
||||
gles_extensions = gles_requestable_extensions + gles_es_only_extensions
|
||||
supported_extensions = sorted(angle_extensions + gles1_extensions + gles_extensions)
|
||||
|
||||
assert len(supported_extensions) == len(set(supported_extensions)), 'Duplicates in extension list'
|
||||
check_sorted('angle_requestable_extensions', angle_requestable_extensions)
|
||||
check_sorted('angle_es_only_extensions', angle_es_only_extensions)
|
||||
check_sorted('angle_toggleable_extensions', angle_toggleable_extensions)
|
||||
check_sorted('gles_requestable_extensions', gles_requestable_extensions)
|
||||
check_sorted('gles_es_only_extensions', gles_es_only_extensions)
|
||||
check_sorted('gles_extensions', gles1_extensions)
|
||||
|
||||
supported_egl_extensions = [
|
||||
"EGL_ANDROID_blob_cache",
|
||||
"EGL_ANDROID_create_native_client_buffer",
|
||||
|
@ -206,6 +322,8 @@ supported_egl_extensions = [
|
|||
"EGL_NV_stream_consumer_gltexture_yuv",
|
||||
]
|
||||
|
||||
check_sorted('supported_egl_extensions', supported_egl_extensions)
|
||||
|
||||
supported_cl_extensions = [
|
||||
# Since OpenCL 1.1
|
||||
"cl_khr_byte_addressable_store",
|
||||
|
@ -352,7 +470,8 @@ class RegistryXML:
|
|||
self.all_cmd_names.add_commands(annotation, commands)
|
||||
self.commands[annotation] = commands
|
||||
|
||||
def _ClassifySupport(self, supported):
|
||||
def _ClassifySupport(self, extension):
|
||||
supported = extension.attrib['supported']
|
||||
if 'gles2' in supported:
|
||||
return 'gl2ext'
|
||||
elif 'gles1' in supported:
|
||||
|
@ -364,7 +483,8 @@ class RegistryXML:
|
|||
elif 'cl' in supported:
|
||||
return 'clext'
|
||||
else:
|
||||
assert False
|
||||
assert False, 'Cannot classify support for %s: %s' % (extension.attrib['name'],
|
||||
supported)
|
||||
return 'unknown'
|
||||
|
||||
def AddExtensionCommands(self, supported_extensions, apis):
|
||||
|
@ -379,7 +499,7 @@ class RegistryXML:
|
|||
if not extension_name in supported_extensions:
|
||||
continue
|
||||
|
||||
ext_annotations[extension_name] = self._ClassifySupport(extension.attrib['supported'])
|
||||
ext_annotations[extension_name] = self._ClassifySupport(extension)
|
||||
|
||||
ext_cmd_names = []
|
||||
|
||||
|
|
|
@ -99,6 +99,8 @@ generators = {
|
|||
'src/libANGLE/renderer/gen_dxgi_support_tables.py',
|
||||
'Emulated HLSL functions':
|
||||
'src/compiler/translator/gen_emulated_builtin_function_tables.py',
|
||||
'Extension files':
|
||||
'src/libANGLE/gen_extensions.py',
|
||||
'GL copy conversion table':
|
||||
'src/libANGLE/gen_copy_conversion_table.py',
|
||||
'GL CTS (dEQP) build files':
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include "libANGLE/Caps.h"
|
||||
|
||||
#include "anglebase/no_destructor.h"
|
||||
#include "common/angleutils.h"
|
||||
#include "common/debug.h"
|
||||
|
||||
|
@ -899,238 +898,6 @@ void Extensions::setTextureExtensionSupport(const TextureCapsMap &textureCaps)
|
|||
textureStencil8OES = DetermineStencilIndex8Support(textureCaps);
|
||||
}
|
||||
|
||||
const ExtensionInfoMap &GetExtensionInfoMap()
|
||||
{
|
||||
auto buildExtensionInfoMap = []() {
|
||||
auto enableableExtension = [](ExtensionBool member) {
|
||||
ExtensionInfo info;
|
||||
info.Requestable = true;
|
||||
info.ExtensionsMember = member;
|
||||
return info;
|
||||
};
|
||||
|
||||
auto enableableDisablableExtension = [&](ExtensionBool member) {
|
||||
ExtensionInfo info = enableableExtension(member);
|
||||
info.Disablable = true;
|
||||
return info;
|
||||
};
|
||||
|
||||
auto esOnlyExtension = [](ExtensionBool member) {
|
||||
ExtensionInfo info;
|
||||
info.ExtensionsMember = member;
|
||||
return info;
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
ExtensionInfoMap map;
|
||||
map["GL_OES_element_index_uint"] = enableableExtension(&Extensions::elementIndexUintOES);
|
||||
map["GL_OES_packed_depth_stencil"] = esOnlyExtension(&Extensions::packedDepthStencilOES);
|
||||
map["GL_OES_get_program_binary"] = enableableExtension(&Extensions::getProgramBinaryOES);
|
||||
map["GL_OES_rgb8_rgba8"] = enableableExtension(&Extensions::rgb8Rgba8OES);
|
||||
map["GL_NV_read_depth"] = enableableExtension(&Extensions::readDepthNV);
|
||||
map["GL_NV_read_stencil"] = enableableExtension(&Extensions::readStencilNV);
|
||||
map["GL_NV_depth_buffer_float2"] = enableableExtension(&Extensions::depthBufferFloat2NV);
|
||||
map["GL_EXT_texture_format_BGRA8888"] = enableableExtension(&Extensions::textureFormatBGRA8888EXT);
|
||||
map["GL_EXT_texture_type_2_10_10_10_REV"] = enableableExtension(&Extensions::textureType2101010REVEXT);
|
||||
map["GL_EXT_read_format_bgra"] = enableableExtension(&Extensions::readFormatBgraEXT);
|
||||
map["GL_NV_pixel_buffer_object"] = enableableExtension(&Extensions::pixelBufferObjectNV);
|
||||
map["GL_ARB_sync"] = enableableExtension(&Extensions::syncARB);
|
||||
map["GL_OES_mapbuffer"] = enableableExtension(&Extensions::mapbufferOES);
|
||||
map["GL_EXT_map_buffer_range"] = enableableExtension(&Extensions::mapBufferRangeEXT);
|
||||
map["GL_EXT_color_buffer_half_float"] = enableableExtension(&Extensions::colorBufferHalfFloatEXT);
|
||||
map["GL_OES_texture_half_float"] = enableableExtension(&Extensions::textureHalfFloatOES);
|
||||
map["GL_OES_texture_half_float_linear"] = enableableExtension(&Extensions::textureHalfFloatLinearOES);
|
||||
map["GL_OES_texture_float"] = enableableExtension(&Extensions::textureFloatOES);
|
||||
map["GL_OES_texture_float_linear"] = enableableExtension(&Extensions::textureFloatLinearOES);
|
||||
map["GL_EXT_texture_rg"] = enableableExtension(&Extensions::textureRgEXT);
|
||||
map["GL_EXT_texture_compression_dxt1"] = enableableExtension(&Extensions::textureCompressionDxt1EXT);
|
||||
map["GL_ANGLE_texture_compression_dxt3"] = enableableExtension(&Extensions::textureCompressionDxt3ANGLE);
|
||||
map["GL_ANGLE_texture_compression_dxt5"] = enableableExtension(&Extensions::textureCompressionDxt5ANGLE);
|
||||
map["GL_EXT_texture_compression_s3tc_srgb"] = enableableExtension(&Extensions::textureCompressionS3tcSrgbEXT);
|
||||
map["GL_KHR_texture_compression_astc_ldr"] = enableableExtension(&Extensions::textureCompressionAstcLdrKHR);
|
||||
map["GL_KHR_texture_compression_astc_hdr"] = enableableExtension(&Extensions::textureCompressionAstcHdrKHR);
|
||||
map["GL_KHR_texture_compression_astc_sliced_3d"] = enableableExtension(&Extensions::textureCompressionAstcSliced3dKHR);
|
||||
map["GL_OES_texture_compression_astc"] = enableableExtension(&Extensions::textureCompressionAstcOES);
|
||||
map["GL_EXT_texture_compression_bptc"] = enableableExtension(&Extensions::textureCompressionBptcEXT);
|
||||
map["GL_EXT_texture_compression_rgtc"] = enableableExtension(&Extensions::textureCompressionRgtcEXT);
|
||||
map["GL_OES_compressed_ETC1_RGB8_texture"] = enableableExtension(&Extensions::compressedETC1RGB8TextureOES);
|
||||
map["GL_EXT_compressed_ETC1_RGB8_sub_texture"] = enableableExtension(&Extensions::compressedETC1RGB8SubTextureEXT);
|
||||
map["GL_OES_compressed_ETC2_RGB8_texture"] = enableableExtension(&Extensions::compressedETC2RGB8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_sRGB8_texture"] = enableableExtension(&Extensions::compressedETC2SRGB8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture"] = enableableExtension(&Extensions::compressedETC2PunchthroughARGBA8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture"] = enableableExtension(&Extensions::compressedETC2PunchthroughASRGB8AlphaTextureOES);
|
||||
map["GL_OES_compressed_ETC2_RGBA8_texture"] = enableableExtension(&Extensions::compressedETC2RGBA8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_sRGB8_alpha8_texture"] = enableableExtension(&Extensions::compressedETC2SRGB8Alpha8TextureOES);
|
||||
map["GL_OES_compressed_EAC_R11_unsigned_texture"] = enableableExtension(&Extensions::compressedEACR11UnsignedTextureOES);
|
||||
map["GL_OES_compressed_EAC_R11_signed_texture"] = enableableExtension(&Extensions::compressedEACR11SignedTextureOES);
|
||||
map["GL_OES_compressed_EAC_RG11_unsigned_texture"] = enableableExtension(&Extensions::compressedEACRG11UnsignedTextureOES);
|
||||
map["GL_OES_compressed_EAC_RG11_signed_texture"] = enableableExtension(&Extensions::compressedEACRG11SignedTextureOES);
|
||||
map["GL_ANGLE_compressed_texture_etc"] = enableableExtension(&Extensions::compressedTextureEtcANGLE);
|
||||
map["GL_IMG_texture_compression_pvrtc"] = enableableExtension(&Extensions::textureCompressionPvrtcIMG);
|
||||
map["GL_EXT_pvrtc_sRGB"] = enableableExtension(&Extensions::pvrtcSRGBEXT);
|
||||
map["GL_EXT_sRGB"] = enableableExtension(&Extensions::sRGBEXT);
|
||||
map["GL_EXT_texture_sRGB_R8"] = enableableExtension(&Extensions::textureSRGBR8EXT);
|
||||
map["GL_EXT_texture_sRGB_RG8"] = enableableExtension(&Extensions::textureSRGBRG8EXT);
|
||||
map["GL_ANGLE_depth_texture"] = esOnlyExtension(&Extensions::depthTextureANGLE);
|
||||
map["GL_OES_depth_texture"] = esOnlyExtension(&Extensions::depthTextureOES);
|
||||
map["GL_OES_depth_texture_cube_map"] = enableableExtension(&Extensions::depthTextureCubeMapOES);
|
||||
map["GL_OES_depth24"] = esOnlyExtension(&Extensions::depth24OES);
|
||||
map["GL_OES_depth32"] = esOnlyExtension(&Extensions::depth32OES);
|
||||
map["GL_OES_texture_3D"] = enableableExtension(&Extensions::texture3DOES);
|
||||
map["GL_EXT_texture_storage"] = enableableExtension(&Extensions::textureStorageEXT);
|
||||
map["GL_OES_texture_npot"] = enableableExtension(&Extensions::textureNpotOES);
|
||||
map["GL_EXT_draw_buffers"] = enableableExtension(&Extensions::drawBuffersEXT);
|
||||
map["GL_EXT_draw_buffers_indexed"] = enableableExtension(&Extensions::drawBuffersIndexedEXT);
|
||||
map["GL_OES_draw_buffers_indexed"] = enableableExtension(&Extensions::drawBuffersIndexedOES);
|
||||
map["GL_EXT_texture_filter_anisotropic"] = enableableExtension(&Extensions::textureFilterAnisotropicEXT);
|
||||
map["GL_EXT_occlusion_query_boolean"] = enableableExtension(&Extensions::occlusionQueryBooleanEXT);
|
||||
map["GL_NV_fence"] = esOnlyExtension(&Extensions::fenceNV);
|
||||
map["GL_EXT_disjoint_timer_query"] = enableableExtension(&Extensions::disjointTimerQueryEXT);
|
||||
map["GL_EXT_robustness"] = esOnlyExtension(&Extensions::robustnessEXT);
|
||||
map["GL_KHR_robust_buffer_access_behavior"] = esOnlyExtension(&Extensions::robustBufferAccessBehaviorKHR);
|
||||
map["GL_EXT_blend_minmax"] = enableableExtension(&Extensions::blendMinmaxEXT);
|
||||
map["GL_ANGLE_framebuffer_blit"] = enableableExtension(&Extensions::framebufferBlitANGLE);
|
||||
map["GL_NV_framebuffer_blit"] = enableableExtension(&Extensions::framebufferBlitNV);
|
||||
map["GL_ANGLE_framebuffer_multisample"] = enableableExtension(&Extensions::framebufferMultisampleANGLE);
|
||||
map["GL_EXT_multisampled_render_to_texture"] = enableableExtension(&Extensions::multisampledRenderToTextureEXT);
|
||||
map["GL_EXT_multisampled_render_to_texture2"] = enableableExtension(&Extensions::multisampledRenderToTexture2EXT);
|
||||
map["GL_ANGLE_instanced_arrays"] = enableableExtension(&Extensions::instancedArraysANGLE);
|
||||
map["GL_EXT_instanced_arrays"] = enableableExtension(&Extensions::instancedArraysEXT);
|
||||
map["GL_ANGLE_pack_reverse_row_order"] = enableableExtension(&Extensions::packReverseRowOrderANGLE);
|
||||
map["GL_OES_standard_derivatives"] = enableableExtension(&Extensions::standardDerivativesOES);
|
||||
map["GL_EXT_shader_texture_lod"] = enableableExtension(&Extensions::shaderTextureLodEXT);
|
||||
map["GL_EXT_frag_depth"] = enableableExtension(&Extensions::fragDepthEXT);
|
||||
map["GL_OVR_multiview"] = enableableExtension(&Extensions::multiviewOVR);
|
||||
map["GL_OVR_multiview2"] = enableableExtension(&Extensions::multiview2OVR);
|
||||
map["GL_ANGLE_texture_usage"] = enableableExtension(&Extensions::textureUsageANGLE);
|
||||
map["GL_ANGLE_translated_shader_source"] = esOnlyExtension(&Extensions::translatedShaderSourceANGLE);
|
||||
map["GL_OES_fbo_render_mipmap"] = enableableExtension(&Extensions::fboRenderMipmapOES);
|
||||
map["GL_EXT_discard_framebuffer"] = esOnlyExtension(&Extensions::discardFramebufferEXT);
|
||||
map["GL_EXT_debug_label"] = esOnlyExtension(&Extensions::debugLabelEXT);
|
||||
map["GL_EXT_debug_marker"] = esOnlyExtension(&Extensions::debugMarkerEXT);
|
||||
map["GL_OES_EGL_image"] = enableableExtension(&Extensions::EGLImageOES);
|
||||
map["GL_OES_EGL_image_external"] = enableableExtension(&Extensions::EGLImageExternalOES);
|
||||
map["GL_OES_EGL_image_external_essl3"] = enableableExtension(&Extensions::EGLImageExternalEssl3OES);
|
||||
map["GL_EXT_EGL_image_external_wrap_modes"] = enableableExtension(&Extensions::EGLImageExternalWrapModesEXT);
|
||||
map["GL_OES_EGL_sync"] = esOnlyExtension(&Extensions::EGLSyncOES);
|
||||
map["GL_EXT_memory_object"] = enableableExtension(&Extensions::memoryObjectEXT);
|
||||
map["GL_EXT_memory_object_fd"] = enableableExtension(&Extensions::memoryObjectFdEXT);
|
||||
map["GL_ANGLE_memory_object_flags"] = enableableExtension(&Extensions::memoryObjectFlagsANGLE);
|
||||
map["GL_ANGLE_memory_object_fuchsia"] = enableableExtension(&Extensions::memoryObjectFuchsiaANGLE);
|
||||
map["GL_EXT_semaphore"] = enableableExtension(&Extensions::semaphoreEXT);
|
||||
map["GL_EXT_semaphore_fd"] = enableableExtension(&Extensions::semaphoreFdEXT);
|
||||
map["GL_NV_EGL_stream_consumer_external"] = enableableExtension(&Extensions::EGLStreamConsumerExternalNV);
|
||||
map["GL_NV_shader_noperspective_interpolation"] = enableableExtension(&Extensions::shaderNoperspectiveInterpolationNV);
|
||||
map["GL_ANGLE_semaphore_fuchsia"] = enableableExtension(&Extensions::semaphoreFuchsiaANGLE);
|
||||
map["GL_EXT_unpack_subimage"] = enableableExtension(&Extensions::unpackSubimageEXT);
|
||||
map["GL_NV_pack_subimage"] = enableableExtension(&Extensions::packSubimageNV);
|
||||
map["GL_EXT_color_buffer_float"] = enableableExtension(&Extensions::colorBufferFloatEXT);
|
||||
map["GL_OES_vertex_half_float"] = enableableExtension(&Extensions::vertexHalfFloatOES);
|
||||
map["GL_OES_vertex_array_object"] = enableableExtension(&Extensions::vertexArrayObjectOES);
|
||||
map["GL_OES_vertex_type_10_10_10_2"] = enableableExtension(&Extensions::vertexType1010102OES);
|
||||
map["GL_KHR_debug"] = esOnlyExtension(&Extensions::debugKHR);
|
||||
map["GL_OES_texture_border_clamp"] = enableableExtension(&Extensions::textureBorderClampOES);
|
||||
map["GL_EXT_texture_border_clamp"] = enableableExtension(&Extensions::textureBorderClampEXT);
|
||||
map["GL_KHR_no_error"] = esOnlyExtension(&Extensions::noErrorKHR);
|
||||
map["GL_ANGLE_lossy_etc_decode"] = enableableExtension(&Extensions::lossyEtcDecodeANGLE);
|
||||
map["GL_CHROMIUM_bind_uniform_location"] = esOnlyExtension(&Extensions::bindUniformLocationCHROMIUM);
|
||||
map["GL_CHROMIUM_sync_query"] = enableableExtension(&Extensions::syncQueryCHROMIUM);
|
||||
map["GL_CHROMIUM_copy_texture"] = esOnlyExtension(&Extensions::copyTextureCHROMIUM);
|
||||
map["GL_CHROMIUM_copy_compressed_texture"] = esOnlyExtension(&Extensions::copyCompressedTextureCHROMIUM);
|
||||
map["GL_ANGLE_copy_texture_3d"] = enableableExtension(&Extensions::copyTexture3dANGLE);
|
||||
map["GL_ANGLE_webgl_compatibility"] = esOnlyExtension(&Extensions::webglCompatibilityANGLE);
|
||||
map["GL_ANGLE_request_extension"] = esOnlyExtension(&Extensions::requestExtensionANGLE);
|
||||
map["GL_CHROMIUM_bind_generates_resource"] = esOnlyExtension(&Extensions::bindGeneratesResourceCHROMIUM);
|
||||
map["GL_ANGLE_robust_client_memory"] = esOnlyExtension(&Extensions::robustClientMemoryANGLE);
|
||||
map["GL_EXT_texture_sRGB_decode"] = esOnlyExtension(&Extensions::textureSRGBDecodeEXT);
|
||||
map["GL_EXT_texture_format_sRGB_override"] = esOnlyExtension(&Extensions::textureFormatSRGBOverrideEXT);
|
||||
map["GL_EXT_sRGB_write_control"] = esOnlyExtension(&Extensions::sRGBWriteControlEXT);
|
||||
map["GL_CHROMIUM_color_buffer_float_rgb"] = enableableExtension(&Extensions::colorBufferFloatRgbCHROMIUM);
|
||||
map["GL_CHROMIUM_color_buffer_float_rgba"] = enableableExtension(&Extensions::colorBufferFloatRgbaCHROMIUM);
|
||||
map["GL_EXT_multisample_compatibility"] = esOnlyExtension(&Extensions::multisampleCompatibilityEXT);
|
||||
map["GL_CHROMIUM_framebuffer_mixed_samples"] = esOnlyExtension(&Extensions::framebufferMixedSamplesCHROMIUM);
|
||||
map["GL_EXT_texture_norm16"] = enableableExtension(&Extensions::textureNorm16EXT);
|
||||
map["GL_OES_surfaceless_context"] = esOnlyExtension(&Extensions::surfacelessContextOES);
|
||||
map["GL_ANGLE_client_arrays"] = esOnlyExtension(&Extensions::clientArraysANGLE);
|
||||
map["GL_ANGLE_robust_resource_initialization"] = esOnlyExtension(&Extensions::robustResourceInitializationANGLE);
|
||||
map["GL_ANGLE_program_cache_control"] = esOnlyExtension(&Extensions::programCacheControlANGLE);
|
||||
map["GL_ANGLE_texture_rectangle"] = enableableDisablableExtension(&Extensions::textureRectangleANGLE);
|
||||
map["GL_EXT_geometry_shader"] = enableableExtension(&Extensions::geometryShaderEXT);
|
||||
map["GL_OES_geometry_shader"] = enableableExtension(&Extensions::geometryShaderOES);
|
||||
map["GL_KHR_parallel_shader_compile"] = enableableExtension(&Extensions::parallelShaderCompileKHR);
|
||||
map["GL_EXT_separate_shader_objects"] = enableableExtension(&Extensions::separateShaderObjectsEXT);
|
||||
map["GL_OES_texture_storage_multisample_2d_array"] = enableableExtension(&Extensions::textureStorageMultisample2dArrayOES);
|
||||
map["GL_ANGLE_multiview_multisample"] = enableableExtension(&Extensions::multiviewMultisampleANGLE);
|
||||
map["GL_KHR_blend_equation_advanced"] = esOnlyExtension(&Extensions::blendEquationAdvancedKHR);
|
||||
map["GL_EXT_blend_func_extended"] = enableableExtension(&Extensions::blendFuncExtendedEXT);
|
||||
map["GL_EXT_float_blend"] = enableableExtension(&Extensions::floatBlendEXT);
|
||||
map["GL_ANGLE_texture_multisample"] = enableableExtension(&Extensions::textureMultisampleANGLE);
|
||||
map["GL_ANGLE_multi_draw"] = enableableExtension(&Extensions::multiDrawANGLE);
|
||||
map["GL_ANGLE_provoking_vertex"] = enableableExtension(&Extensions::provokingVertexANGLE);
|
||||
map["GL_CHROMIUM_texture_filtering_hint"] = enableableExtension(&Extensions::textureFilteringHintCHROMIUM);
|
||||
map["GL_CHROMIUM_lose_context"] = enableableExtension(&Extensions::loseContextCHROMIUM);
|
||||
map["GL_ANGLE_texture_external_update"] = enableableExtension(&Extensions::textureExternalUpdateANGLE);
|
||||
map["GL_ANGLE_base_vertex_base_instance"] = enableableExtension(&Extensions::baseVertexBaseInstanceANGLE);
|
||||
map["GL_ANGLE_get_image"] = enableableExtension(&Extensions::getImageANGLE);
|
||||
map["GL_OES_draw_elements_base_vertex"] = enableableExtension(&Extensions::drawElementsBaseVertexOES);
|
||||
map["GL_EXT_draw_elements_base_vertex"] = enableableExtension(&Extensions::drawElementsBaseVertexEXT);
|
||||
map["GL_EXT_gpu_shader5"] = enableableExtension(&Extensions::gpuShader5EXT);
|
||||
map["GL_APPLE_clip_distance"] = enableableExtension(&Extensions::clipDistanceAPPLE);
|
||||
map["GL_EXT_clip_control"] = enableableExtension(&Extensions::clipControlEXT);
|
||||
map["GL_EXT_EGL_image_array"] = enableableExtension(&Extensions::EGLImageArrayEXT);
|
||||
map["GL_EXT_EGL_image_storage"] = enableableExtension(&Extensions::EGLImageStorageEXT);
|
||||
map["GL_EXT_buffer_storage"] = enableableExtension(&Extensions::bufferStorageEXT);
|
||||
map["GL_EXT_external_buffer"] = enableableExtension(&Extensions::externalBufferEXT);
|
||||
map["GL_OES_texture_stencil8"] = enableableExtension(&Extensions::textureStencil8OES);
|
||||
map["GL_OES_sample_shading"] = enableableExtension(&Extensions::sampleShadingOES);
|
||||
map["GL_OES_shader_multisample_interpolation"] = enableableExtension(&Extensions::shaderMultisampleInterpolationOES);
|
||||
map["GL_OES_shader_image_atomic"] = enableableExtension(&Extensions::shaderImageAtomicOES);
|
||||
map["GL_OES_sample_variables"] = enableableExtension(&Extensions::sampleVariablesOES);
|
||||
map["GL_EXT_shader_framebuffer_fetch_non_coherent"] = enableableExtension(&Extensions::shaderFramebufferFetchNonCoherentEXT);
|
||||
map["GL_NV_robustness_video_memory_purge"] = esOnlyExtension(&Extensions::robustnessVideoMemoryPurgeNV);
|
||||
map["GL_ANGLE_get_tex_level_parameter"] = enableableExtension(&Extensions::getTexLevelParameterANGLE);
|
||||
map["GL_EXT_copy_image"] = enableableExtension(&Extensions::copyImageEXT);
|
||||
map["GL_OES_texture_buffer"] = enableableExtension(&Extensions::textureBufferOES);
|
||||
map["GL_EXT_texture_buffer"] = enableableExtension(&Extensions::textureBufferEXT);
|
||||
map["GL_EXT_YUV_target"] = enableableExtension(&Extensions::YUVTargetEXT);
|
||||
map["GL_OES_shader_io_blocks"] = enableableExtension(&Extensions::shaderIoBlocksOES);
|
||||
map["GL_EXT_shader_io_blocks"] = enableableExtension(&Extensions::shaderIoBlocksEXT);
|
||||
map["GL_EXT_clip_cull_distance"] = enableableExtension(&Extensions::clipCullDistanceEXT);
|
||||
map["GL_ANGLE_get_serialized_context_string"] = esOnlyExtension(&Extensions::getSerializedContextStringANGLE);
|
||||
map["GL_EXT_primitive_bounding_box"] = esOnlyExtension(&Extensions::primitiveBoundingBoxEXT);
|
||||
map["GL_ANGLE_relaxed_vertex_attribute_type"] = esOnlyExtension(&Extensions::relaxedVertexAttributeTypeANGLE);
|
||||
map["GL_ANGLE_yuv_internal_format"] = enableableExtension(&Extensions::yuvInternalFormatANGLE);
|
||||
map["GL_EXT_protected_textures"] = enableableExtension(&Extensions::protectedTexturesEXT);
|
||||
// GLES1 extensions
|
||||
map["GL_OES_point_size_array"] = enableableExtension(&Extensions::pointSizeArrayOES);
|
||||
map["GL_OES_texture_cube_map"] = enableableExtension(&Extensions::textureCubeMapOES);
|
||||
map["GL_OES_point_sprite"] = enableableExtension(&Extensions::pointSpriteOES);
|
||||
map["GL_OES_draw_texture"] = enableableExtension(&Extensions::drawTextureOES);
|
||||
map["GL_OES_framebuffer_object"] = enableableExtension(&Extensions::framebufferObjectOES);
|
||||
map["GL_ANGLE_memory_size"] = enableableExtension(&Extensions::memorySizeANGLE);
|
||||
map["GL_EXT_shader_non_constant_global_initializers"] = enableableExtension(&Extensions::shaderNonConstantGlobalInitializersEXT);
|
||||
map["GL_WEBGL_video_texture"] = enableableExtension(&Extensions::videoTextureWEBGL);
|
||||
map["GL_OES_texture_cube_map_array"] = enableableExtension(&Extensions::textureCubeMapArrayOES);
|
||||
map["GL_EXT_texture_cube_map_array"] = enableableExtension(&Extensions::textureCubeMapArrayEXT);
|
||||
map["GL_EXT_shadow_samplers"] = enableableExtension(&Extensions::shadowSamplersEXT);
|
||||
map["GL_EXT_tessellation_shader"] = enableableExtension(&Extensions::tessellationShaderEXT);
|
||||
// clang-format on
|
||||
|
||||
#if defined(ANGLE_ENABLE_ASSERTS)
|
||||
// Verify all extension strings start with GL_
|
||||
for (const auto &extension : map)
|
||||
{
|
||||
ASSERT(extension.first.rfind("GL_", 0) == 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
return map;
|
||||
};
|
||||
|
||||
static const angle::base::NoDestructor<ExtensionInfoMap> extensionInfo(buildExtensionInfoMap());
|
||||
return *extensionInfo;
|
||||
}
|
||||
|
||||
TypePrecision::TypePrecision() = default;
|
||||
|
||||
TypePrecision::TypePrecision(const TypePrecision &other) = default;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "angle_gl.h"
|
||||
#include "libANGLE/Version.h"
|
||||
#include "libANGLE/angletypes.h"
|
||||
#include "libANGLE/gles_extensions_autogen.h"
|
||||
#include "libANGLE/renderer/Format.h"
|
||||
|
||||
#include <array>
|
||||
|
@ -20,9 +21,6 @@
|
|||
|
||||
namespace gl
|
||||
{
|
||||
|
||||
struct Extensions;
|
||||
|
||||
struct TextureCaps
|
||||
{
|
||||
TextureCaps();
|
||||
|
@ -92,654 +90,6 @@ void InitMinimumTextureCapsMap(const Version &clientVersion,
|
|||
// present. Does not determine if they are natively supported without decompression.
|
||||
bool DetermineCompressedTextureETCSupport(const TextureCapsMap &textureCaps);
|
||||
|
||||
struct Extensions
|
||||
{
|
||||
Extensions();
|
||||
Extensions(const Extensions &other);
|
||||
|
||||
Extensions &operator=(const Extensions &other);
|
||||
|
||||
// Generate a vector of supported extension strings
|
||||
std::vector<std::string> getStrings() const;
|
||||
|
||||
// Set all texture related extension support based on the supported textures.
|
||||
// Determines support for:
|
||||
// GL_OES_packed_depth_stencil
|
||||
// GL_OES_rgb8_rgba8
|
||||
// GL_EXT_texture_format_BGRA8888
|
||||
// GL_EXT_color_buffer_half_float,
|
||||
// GL_OES_texture_half_float, GL_OES_texture_half_float_linear
|
||||
// GL_OES_texture_float, GL_OES_texture_float_linear
|
||||
// GL_EXT_texture_rg
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
// GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt3,
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
// GL_KHR_texture_compression_astc_ldr, GL_OES_texture_compression_astc.
|
||||
// NOTE: GL_KHR_texture_compression_astc_hdr must be enabled separately. Support for the
|
||||
// HDR profile cannot be determined from the format enums alone.
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
// GL_EXT_sRGB
|
||||
// GL_ANGLE_depth_texture, GL_OES_depth32
|
||||
// GL_EXT_color_buffer_float
|
||||
// GL_EXT_texture_norm16
|
||||
// GL_EXT_texture_compression_bptc
|
||||
// GL_EXT_texture_compression_rgtc
|
||||
void setTextureExtensionSupport(const TextureCapsMap &textureCaps);
|
||||
|
||||
// indicate if any depth texture extension is available
|
||||
bool depthTextureAny() const { return (depthTextureANGLE || depthTextureOES); }
|
||||
|
||||
// ES2 Extension support
|
||||
|
||||
// GL_OES_element_index_uint
|
||||
bool elementIndexUintOES = false;
|
||||
|
||||
// GL_OES_packed_depth_stencil
|
||||
bool packedDepthStencilOES = false;
|
||||
|
||||
// GL_NV_read_depth
|
||||
bool readDepthNV = false;
|
||||
|
||||
// GL_NV_read_stencil
|
||||
bool readStencilNV = false;
|
||||
|
||||
// GL_NV_depth_buffer_float2
|
||||
bool depthBufferFloat2NV = false;
|
||||
|
||||
// GL_OES_get_program_binary
|
||||
bool getProgramBinaryOES = false;
|
||||
|
||||
// GL_OES_rgb8_rgba8
|
||||
// Implies that TextureCaps for GL_RGB8 and GL_RGBA8 exist
|
||||
bool rgb8Rgba8OES = false;
|
||||
|
||||
// GL_EXT_texture_format_BGRA8888
|
||||
// Implies that TextureCaps for GL_BGRA8 exist
|
||||
bool textureFormatBGRA8888EXT = false;
|
||||
|
||||
// GL_EXT_read_format_bgra
|
||||
bool readFormatBgraEXT = false;
|
||||
|
||||
// GL_NV_pixel_buffer_object
|
||||
bool pixelBufferObjectNV = false;
|
||||
|
||||
// GL_ARB_sync
|
||||
bool syncARB = false;
|
||||
|
||||
// GL_OES_mapbuffer and GL_EXT_map_buffer_range
|
||||
bool mapbufferOES = false;
|
||||
bool mapBufferRangeEXT = false;
|
||||
|
||||
// GL_EXT_color_buffer_half_float
|
||||
// Together with GL_OES_texture_half_float in a GLES 2.0 context, implies that half-float
|
||||
// textures are renderable.
|
||||
bool colorBufferHalfFloatEXT = false;
|
||||
|
||||
// GL_OES_texture_half_float and GL_OES_texture_half_float_linear
|
||||
// Implies that TextureCaps for GL_RGB16F, GL_RGBA16F, GL_ALPHA32F_EXT, GL_LUMINANCE32F_EXT and
|
||||
// GL_LUMINANCE_ALPHA32F_EXT exist
|
||||
bool textureHalfFloatOES = false;
|
||||
bool textureHalfFloatLinearOES = false;
|
||||
|
||||
// GL_OES_texture_float and GL_OES_texture_float_linear
|
||||
// Implies that TextureCaps for GL_RGB32F, GL_RGBA32F, GL_ALPHA16F_EXT, GL_LUMINANCE16F_EXT and
|
||||
// GL_LUMINANCE_ALPHA16F_EXT exist
|
||||
bool textureFloatOES = false;
|
||||
bool textureFloatLinearOES = false;
|
||||
|
||||
// GL_EXT_texture_rg
|
||||
// Implies that TextureCaps for GL_R8, GL_RG8 (and floating point R/RG texture formats if
|
||||
// floating point extensions are also present) exist
|
||||
bool textureRgEXT = false;
|
||||
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
bool textureType2101010REVEXT = false;
|
||||
|
||||
// GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt3 and
|
||||
// GL_ANGLE_texture_compression_dxt5 Implies that TextureCaps exist for
|
||||
// GL_COMPRESSED_RGB_S3TC_DXT1_EXT, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
|
||||
// GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE and GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE
|
||||
bool textureCompressionDxt1EXT = false;
|
||||
bool textureCompressionDxt3ANGLE = false;
|
||||
bool textureCompressionDxt5ANGLE = false;
|
||||
|
||||
// GL_EXT_texture_compression_s3tc_srgb
|
||||
// Implies that TextureCaps exist for GL_COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
||||
// GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT, GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT, and
|
||||
// GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
|
||||
bool textureCompressionS3tcSrgbEXT = false;
|
||||
|
||||
// GL_KHR_texture_compression_astc_ldr
|
||||
bool textureCompressionAstcLdrKHR = false;
|
||||
|
||||
// GL_KHR_texture_compression_astc_hdr
|
||||
bool textureCompressionAstcHdrKHR = false;
|
||||
|
||||
// GL_OES_texture_compression_astc
|
||||
bool textureCompressionAstcOES = false;
|
||||
|
||||
// GL_KHR_texture_compression_astc_sliced_3d
|
||||
bool textureCompressionAstcSliced3dKHR = false;
|
||||
|
||||
// GL_EXT_texture_compression_bptc
|
||||
bool textureCompressionBptcEXT = false;
|
||||
|
||||
// GL_EXT_texture_compression_rgtc
|
||||
bool textureCompressionRgtcEXT = false;
|
||||
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
// Implies that TextureCaps for GL_ETC1_RGB8_OES exist
|
||||
bool compressedETC1RGB8TextureOES = false;
|
||||
|
||||
// GL_EXT_compressed_ETC1_RGB8_sub_texture
|
||||
bool compressedETC1RGB8SubTextureEXT = false;
|
||||
|
||||
// OES_compressed_ETC2_RGB8_texture
|
||||
bool compressedETC2RGB8TextureOES = false;
|
||||
|
||||
// OES_compressed_ETC2_sRGB8_texture
|
||||
bool compressedETC2SRGB8TextureOES = false;
|
||||
|
||||
// OES_compressed_ETC2_punchthroughA_RGBA8_texture
|
||||
bool compressedETC2PunchthroughARGBA8TextureOES = false;
|
||||
|
||||
// OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture
|
||||
bool compressedETC2PunchthroughASRGB8AlphaTextureOES = false;
|
||||
|
||||
// OES_compressed_ETC2_RGBA8_texture
|
||||
bool compressedETC2RGBA8TextureOES = false;
|
||||
|
||||
// OES_compressed_ETC2_sRGB8_alpha8_texture
|
||||
bool compressedETC2SRGB8Alpha8TextureOES = false;
|
||||
|
||||
// OES_compressed_EAC_R11_unsigned_texture
|
||||
bool compressedEACR11UnsignedTextureOES = false;
|
||||
|
||||
// OES_compressed_EAC_R11_signed_texture
|
||||
bool compressedEACR11SignedTextureOES = false;
|
||||
|
||||
// OES_compressed_EAC_RG11_unsigned_texture
|
||||
bool compressedEACRG11UnsignedTextureOES = false;
|
||||
|
||||
// OES_compressed_EAC_RG11_signed_texture
|
||||
bool compressedEACRG11SignedTextureOES = false;
|
||||
|
||||
// ANGLE_compressed_texture_etc
|
||||
// ONLY exposed if ETC texture formats are natively supported without decompression
|
||||
// Backends should enable this extension explicitly. It is not enabled with
|
||||
// setTextureExtensionSupport, use DetermineCompressedTextureETCSupport to check if all of the
|
||||
// individual formats required to support this extension are available.
|
||||
bool compressedTextureEtcANGLE = false;
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc
|
||||
bool textureCompressionPvrtcIMG = false;
|
||||
|
||||
// GL_EXT_pvrtc_sRGB
|
||||
bool pvrtcSRGBEXT = false;
|
||||
|
||||
// GL_EXT_sRGB
|
||||
// Implies that TextureCaps for GL_SRGB8_ALPHA8 and GL_SRGB8 exist
|
||||
// TODO: Don't advertise this extension in ES3
|
||||
bool sRGBEXT = false;
|
||||
|
||||
// GL_EXT_texture_sRGB_R8
|
||||
bool textureSRGBR8EXT = false;
|
||||
|
||||
// GL_EXT_texture_sRGB_RG8
|
||||
bool textureSRGBRG8EXT = false;
|
||||
|
||||
// GL_ANGLE_depth_texture
|
||||
bool depthTextureANGLE = false;
|
||||
|
||||
// OES_depth_texture
|
||||
bool depthTextureOES = false;
|
||||
|
||||
// GL_OES_depth_texture_cube_map
|
||||
bool depthTextureCubeMapOES = false;
|
||||
|
||||
// GL_OES_depth24
|
||||
// Allows DEPTH_COMPONENT24_OES as a valid Renderbuffer format.
|
||||
bool depth24OES = false;
|
||||
|
||||
// GL_OES_depth32
|
||||
// Allows DEPTH_COMPONENT32_OES as a valid Renderbuffer format.
|
||||
bool depth32OES = false;
|
||||
|
||||
// GL_OES_texture_3D
|
||||
bool texture3DOES = false;
|
||||
|
||||
// GL_EXT_texture_storage
|
||||
bool textureStorageEXT = false;
|
||||
|
||||
// GL_OES_texture_npot
|
||||
bool textureNpotOES = false;
|
||||
|
||||
// GL_EXT_draw_buffers
|
||||
bool drawBuffersEXT = false;
|
||||
|
||||
// GL_EXT_draw_buffers_indexed
|
||||
bool drawBuffersIndexedEXT = false;
|
||||
|
||||
// GL_OES_draw_buffers_indexed
|
||||
bool drawBuffersIndexedOES = false;
|
||||
|
||||
// Any version of the draw_buffers_indexed
|
||||
bool drawBuffersIndexedAny() const { return (drawBuffersIndexedEXT || drawBuffersIndexedOES); }
|
||||
|
||||
// GL_EXT_texture_filter_anisotropic
|
||||
bool textureFilterAnisotropicEXT = false;
|
||||
|
||||
// GL_EXT_occlusion_query_boolean
|
||||
bool occlusionQueryBooleanEXT = false;
|
||||
|
||||
// GL_NV_fence
|
||||
bool fenceNV = false;
|
||||
|
||||
// GL_EXT_disjoint_timer_query
|
||||
bool disjointTimerQueryEXT = false;
|
||||
|
||||
// GL_EXT_robustness
|
||||
bool robustnessEXT = false;
|
||||
|
||||
// GL_KHR_robust_buffer_access_behavior
|
||||
bool robustBufferAccessBehaviorKHR = false;
|
||||
|
||||
// GL_EXT_blend_minmax
|
||||
bool blendMinmaxEXT = false;
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
bool framebufferBlitANGLE = false;
|
||||
// GL_NV_framebuffer_blit
|
||||
bool framebufferBlitNV = false;
|
||||
// Any version of the framebuffer_blit extension
|
||||
bool framebufferBlitAny() const { return (framebufferBlitANGLE || framebufferBlitNV); }
|
||||
|
||||
// GL_ANGLE_framebuffer_multisample
|
||||
bool framebufferMultisampleANGLE = false;
|
||||
|
||||
// GL_EXT_multisampled_render_to_texture
|
||||
bool multisampledRenderToTextureEXT = false;
|
||||
|
||||
// GL_EXT_multisampled_render_to_texture2
|
||||
bool multisampledRenderToTexture2EXT = false;
|
||||
|
||||
// GL_ANGLE_instanced_arrays
|
||||
bool instancedArraysANGLE = false;
|
||||
// GL_EXT_instanced_arrays
|
||||
bool instancedArraysEXT = false;
|
||||
// Any version of the instanced arrays extension
|
||||
bool instancedArraysAny() const { return (instancedArraysANGLE || instancedArraysEXT); }
|
||||
|
||||
// GL_ANGLE_pack_reverse_row_order
|
||||
bool packReverseRowOrderANGLE = false;
|
||||
|
||||
// GL_OES_standard_derivatives
|
||||
bool standardDerivativesOES = false;
|
||||
|
||||
// GL_EXT_shader_texture_lod
|
||||
bool shaderTextureLodEXT = false;
|
||||
|
||||
// GL_EXT_shader_framebuffer_fetch_non_coherent
|
||||
bool shaderFramebufferFetchNonCoherentEXT = false;
|
||||
|
||||
// GL_EXT_frag_depth
|
||||
bool fragDepthEXT = false;
|
||||
|
||||
// OVR_multiview
|
||||
bool multiviewOVR = false;
|
||||
|
||||
// OVR_multiview2
|
||||
bool multiview2OVR = false;
|
||||
|
||||
// GL_ANGLE_texture_usage
|
||||
bool textureUsageANGLE = false;
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
bool translatedShaderSourceANGLE = false;
|
||||
|
||||
// GL_OES_fbo_render_mipmap
|
||||
bool fboRenderMipmapOES = false;
|
||||
|
||||
// GL_EXT_discard_framebuffer
|
||||
bool discardFramebufferEXT = false;
|
||||
|
||||
// EXT_debug_marker
|
||||
bool debugMarkerEXT = false;
|
||||
|
||||
// EXT_debug_label
|
||||
bool debugLabelEXT = false;
|
||||
|
||||
// GL_OES_EGL_image
|
||||
bool EGLImageOES = false;
|
||||
|
||||
// GL_OES_EGL_image_external
|
||||
bool EGLImageExternalOES = false;
|
||||
|
||||
// GL_OES_EGL_image_external_essl3
|
||||
bool EGLImageExternalEssl3OES = false;
|
||||
|
||||
// GL_EXT_EGL_image_external_wrap_modes
|
||||
bool EGLImageExternalWrapModesEXT = false;
|
||||
|
||||
// GL_OES_EGL_sync
|
||||
bool EGLSyncOES = false;
|
||||
|
||||
// GL_EXT_memory_object
|
||||
bool memoryObjectEXT = false;
|
||||
|
||||
// GL_EXT_memory_object_fd
|
||||
bool memoryObjectFdEXT = false;
|
||||
|
||||
// GL_ANGLE_memory_object_flags
|
||||
bool memoryObjectFlagsANGLE = false;
|
||||
|
||||
// GL_ANGLE_memory_object_fuchsia
|
||||
bool memoryObjectFuchsiaANGLE = false;
|
||||
|
||||
// GL_EXT_semaphore
|
||||
bool semaphoreEXT = false;
|
||||
|
||||
// GL_EXT_semaphore_fd
|
||||
bool semaphoreFdEXT = false;
|
||||
|
||||
// GL_ANGLE_semaphore_fuchsia
|
||||
bool semaphoreFuchsiaANGLE = false;
|
||||
|
||||
// NV_EGL_stream_consumer_external
|
||||
bool EGLStreamConsumerExternalNV = false;
|
||||
|
||||
// EXT_unpack_subimage
|
||||
bool unpackSubimageEXT = false;
|
||||
|
||||
// NV_pack_subimage
|
||||
bool packSubimageNV = false;
|
||||
|
||||
// GL_NV_shader_noperspective_interpolation
|
||||
bool shaderNoperspectiveInterpolationNV = false;
|
||||
|
||||
// GL_OES_vertex_half_float
|
||||
bool vertexHalfFloatOES = false;
|
||||
|
||||
// GL_OES_vertex_array_object
|
||||
bool vertexArrayObjectOES = false;
|
||||
|
||||
// GL_OES_vertex_type_10_10_10_2
|
||||
bool vertexType1010102OES = false;
|
||||
|
||||
// GL_KHR_debug
|
||||
bool debugKHR = false;
|
||||
|
||||
// KHR_no_error
|
||||
bool noErrorKHR = false;
|
||||
|
||||
// GL_ANGLE_lossy_etc_decode
|
||||
bool lossyEtcDecodeANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
bool bindUniformLocationCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_sync_query
|
||||
bool syncQueryCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_copy_texture
|
||||
bool copyTextureCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_copy_compressed_texture
|
||||
bool copyCompressedTextureCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_copy_texture_3d
|
||||
bool copyTexture3dANGLE = false;
|
||||
|
||||
// GL_ANGLE_webgl_compatibility
|
||||
bool webglCompatibilityANGLE = false;
|
||||
|
||||
// GL_ANGLE_request_extension
|
||||
bool requestExtensionANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_bind_generates_resource
|
||||
bool bindGeneratesResourceCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_robust_client_memory
|
||||
bool robustClientMemoryANGLE = false;
|
||||
|
||||
// GL_OES_texture_border_clamp
|
||||
bool textureBorderClampOES = false;
|
||||
|
||||
// GL_EXT_texture_border_clamp
|
||||
bool textureBorderClampEXT = false;
|
||||
|
||||
// Any version of the texture border clamp extension
|
||||
bool textureBorderClampAny() const { return (textureBorderClampOES || textureBorderClampEXT); }
|
||||
|
||||
// GL_EXT_texture_sRGB_decode
|
||||
bool textureSRGBDecodeEXT = false;
|
||||
|
||||
// GL_EXT_texture_format_sRGB_override
|
||||
bool textureFormatSRGBOverrideEXT = false;
|
||||
|
||||
// GL_EXT_sRGB_write_control
|
||||
bool sRGBWriteControlEXT = false;
|
||||
|
||||
// GL_CHROMIUM_color_buffer_float_rgb
|
||||
bool colorBufferFloatRgbCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_color_buffer_float_rgba
|
||||
bool colorBufferFloatRgbaCHROMIUM = false;
|
||||
|
||||
// GL_EXT_EGL_image_array
|
||||
bool EGLImageArrayEXT = false;
|
||||
|
||||
// ES3 Extension support
|
||||
|
||||
// GL_EXT_color_buffer_float
|
||||
bool colorBufferFloatEXT = false;
|
||||
|
||||
// GL_EXT_multisample_compatibility.
|
||||
// written against ES 3.1 but can apply to earlier versions.
|
||||
bool multisampleCompatibilityEXT = false;
|
||||
|
||||
// GL_CHROMIUM_framebuffer_mixed_samples
|
||||
bool framebufferMixedSamplesCHROMIUM = false;
|
||||
|
||||
// GL_EXT_texture_norm16
|
||||
// written against ES 3.1 but can apply to ES 3.0 as well.
|
||||
bool textureNorm16EXT = false;
|
||||
|
||||
// GL_OES_surfaceless_context
|
||||
bool surfacelessContextOES = false;
|
||||
|
||||
// GL_ANGLE_client_arrays
|
||||
bool clientArraysANGLE = false;
|
||||
|
||||
// GL_ANGLE_robust_resource_initialization
|
||||
bool robustResourceInitializationANGLE = false;
|
||||
|
||||
// GL_ANGLE_program_cache_control
|
||||
bool programCacheControlANGLE = false;
|
||||
|
||||
// GL_ANGLE_texture_rectangle
|
||||
bool textureRectangleANGLE = false;
|
||||
|
||||
// GL_EXT_geometry_shader
|
||||
bool geometryShaderEXT = false;
|
||||
// GL_OES_geometry_shader
|
||||
bool geometryShaderOES = false;
|
||||
// Any version of the geometry shader extension
|
||||
bool geometryShaderAny() const { return (geometryShaderEXT || geometryShaderOES); }
|
||||
|
||||
// GLES1 emulation: GLES1 extensions
|
||||
// GL_OES_point_size_array
|
||||
bool pointSizeArrayOES = false;
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
bool textureCubeMapOES = false;
|
||||
|
||||
// GL_OES_point_sprite
|
||||
bool pointSpriteOES = false;
|
||||
|
||||
// GL_OES_draw_texture
|
||||
bool drawTextureOES = false;
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
bool framebufferObjectOES = false;
|
||||
|
||||
// GL_KHR_parallel_shader_compile
|
||||
bool parallelShaderCompileKHR = false;
|
||||
|
||||
// GL_EXT_separate_shader_objects
|
||||
bool separateShaderObjectsEXT = false;
|
||||
|
||||
// GL_OES_texture_storage_multisample_2d_array
|
||||
bool textureStorageMultisample2dArrayOES = false;
|
||||
|
||||
// GL_ANGLE_multiview_multisample
|
||||
bool multiviewMultisampleANGLE = false;
|
||||
|
||||
// GL_KHR_blend_equation_advanced
|
||||
bool blendEquationAdvancedKHR = false;
|
||||
|
||||
// GL_EXT_blend_func_extended
|
||||
bool blendFuncExtendedEXT = false;
|
||||
|
||||
// GL_EXT_float_blend
|
||||
bool floatBlendEXT = false;
|
||||
|
||||
// GL_ANGLE_memory_size
|
||||
bool memorySizeANGLE = false;
|
||||
|
||||
// GL_ANGLE_texture_multisample
|
||||
bool textureMultisampleANGLE = false;
|
||||
|
||||
// GL_ANGLE_multi_draw
|
||||
bool multiDrawANGLE = false;
|
||||
|
||||
// GL_ANGLE_provoking_vertex
|
||||
bool provokingVertexANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_texture_filtering_hint
|
||||
bool textureFilteringHintCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_lose_context
|
||||
bool loseContextCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_texture_external_update
|
||||
bool textureExternalUpdateANGLE = false;
|
||||
|
||||
// GL_ANGLE_base_vertex_base_instance
|
||||
bool baseVertexBaseInstanceANGLE = false;
|
||||
|
||||
// GL_ANGLE_get_image
|
||||
bool getImageANGLE = false;
|
||||
|
||||
// GL_OES_draw_elements_base_vertex
|
||||
bool drawElementsBaseVertexOES = false;
|
||||
// GL_EXT_draw_elements_base_vertex
|
||||
bool drawElementsBaseVertexEXT = false;
|
||||
// Any version of the base vertex extension
|
||||
bool drawElementsBaseVertexAny() const
|
||||
{
|
||||
return (drawElementsBaseVertexOES || drawElementsBaseVertexEXT);
|
||||
}
|
||||
|
||||
// GL_EXT_shader_non_constant_global_initializers
|
||||
bool shaderNonConstantGlobalInitializersEXT = false;
|
||||
|
||||
// GL_OES_shader_io_blocks
|
||||
bool shaderIoBlocksOES = false;
|
||||
// GL_EXT_shader_io_blocks
|
||||
bool shaderIoBlocksEXT = false;
|
||||
// Any version of shader io block extension
|
||||
bool shaderIoBlocksAny() const { return (shaderIoBlocksOES || shaderIoBlocksEXT); }
|
||||
|
||||
// GL_EXT_gpu_shader5
|
||||
bool gpuShader5EXT = false;
|
||||
// WEBGL_video_texture
|
||||
bool videoTextureWEBGL = false;
|
||||
|
||||
// GL_APPLE_clip_distance
|
||||
bool clipDistanceAPPLE = false;
|
||||
|
||||
// GL_EXT_clip_control
|
||||
bool clipControlEXT = false;
|
||||
|
||||
// GL_OES_texture_cube_map_array
|
||||
bool textureCubeMapArrayOES = false;
|
||||
// GL_EXT_texture_cube_map_array
|
||||
bool textureCubeMapArrayEXT = false;
|
||||
// Any version of the texture cube map array extension
|
||||
bool textureCubeMapArrayAny() const
|
||||
{
|
||||
return (textureCubeMapArrayOES || textureCubeMapArrayEXT);
|
||||
}
|
||||
|
||||
// GL_EXT_shadow_samplers
|
||||
bool shadowSamplersEXT = false;
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
bool bufferStorageEXT = false;
|
||||
|
||||
// GL_EXT_external_buffer
|
||||
bool externalBufferEXT = false;
|
||||
|
||||
// GL_OES_texture_stencil8
|
||||
bool textureStencil8OES = false;
|
||||
|
||||
// GL_OES_sample_shading
|
||||
bool sampleShadingOES = false;
|
||||
|
||||
// OES_shader_multisample_interpolation
|
||||
bool shaderMultisampleInterpolationOES = false;
|
||||
|
||||
// GL_OES_shader_image_atomic
|
||||
bool shaderImageAtomicOES = false;
|
||||
|
||||
// GL_OES_sample_variables
|
||||
bool sampleVariablesOES = false;
|
||||
|
||||
// GL_NV_robustness_video_memory_purge
|
||||
bool robustnessVideoMemoryPurgeNV = false;
|
||||
|
||||
// GL_ANGLE_get_tex_level_parameter
|
||||
bool getTexLevelParameterANGLE = false;
|
||||
|
||||
// GL_EXT_tessellation_shader
|
||||
bool tessellationShaderEXT = false;
|
||||
|
||||
// GL_EXT_copy_image
|
||||
bool copyImageEXT = false;
|
||||
|
||||
// GL_OES_texture_buffer
|
||||
bool textureBufferOES = false;
|
||||
// GL_EXT_texture_buffer
|
||||
bool textureBufferEXT = false;
|
||||
// Any version of the texture buffer extension
|
||||
bool textureBufferAny() const { return (textureBufferOES || textureBufferEXT); }
|
||||
|
||||
// GL_EXT_YUV_target
|
||||
bool YUVTargetEXT = false;
|
||||
|
||||
// GL_EXT_clip_cull_distance
|
||||
bool clipCullDistanceEXT = false;
|
||||
|
||||
// GL_ANGLE_get_serialized_context_string
|
||||
bool getSerializedContextStringANGLE = false;
|
||||
|
||||
// GL_EXT_primitive_bounding_box
|
||||
bool primitiveBoundingBoxEXT = false;
|
||||
|
||||
// GL_ANGLE_relaxed_vertex_attribute_type
|
||||
bool relaxedVertexAttributeTypeANGLE = false;
|
||||
|
||||
// GL_ANGLE_yuv_internal_format
|
||||
bool yuvInternalFormatANGLE = false;
|
||||
|
||||
// GL_EXT_protected_textures
|
||||
bool protectedTexturesEXT = false;
|
||||
|
||||
// GL_EXT_EGL_image_storage
|
||||
bool EGLImageStorageEXT = false;
|
||||
};
|
||||
|
||||
// Pointer to a boolean member of the Extensions struct
|
||||
using ExtensionBool = bool Extensions::*;
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
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 */ \
|
||||
|
@ -46,64 +47,18 @@
|
|||
\
|
||||
/* GLES2+ Extensions */ \
|
||||
\
|
||||
/* GL_ANGLE_base_vertex_base_instance */ \
|
||||
void drawArraysInstancedBaseInstance(PrimitiveMode modePacked, GLint first, GLsizei count, \
|
||||
GLsizei instanceCount, GLuint baseInstance); \
|
||||
void drawElementsInstancedBaseVertexBaseInstance( \
|
||||
PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, \
|
||||
const GLvoid *indices, GLsizei instanceCounts, 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_depth_texture */ \
|
||||
/* GL_ANGLE_framebuffer_blit */ \
|
||||
/* GL_ANGLE_framebuffer_multisample */ \
|
||||
/* GL_ANGLE_instanced_arrays */ \
|
||||
/* 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); \
|
||||
void texStorageMemFlags2DMultisample( \
|
||||
TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width, \
|
||||
GLsizei height, GLboolean fixedSampleLocations, MemoryObjectID memoryPacked, \
|
||||
GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags); \
|
||||
void texStorageMemFlags3D(TextureType targetPacked, GLsizei levels, GLenum internalFormat, \
|
||||
GLsizei width, GLsizei height, GLsizei depth, \
|
||||
MemoryObjectID memoryPacked, GLuint64 offset, \
|
||||
GLbitfield createFlags, GLbitfield usageFlags); \
|
||||
void texStorageMemFlags3DMultisample(TextureType targetPacked, GLsizei samples, \
|
||||
GLenum internalFormat, GLsizei width, GLsizei height, \
|
||||
GLsizei depth, GLboolean fixedSampleLocations, \
|
||||
MemoryObjectID memoryPacked, GLuint64 offset, \
|
||||
GLbitfield createFlags, GLbitfield usageFlags); \
|
||||
/* GL_ANGLE_memory_object_fuchsia */ \
|
||||
void importMemoryZirconHandle(MemoryObjectID memoryPacked, GLuint64 size, \
|
||||
HandleType handleTypePacked, GLuint handle); \
|
||||
/* 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_provoking_vertex */ \
|
||||
void provokingVertex(ProvokingVertexConvention modePacked); \
|
||||
/* GL_ANGLE_semaphore_fuchsia */ \
|
||||
void importSemaphoreZirconHandle(SemaphoreID semaphorePacked, HandleType handleTypePacked, \
|
||||
GLuint handle); \
|
||||
/* GL_ANGLE_texture_multisample */ \
|
||||
/* 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, GLeglImageOES image, const GLint *attrib_list); \
|
||||
void eGLImageTargetTextureStorage(GLuint texture, GLeglImageOES image, \
|
||||
|
@ -116,11 +71,15 @@
|
|||
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 */ \
|
||||
|
@ -147,7 +106,10 @@
|
|||
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 */ \
|
||||
|
@ -179,6 +141,7 @@
|
|||
/* GL_EXT_memory_object_fd */ \
|
||||
void importMemoryFd(MemoryObjectID memoryPacked, GLuint64 size, HandleType handleTypePacked, \
|
||||
GLint fd); \
|
||||
/* GL_EXT_multisample_compatibility */ \
|
||||
/* GL_EXT_multisampled_render_to_texture */ \
|
||||
void framebufferTexture2DMultisample(GLenum target, GLenum attachment, \
|
||||
TextureTarget textargetPacked, TextureID texturePacked, \
|
||||
|
@ -213,6 +176,9 @@
|
|||
/* 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 */ \
|
||||
|
@ -224,19 +190,29 @@
|
|||
/* 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_NV_EGL_stream_consumer_external */ \
|
||||
/* GL_NV_depth_buffer_float2 */ \
|
||||
/* GL_NV_fence */ \
|
||||
void deleteFencesNV(GLsizei n, const FenceNVID *fencesPacked); \
|
||||
void finishFenceNV(FenceNVID fencePacked); \
|
||||
|
@ -248,37 +224,91 @@
|
|||
/* 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_stencil */ \
|
||||
/* GL_NV_robustness_video_memory_purge */ \
|
||||
/* GL_NV_shader_noperspective_interpolation */ \
|
||||
/* GL_OES_EGL_image */ \
|
||||
void eGLImageTargetRenderbufferStorage(GLenum target, GLeglImageOES image); \
|
||||
void eGLImageTargetTexture2D(TextureType targetPacked, GLeglImageOES image); \
|
||||
/* 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_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_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_WEBGL_video_texture */ \
|
||||
\
|
||||
/* ANGLE Extensions */ \
|
||||
\
|
||||
/* GL_ANGLE_base_vertex_base_instance */ \
|
||||
void drawArraysInstancedBaseInstance(PrimitiveMode modePacked, GLint first, GLsizei count, \
|
||||
GLsizei instanceCount, GLuint baseInstance); \
|
||||
void drawElementsInstancedBaseVertexBaseInstance( \
|
||||
PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, \
|
||||
const GLvoid *indices, GLsizei instanceCounts, 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_client_arrays */ \
|
||||
/* GL_ANGLE_compressed_texture_etc */ \
|
||||
/* GL_ANGLE_copy_texture_3d */ \
|
||||
void copyTexture3D(TextureID sourceIdPacked, GLint sourceLevel, \
|
||||
TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, \
|
||||
|
@ -289,13 +319,53 @@
|
|||
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 getRenderbufferImage(GLenum target, GLenum format, GLenum type, void *pixels); \
|
||||
/* GL_ANGLE_get_serialized_context_string */ \
|
||||
/* GL_ANGLE_get_tex_level_parameter */ \
|
||||
/* 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); \
|
||||
void texStorageMemFlags2DMultisample( \
|
||||
TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width, \
|
||||
GLsizei height, GLboolean fixedSampleLocations, MemoryObjectID memoryPacked, \
|
||||
GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags); \
|
||||
void texStorageMemFlags3D(TextureType targetPacked, GLsizei levels, GLenum internalFormat, \
|
||||
GLsizei width, GLsizei height, GLsizei depth, \
|
||||
MemoryObjectID memoryPacked, GLuint64 offset, \
|
||||
GLbitfield createFlags, GLbitfield usageFlags); \
|
||||
void texStorageMemFlags3DMultisample(TextureType targetPacked, GLsizei samples, \
|
||||
GLenum internalFormat, GLsizei width, GLsizei height, \
|
||||
GLsizei depth, GLboolean fixedSampleLocations, \
|
||||
MemoryObjectID memoryPacked, GLuint64 offset, \
|
||||
GLbitfield createFlags, GLbitfield usageFlags); \
|
||||
/* 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_relaxed_vertex_attribute_type */ \
|
||||
/* GL_ANGLE_request_extension */ \
|
||||
void requestExtension(const GLchar *name); \
|
||||
void disableExtension(const GLchar *name); \
|
||||
|
@ -440,14 +510,27 @@
|
|||
GLsizei *length, GLint64 *params); \
|
||||
void getQueryObjectui64vRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, \
|
||||
GLsizei *length, GLuint64 *params); \
|
||||
/* GL_ANGLE_robust_resource_initialization */ \
|
||||
/* GL_ANGLE_semaphore_fuchsia */ \
|
||||
void importSemaphoreZirconHandle(SemaphoreID semaphorePacked, HandleType handleTypePacked, \
|
||||
GLuint handle); \
|
||||
/* 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_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 */ \
|
||||
|
@ -464,6 +547,7 @@
|
|||
void coverageModulation(GLenum components); \
|
||||
/* GL_CHROMIUM_lose_context */ \
|
||||
void loseContext(GraphicsResetStatus currentPacked, GraphicsResetStatus otherPacked); \
|
||||
/* GL_CHROMIUM_path_rendering */
|
||||
/* GL_CHROMIUM_sync_query */ \
|
||||
/* GL_CHROMIUM_texture_filtering_hint */
|
||||
|
||||
#endif // ANGLE_CONTEXT_API_EXT_AUTOGEN_H_
|
||||
|
|
|
@ -90,6 +90,8 @@ angle::CallCapture CaptureCopySubTexture3DANGLE(const State &glState,
|
|||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
|
||||
// GL_ANGLE_depth_texture
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
angle::CallCapture CaptureBlitFramebufferANGLE(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -249,6 +251,8 @@ angle::CallCapture CaptureMultiDrawElementsInstancedANGLE(const State &glState,
|
|||
const GLsizei *instanceCounts,
|
||||
GLsizei drawcount);
|
||||
|
||||
// GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
// GL_ANGLE_program_binary
|
||||
|
||||
// GL_ANGLE_provoking_vertex
|
||||
|
@ -771,6 +775,10 @@ angle::CallCapture CaptureImportSemaphoreZirconHandleANGLE(const State &glState,
|
|||
HandleType handleTypePacked,
|
||||
GLuint handle);
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
// GL_ANGLE_texture_external_update
|
||||
angle::CallCapture CaptureTexImage2DExternalANGLE(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -805,6 +813,8 @@ angle::CallCapture CaptureSampleMaskiANGLE(const State &glState,
|
|||
GLuint maskNumber,
|
||||
GLbitfield mask);
|
||||
|
||||
// GL_ANGLE_texture_usage
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
angle::CallCapture CaptureGetTranslatedShaderSourceANGLE(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -813,6 +823,10 @@ angle::CallCapture CaptureGetTranslatedShaderSourceANGLE(const State &glState,
|
|||
GLsizei *length,
|
||||
GLchar *source);
|
||||
|
||||
// GL_APPLE_clip_distance
|
||||
|
||||
// GL_ARB_sync
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
angle::CallCapture CaptureBindUniformLocationCHROMIUM(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -907,6 +921,8 @@ angle::CallCapture CaptureGetProgramResourceLocationIndexEXT(const State &glStat
|
|||
const GLchar *name,
|
||||
GLint returnValue);
|
||||
|
||||
// GL_EXT_blend_minmax
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
angle::CallCapture CaptureBufferStorageEXT(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -921,6 +937,12 @@ angle::CallCapture CaptureClipControlEXT(const State &glState,
|
|||
GLenum origin,
|
||||
GLenum depth);
|
||||
|
||||
// GL_EXT_clip_cull_distance
|
||||
|
||||
// GL_EXT_color_buffer_float
|
||||
|
||||
// GL_EXT_color_buffer_half_float
|
||||
|
||||
// GL_EXT_copy_image
|
||||
angle::CallCapture CaptureCopyImageSubDataEXT(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -1126,6 +1148,8 @@ angle::CallCapture CaptureNamedBufferStorageExternalEXT(const State &glState,
|
|||
GLeglClientBufferEXT clientBuffer,
|
||||
GLbitfield flags);
|
||||
|
||||
// GL_EXT_float_blend
|
||||
|
||||
// GL_EXT_geometry_shader
|
||||
angle::CallCapture CaptureFramebufferTextureEXT(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -1134,6 +1158,8 @@ angle::CallCapture CaptureFramebufferTextureEXT(const State &glState,
|
|||
TextureID texturePacked,
|
||||
GLint level);
|
||||
|
||||
// GL_EXT_gpu_shader5
|
||||
|
||||
// GL_EXT_instanced_arrays
|
||||
angle::CallCapture CaptureDrawArraysInstancedEXT(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -1638,6 +1664,12 @@ angle::CallCapture CaptureFramebufferFetchBarrierEXT(const State &glState, bool
|
|||
|
||||
// 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
|
||||
angle::CallCapture CapturePatchParameteriEXT(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -1716,10 +1748,18 @@ angle::CallCapture CaptureTexBufferRangeEXT(const State &glState,
|
|||
|
||||
// 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
|
||||
angle::CallCapture CaptureTexStorage1DEXT(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -1743,6 +1783,10 @@ angle::CallCapture CaptureTexStorage3DEXT(const State &glState,
|
|||
GLsizei height,
|
||||
GLsizei depth);
|
||||
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
// GL_EXT_unpack_subimage
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -1818,11 +1862,15 @@ angle::CallCapture CapturePushDebugGroupKHR(const State &glState,
|
|||
GLsizei length,
|
||||
const GLchar *message);
|
||||
|
||||
// GL_KHR_no_error
|
||||
|
||||
// GL_KHR_parallel_shader_compile
|
||||
angle::CallCapture CaptureMaxShaderCompilerThreadsKHR(const State &glState,
|
||||
bool isCallValid,
|
||||
GLuint count);
|
||||
|
||||
// GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
// GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
// GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -1873,6 +1921,16 @@ angle::CallCapture CaptureBlitFramebufferNV(const State &glState,
|
|||
GLbitfield mask,
|
||||
GLenum filter);
|
||||
|
||||
// GL_NV_pixel_buffer_object
|
||||
|
||||
// GL_NV_read_depth
|
||||
|
||||
// GL_NV_read_stencil
|
||||
|
||||
// GL_NV_robustness_video_memory_purge
|
||||
|
||||
// GL_NV_shader_noperspective_interpolation
|
||||
|
||||
// GL_OES_EGL_image
|
||||
angle::CallCapture CaptureEGLImageTargetRenderbufferStorageOES(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -1883,6 +1941,10 @@ angle::CallCapture CaptureEGLImageTargetTexture2DOES(const State &glState,
|
|||
TextureType targetPacked,
|
||||
GLeglImageOES image);
|
||||
|
||||
// GL_OES_EGL_image_external
|
||||
|
||||
// GL_OES_EGL_image_external_essl3
|
||||
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
// GL_OES_copy_image
|
||||
|
@ -1904,8 +1966,12 @@ angle::CallCapture CaptureCopyImageSubDataOES(const State &glState,
|
|||
GLsizei srcHeight,
|
||||
GLsizei srcDepth);
|
||||
|
||||
// GL_OES_depth24
|
||||
|
||||
// GL_OES_depth32
|
||||
|
||||
// GL_OES_depth_texture
|
||||
|
||||
// GL_OES_draw_buffers_indexed
|
||||
angle::CallCapture CaptureBlendEquationSeparateiOES(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -2015,6 +2081,10 @@ angle::CallCapture CaptureDrawTexxvOES(const State &glState,
|
|||
bool isCallValid,
|
||||
const GLfixed *coords);
|
||||
|
||||
// GL_OES_element_index_uint
|
||||
|
||||
// GL_OES_fbo_render_mipmap
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
angle::CallCapture CaptureBindFramebufferOES(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -2143,6 +2213,8 @@ angle::CallCapture CaptureWeightPointerOES(const State &glState,
|
|||
GLsizei stride,
|
||||
const void *pointer);
|
||||
|
||||
// GL_OES_packed_depth_stencil
|
||||
|
||||
// GL_OES_point_size_array
|
||||
angle::CallCapture CapturePointSizePointerOES(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -2150,6 +2222,8 @@ angle::CallCapture CapturePointSizePointerOES(const State &glState,
|
|||
GLsizei stride,
|
||||
const void *pointer);
|
||||
|
||||
// GL_OES_point_sprite
|
||||
|
||||
// GL_OES_query_matrix
|
||||
angle::CallCapture CaptureQueryMatrixxOES(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -2157,13 +2231,25 @@ angle::CallCapture CaptureQueryMatrixxOES(const State &glState,
|
|||
GLint *exponent,
|
||||
GLbitfield returnValue);
|
||||
|
||||
// GL_OES_rgb8_rgba8
|
||||
|
||||
// GL_OES_sample_shading
|
||||
angle::CallCapture CaptureMinSampleShadingOES(const State &glState,
|
||||
bool isCallValid,
|
||||
GLfloat value);
|
||||
|
||||
// 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
|
||||
angle::CallCapture CaptureCompressedTexImage3DOES(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -2290,6 +2376,8 @@ angle::CallCapture CaptureTexBufferRangeOES(const State &glState,
|
|||
GLintptr offset,
|
||||
GLsizeiptr size);
|
||||
|
||||
// GL_OES_texture_compression_astc
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
angle::CallCapture CaptureGetTexGenfvOES(const State &glState,
|
||||
bool isCallValid,
|
||||
|
@ -2339,8 +2427,16 @@ angle::CallCapture CaptureTexGenxvOES(const State &glState,
|
|||
|
||||
// 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
|
||||
|
@ -2371,6 +2467,10 @@ angle::CallCapture CaptureIsVertexArrayOES(const State &glState,
|
|||
VertexArrayID arrayPacked,
|
||||
GLboolean returnValue);
|
||||
|
||||
// GL_OES_vertex_half_float
|
||||
|
||||
// GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
// GL_OVR_multiview
|
||||
angle::CallCapture CaptureFramebufferTextureMultiviewOVR(const State &glState,
|
||||
bool isCallValid,
|
||||
|
|
|
@ -152,6 +152,10 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
{
|
||||
case 0x8006:
|
||||
return "GL_FUNC_ADD";
|
||||
case 0x8007:
|
||||
return "GL_MIN_EXT";
|
||||
case 0x8008:
|
||||
return "GL_MAX_EXT";
|
||||
case 0x800A:
|
||||
return "GL_FUNC_SUBTRACT";
|
||||
case 0x800B:
|
||||
|
@ -535,6 +539,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_CONTEXT_FLAG_DEBUG_BIT";
|
||||
case 0x4:
|
||||
return "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT";
|
||||
case 0x8:
|
||||
return "GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR";
|
||||
case 0x10:
|
||||
return "GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT";
|
||||
default:
|
||||
|
@ -707,6 +713,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_CONTEXT_LOST";
|
||||
case 0x800:
|
||||
return "GL_CREATE_PROTECTED_BIT_ANGLE";
|
||||
case 0xD32:
|
||||
return "GL_MAX_CLIP_DISTANCES_APPLE";
|
||||
case 0x1000:
|
||||
return "GL_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_ANGLE";
|
||||
case 0x1004:
|
||||
|
@ -717,6 +725,22 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_CREATE_CORNER_SAMPLED_BIT_ANGLE";
|
||||
case 0x2500:
|
||||
return "GL_TEXTURE_GEN_MODE_OES";
|
||||
case 0x3000:
|
||||
return "GL_CLIP_DISTANCE0_APPLE";
|
||||
case 0x3001:
|
||||
return "GL_CLIP_DISTANCE1_APPLE";
|
||||
case 0x3002:
|
||||
return "GL_CLIP_DISTANCE2_APPLE";
|
||||
case 0x3003:
|
||||
return "GL_CLIP_DISTANCE3_APPLE";
|
||||
case 0x3004:
|
||||
return "GL_CLIP_DISTANCE4_APPLE";
|
||||
case 0x3005:
|
||||
return "GL_CLIP_DISTANCE5_APPLE";
|
||||
case 0x3006:
|
||||
return "GL_CLIP_DISTANCE6_APPLE";
|
||||
case 0x3007:
|
||||
return "GL_CLIP_DISTANCE7_APPLE";
|
||||
case 0x4000:
|
||||
return "GL_CREATE_SUBSAMPLED_BIT_ANGLE";
|
||||
case 0x8005:
|
||||
|
@ -767,8 +791,12 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_DEPTH_COMPONENT24";
|
||||
case 0x8210:
|
||||
return "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT";
|
||||
case 0x8211:
|
||||
return "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT";
|
||||
case 0x8218:
|
||||
return "GL_FRAMEBUFFER_DEFAULT";
|
||||
case 0x8219:
|
||||
return "GL_FRAMEBUFFER_UNDEFINED_OES";
|
||||
case 0x821A:
|
||||
return "GL_DEPTH_STENCIL_ATTACHMENT";
|
||||
case 0x821B:
|
||||
|
@ -785,6 +813,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_BUFFER_STORAGE_FLAGS_EXT";
|
||||
case 0x8221:
|
||||
return "GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED";
|
||||
case 0x8227:
|
||||
return "GL_RG_EXT";
|
||||
case 0x8228:
|
||||
return "GL_RG_INTEGER";
|
||||
case 0x8242:
|
||||
|
@ -895,6 +925,10 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_DISPLAY_LIST";
|
||||
case 0x82E8:
|
||||
return "GL_MAX_LABEL_LENGTH";
|
||||
case 0x82F9:
|
||||
return "GL_MAX_CULL_DISTANCES_EXT";
|
||||
case 0x82FA:
|
||||
return "GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT";
|
||||
case 0x8363:
|
||||
return "GL_UNSIGNED_SHORT_5_6_5";
|
||||
case 0x8370:
|
||||
|
@ -1047,8 +1081,16 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_MATRIX_INDEX_ARRAY_POINTER_OES";
|
||||
case 0x884A:
|
||||
return "GL_TEXTURE_DEPTH_SIZE";
|
||||
case 0x884C:
|
||||
return "GL_TEXTURE_COMPARE_MODE_EXT";
|
||||
case 0x884D:
|
||||
return "GL_TEXTURE_COMPARE_FUNC_EXT";
|
||||
case 0x884E:
|
||||
return "GL_COMPARE_REF_TO_TEXTURE";
|
||||
case 0x8861:
|
||||
return "GL_POINT_SPRITE_OES";
|
||||
case 0x8862:
|
||||
return "GL_COORD_REPLACE_OES";
|
||||
case 0x8864:
|
||||
return "GL_QUERY_COUNTER_BITS_EXT";
|
||||
case 0x8865:
|
||||
|
@ -1083,6 +1125,10 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_BUFFER_MAP_POINTER";
|
||||
case 0x88BF:
|
||||
return "GL_TIME_ELAPSED_EXT";
|
||||
case 0x88EB:
|
||||
return "GL_PIXEL_PACK_BUFFER_NV";
|
||||
case 0x88EC:
|
||||
return "GL_PIXEL_UNPACK_BUFFER_NV";
|
||||
case 0x88ED:
|
||||
return "GL_PIXEL_PACK_BUFFER_BINDING";
|
||||
case 0x88EF:
|
||||
|
@ -1145,6 +1191,12 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS";
|
||||
case 0x8A34:
|
||||
return "GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT";
|
||||
case 0x8A48:
|
||||
return "GL_TEXTURE_SRGB_DECODE_EXT";
|
||||
case 0x8A49:
|
||||
return "GL_DECODE_EXT";
|
||||
case 0x8A4A:
|
||||
return "GL_SKIP_DECODE_EXT";
|
||||
case 0x8A4F:
|
||||
return "GL_PROGRAM_PIPELINE_OBJECT_EXT";
|
||||
case 0x8A52:
|
||||
|
@ -1305,6 +1357,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_RGB565";
|
||||
case 0x8D65:
|
||||
return "GL_TEXTURE_EXTERNAL_OES";
|
||||
case 0x8D66:
|
||||
return "GL_SAMPLER_EXTERNAL_OES";
|
||||
case 0x8D67:
|
||||
return "GL_TEXTURE_BINDING_EXTERNAL_OES";
|
||||
case 0x8D68:
|
||||
|
@ -1371,6 +1425,10 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_MAX_GEOMETRY_OUTPUT_VERTICES";
|
||||
case 0x8DE1:
|
||||
return "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS";
|
||||
case 0x8DF6:
|
||||
return "GL_UNSIGNED_INT_10_10_10_2_OES";
|
||||
case 0x8DF7:
|
||||
return "GL_INT_10_10_10_2_OES";
|
||||
case 0x8DF8:
|
||||
return "GL_SHADER_BINARY_FORMATS";
|
||||
case 0x8DF9:
|
||||
|
@ -1493,6 +1551,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_SR8_EXT";
|
||||
case 0x8FBE:
|
||||
return "GL_SRG8_EXT";
|
||||
case 0x8FBF:
|
||||
return "GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT";
|
||||
case 0x900A:
|
||||
return "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY";
|
||||
case 0x900C:
|
||||
|
@ -1703,6 +1763,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_HSL_COLOR";
|
||||
case 0x92B0:
|
||||
return "GL_HSL_LUMINOSITY";
|
||||
case 0x92BB:
|
||||
return "GL_PURGED_CONTEXT_RESET_NV";
|
||||
case 0x92BE:
|
||||
return "GL_PRIMITIVE_BOUNDING_BOX";
|
||||
case 0x92C2:
|
||||
|
@ -1815,6 +1877,12 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE";
|
||||
case 0x93A1:
|
||||
return "GL_BGRA8_EXT";
|
||||
case 0x93A2:
|
||||
return "GL_TEXTURE_USAGE_ANGLE";
|
||||
case 0x93A3:
|
||||
return "GL_FRAMEBUFFER_ATTACHMENT_ANGLE";
|
||||
case 0x93A4:
|
||||
return "GL_PACK_REVERSE_ROW_ORDER_ANGLE";
|
||||
case 0x93A6:
|
||||
return "GL_PROGRAM_BINARY_ANGLE";
|
||||
case 0x93AE:
|
||||
|
@ -2365,6 +2433,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_TEXTURE_2D";
|
||||
case 0x2A00:
|
||||
return "GL_POLYGON_OFFSET_UNITS";
|
||||
case 0x8009:
|
||||
return "GL_BLEND_EQUATION_EXT";
|
||||
case 0x8037:
|
||||
return "GL_POLYGON_OFFSET_FILL";
|
||||
case 0x8038:
|
||||
|
@ -2520,6 +2590,8 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_RGB8";
|
||||
case 0x8052:
|
||||
return "GL_RGB10_EXT";
|
||||
case 0x8054:
|
||||
return "GL_RGB16_EXT";
|
||||
case 0x8056:
|
||||
return "GL_RGBA4";
|
||||
case 0x8057:
|
||||
|
@ -2528,18 +2600,26 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_RGBA8";
|
||||
case 0x8059:
|
||||
return "GL_RGB10_A2";
|
||||
case 0x805B:
|
||||
return "GL_RGBA16_EXT";
|
||||
case 0x80E1:
|
||||
return "GL_BGRA_EXT";
|
||||
case 0x81A5:
|
||||
return "GL_DEPTH_COMPONENT16";
|
||||
case 0x81A6:
|
||||
return "GL_DEPTH_COMPONENT24_OES";
|
||||
case 0x81A7:
|
||||
return "GL_DEPTH_COMPONENT32_OES";
|
||||
case 0x8227:
|
||||
return "GL_RG";
|
||||
case 0x8229:
|
||||
return "GL_R8";
|
||||
case 0x822A:
|
||||
return "GL_R16_EXT";
|
||||
case 0x822B:
|
||||
return "GL_RG8";
|
||||
case 0x822C:
|
||||
return "GL_RG16_EXT";
|
||||
case 0x822D:
|
||||
return "GL_R16F";
|
||||
case 0x822E:
|
||||
|
@ -2577,9 +2657,9 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
case 0x83F1:
|
||||
return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT";
|
||||
case 0x83F2:
|
||||
return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT";
|
||||
return "GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE";
|
||||
case 0x83F3:
|
||||
return "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT";
|
||||
return "GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE";
|
||||
case 0x84F9:
|
||||
return "GL_DEPTH_STENCIL";
|
||||
case 0x8814:
|
||||
|
@ -2680,6 +2760,14 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_RGB8_SNORM";
|
||||
case 0x8F97:
|
||||
return "GL_RGBA8_SNORM";
|
||||
case 0x8F98:
|
||||
return "GL_R16_SNORM_EXT";
|
||||
case 0x8F99:
|
||||
return "GL_RG16_SNORM_EXT";
|
||||
case 0x8F9A:
|
||||
return "GL_RGB16_SNORM_EXT";
|
||||
case 0x8F9B:
|
||||
return "GL_RGBA16_SNORM_EXT";
|
||||
case 0x906F:
|
||||
return "GL_RGB10_A2UI";
|
||||
case 0x9137:
|
||||
|
@ -2734,6 +2822,26 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_COMPRESSED_RGBA_ASTC_12x10_KHR";
|
||||
case 0x93BD:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_12x12_KHR";
|
||||
case 0x93C0:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_3x3x3_OES";
|
||||
case 0x93C1:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_4x3x3_OES";
|
||||
case 0x93C2:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_4x4x3_OES";
|
||||
case 0x93C3:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_4x4x4_OES";
|
||||
case 0x93C4:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_5x4x4_OES";
|
||||
case 0x93C5:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_5x5x4_OES";
|
||||
case 0x93C6:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_5x5x5_OES";
|
||||
case 0x93C7:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_6x5x5_OES";
|
||||
case 0x93C8:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_6x6x5_OES";
|
||||
case 0x93C9:
|
||||
return "GL_COMPRESSED_RGBA_ASTC_6x6x6_OES";
|
||||
case 0x93D0:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR";
|
||||
case 0x93D1:
|
||||
|
@ -2762,6 +2870,26 @@ const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
|
|||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
|
||||
case 0x93DD:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
|
||||
case 0x93E0:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES";
|
||||
case 0x93E1:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES";
|
||||
case 0x93E2:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES";
|
||||
case 0x93E3:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES";
|
||||
case 0x93E4:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES";
|
||||
case 0x93E5:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES";
|
||||
case 0x93E6:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES";
|
||||
case 0x93E7:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES";
|
||||
case 0x93E8:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES";
|
||||
case 0x93E9:
|
||||
return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES";
|
||||
case 0x93F0:
|
||||
return "GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG";
|
||||
case 0x93F1:
|
||||
|
|
|
@ -0,0 +1,326 @@
|
|||
#!/usr/bin/python3
|
||||
#
|
||||
# Copyright 2021 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.
|
||||
#
|
||||
# gen_extensions.py:
|
||||
# Generates files from supported extensions data.
|
||||
# NOTE: don't run this script directly. Run scripts/run_code_generation.py.
|
||||
|
||||
import re
|
||||
import sys
|
||||
import os
|
||||
|
||||
d = os.path.dirname
|
||||
THIS_DIR = d(os.path.abspath(__file__))
|
||||
ANGLE_SRC_DIR = d(d(THIS_DIR))
|
||||
SCRIPTS_DIR = os.path.join(ANGLE_SRC_DIR, 'scripts')
|
||||
sys.path.insert(0, SCRIPTS_DIR)
|
||||
|
||||
import registry_xml
|
||||
|
||||
_GLES_EXTENSIONS_TEMPLATE = """\
|
||||
// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by {script_name} using data from {data_source_name}
|
||||
//
|
||||
// Copyright 2021 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.
|
||||
//
|
||||
// {filename}: GLES extension information.
|
||||
|
||||
#ifndef LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
|
||||
#define LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
|
||||
|
||||
namespace gl
|
||||
{{
|
||||
class TextureCapsMap;
|
||||
|
||||
struct Extensions
|
||||
{{
|
||||
Extensions();
|
||||
Extensions(const Extensions &other);
|
||||
|
||||
Extensions &operator=(const Extensions &other);
|
||||
|
||||
// Generate a vector of supported extension strings
|
||||
std::vector<std::string> getStrings() const;
|
||||
|
||||
// Set all texture related extension support based on the supported textures.
|
||||
// Determines support for:
|
||||
// GL_OES_packed_depth_stencil
|
||||
// GL_OES_rgb8_rgba8
|
||||
// GL_EXT_texture_format_BGRA8888
|
||||
// GL_EXT_color_buffer_half_float,
|
||||
// GL_OES_texture_half_float, GL_OES_texture_half_float_linear
|
||||
// GL_OES_texture_float, GL_OES_texture_float_linear
|
||||
// GL_EXT_texture_rg
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
// GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt3,
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
// GL_KHR_texture_compression_astc_ldr, GL_OES_texture_compression_astc.
|
||||
// NOTE: GL_KHR_texture_compression_astc_hdr must be enabled separately. Support for the
|
||||
// HDR profile cannot be determined from the format enums alone.
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
// GL_EXT_sRGB
|
||||
// GL_ANGLE_depth_texture, GL_OES_depth32
|
||||
// GL_EXT_color_buffer_float
|
||||
// GL_EXT_texture_norm16
|
||||
// GL_EXT_texture_compression_bptc
|
||||
// GL_EXT_texture_compression_rgtc
|
||||
void setTextureExtensionSupport(const TextureCapsMap &textureCaps);
|
||||
|
||||
// Helper functions
|
||||
{helper_functions}
|
||||
|
||||
// GLES 2.0+ extensions
|
||||
// --------------------
|
||||
|
||||
{gles_extensions}
|
||||
// ANGLE unofficial extensions
|
||||
// ---------------------------
|
||||
|
||||
{angle_extensions}
|
||||
// GLES 1.0 and 1.1 extensions
|
||||
// ---------------------------
|
||||
|
||||
{gles1_extensions}}};
|
||||
}} // namespace gl
|
||||
|
||||
#endif // LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
|
||||
"""
|
||||
|
||||
_EXT_MEMBER_TEMPLATE = """\
|
||||
// {full_name}
|
||||
bool {name_camel_case}{vendor} = false;
|
||||
"""
|
||||
|
||||
_HELPER_TEMPLATE = """ bool {ext_name}Any() const {{ return ({expression}); }}"""
|
||||
|
||||
_GLES_EXT_STRINGS_TEMPLATE = """\
|
||||
// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by {script_name} using data from {data_source_name}
|
||||
//
|
||||
// Copyright 2021 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.
|
||||
//
|
||||
// {filename}: GLES extension strings information.
|
||||
|
||||
#include "anglebase/no_destructor.h"
|
||||
#include "libANGLE/Caps.h"
|
||||
|
||||
namespace gl
|
||||
{{
|
||||
const ExtensionInfoMap &GetExtensionInfoMap()
|
||||
{{
|
||||
auto buildExtensionInfoMap = []() {{
|
||||
auto enableableExtension = [](ExtensionBool member) {{
|
||||
ExtensionInfo info;
|
||||
info.Requestable = true;
|
||||
info.ExtensionsMember = member;
|
||||
return info;
|
||||
}};
|
||||
|
||||
auto enableableDisablableExtension = [&](ExtensionBool member) {{
|
||||
ExtensionInfo info = enableableExtension(member);
|
||||
info.Disablable = true;
|
||||
return info;
|
||||
}};
|
||||
|
||||
auto esOnlyExtension = [](ExtensionBool member) {{
|
||||
ExtensionInfo info;
|
||||
info.ExtensionsMember = member;
|
||||
return info;
|
||||
}};
|
||||
|
||||
// clang-format off
|
||||
ExtensionInfoMap map;
|
||||
|
||||
// GLES 2.0 extension strings
|
||||
// --------------------------
|
||||
{gles_strings}
|
||||
|
||||
// ANGLE unofficial extension strings
|
||||
// ----------------------------------
|
||||
{angle_strings}
|
||||
|
||||
// GLES 1.0 and 1.1 extension strings
|
||||
// ----------------------------------
|
||||
{gles1_strings}
|
||||
// clang-format on
|
||||
|
||||
#if defined(ANGLE_ENABLE_ASSERTS)
|
||||
// Verify all extension strings start with GL_
|
||||
for (const auto &extension : map)
|
||||
{{
|
||||
ASSERT(extension.first.rfind("GL_", 0) == 0);
|
||||
}}
|
||||
#endif
|
||||
|
||||
return map;
|
||||
}};
|
||||
|
||||
static const angle::base::NoDestructor<ExtensionInfoMap> extensionInfo(buildExtensionInfoMap());
|
||||
return *extensionInfo;
|
||||
}}
|
||||
}} // namespace gl
|
||||
"""
|
||||
|
||||
_EXT_STRING_TEMPLATE = """\
|
||||
map["{full_name}"] = {mode}Extension(&Extensions::{name_camel_case}{vendor});"""
|
||||
|
||||
ESONLY = 'esOnly'
|
||||
REQUESTABLE = 'enableable'
|
||||
TOGGLEABLE = 'enableableDisablable'
|
||||
|
||||
_MARKDOWN_TEMPLATE = """\
|
||||
# ANGLE Supported Extensions
|
||||
|
||||
This is a list of all extensions currently supported by ANGLE's front-end. Back-end support is not
|
||||
yet documented. To produce a list of all supported extensions in the Vulkan back-end, run
|
||||
`angle_end2end_tests` with `--gtest_filter EGLPrintEGLinfoTest.PrintGLInfo/ES*_Vulkan`.
|
||||
|
||||
This list is automatically generated by {script_name} using data from {data_source_name}.
|
||||
|
||||
| Extension Name |
|
||||
| -------------- |
|
||||
{md_exts}
|
||||
"""
|
||||
|
||||
|
||||
def get_camel_case(name_with_underscores):
|
||||
""" To follow ANGLE naming for member variables, we convert the canonical extension:
|
||||
0. Delete the API and vendor prefix.
|
||||
1. Capitalize letters after underscores.
|
||||
2. Delete underscores.
|
||||
3. Add back the vendor prefix to the end. """
|
||||
words = name_with_underscores.split('_')
|
||||
words = [words[0]] + [(word[0].upper() + word[1:]) for word in words[1:]]
|
||||
return ''.join(words)
|
||||
|
||||
|
||||
def break_down_ext(ext, expr, mode):
|
||||
""" This splits an extension name like GL_EXT_buffer_storage into string components. """
|
||||
m = expr.match(ext)
|
||||
return {
|
||||
'full_name': ext,
|
||||
'api_prefix': m.group(1),
|
||||
'vendor': m.group(2),
|
||||
'name_with_underscores': m.group(3),
|
||||
'name_camel_case': get_camel_case(m.group(3)),
|
||||
'mode': mode,
|
||||
}
|
||||
|
||||
|
||||
def break_down_exts(exts, expr, mode):
|
||||
return [break_down_ext(ext, expr, mode) for ext in exts]
|
||||
|
||||
|
||||
def format_exts(ext_infos):
|
||||
return '\n'.join([_EXT_MEMBER_TEMPLATE.format(**ext_info) for ext_info in ext_infos])
|
||||
|
||||
|
||||
def format_helper_function(ext_name, vendors):
|
||||
return _HELPER_TEMPLATE.format(
|
||||
ext_name=ext_name,
|
||||
expression=' || '.join(['%s%s' % (ext_name, vendor) for vendor in vendors]),
|
||||
)
|
||||
|
||||
|
||||
def format_ext_strings(ext_infos):
|
||||
return '\n'.join([_EXT_STRING_TEMPLATE.format(**ext_info) for ext_info in ext_infos])
|
||||
|
||||
|
||||
def write_file(fname, template, format_args):
|
||||
with open(fname, 'w') as f:
|
||||
formatted = template.format(**format_args)
|
||||
f.write(formatted)
|
||||
f.close()
|
||||
|
||||
|
||||
def sort_by_ext_name(ext_infos):
|
||||
return sorted(ext_infos, key=lambda e: e['name_camel_case'].lower())
|
||||
|
||||
|
||||
def main():
|
||||
# auto_script parameters.
|
||||
data_source_name = 'registry_xml.py and gl.xml'
|
||||
gles_h_output_name = 'gles_extensions_autogen.h'
|
||||
gles_cpp_output_name = 'gles_extensions_autogen.cpp'
|
||||
md_output_name = '../../doc/SupportedExtensions.md'
|
||||
if len(sys.argv) > 1:
|
||||
inputs = ['../../scripts/%s' % xml_input for xml_input in registry_xml.xml_inputs]
|
||||
outputs = [gles_h_output_name, gles_cpp_output_name, md_output_name]
|
||||
if sys.argv[1] == 'inputs':
|
||||
print(','.join(inputs))
|
||||
elif sys.argv[1] == 'outputs':
|
||||
print(','.join(outputs))
|
||||
else:
|
||||
print('Invalid script parameters.')
|
||||
return 1
|
||||
return 0
|
||||
|
||||
expr = re.compile(r'^([A-Z]+)_([A-Z]+)_(\w+)$')
|
||||
|
||||
angle_ext_infos = (
|
||||
break_down_exts(registry_xml.angle_requestable_extensions, expr, REQUESTABLE) +
|
||||
break_down_exts(registry_xml.angle_es_only_extensions, expr, ESONLY) +
|
||||
break_down_exts(registry_xml.angle_toggleable_extensions, expr, TOGGLEABLE))
|
||||
|
||||
angle_ext_infos = sort_by_ext_name(angle_ext_infos)
|
||||
|
||||
gles_ext_infos = (
|
||||
break_down_exts(registry_xml.gles_requestable_extensions, expr, REQUESTABLE) +
|
||||
break_down_exts(registry_xml.gles_es_only_extensions, expr, ESONLY))
|
||||
|
||||
gles_ext_infos = sort_by_ext_name(gles_ext_infos)
|
||||
|
||||
gles1_ext_infos = break_down_exts(registry_xml.gles1_extensions, expr, REQUESTABLE)
|
||||
|
||||
gles1_ext_infos = sort_by_ext_name(gles1_ext_infos)
|
||||
|
||||
ext_infos = angle_ext_infos + gles_ext_infos + gles1_ext_infos
|
||||
|
||||
ext_name_to_vendors = {}
|
||||
for info in ext_infos:
|
||||
ext_name = info['name_camel_case']
|
||||
if ext_name in ext_name_to_vendors:
|
||||
ext_name_to_vendors[ext_name] += [info['vendor']]
|
||||
else:
|
||||
ext_name_to_vendors[ext_name] = [info['vendor']]
|
||||
|
||||
helper_function_data = []
|
||||
for (ext_name, vendors) in sorted(ext_name_to_vendors.items()):
|
||||
if len(vendors) > 1:
|
||||
helper_function_data += [format_helper_function(ext_name, vendors)]
|
||||
|
||||
helper_functions = '\n'.join(helper_function_data)
|
||||
|
||||
sorted_names = sorted([ext_info['full_name'] for ext_info in ext_infos])
|
||||
md_exts = '\n'.join(['| `%s` |' % full_name for full_name in sorted_names])
|
||||
|
||||
format_args = {
|
||||
'script_name': os.path.basename(__file__),
|
||||
'data_source_name': os.path.basename(data_source_name),
|
||||
'filename': gles_h_output_name,
|
||||
'gles_extensions': format_exts(gles_ext_infos),
|
||||
'angle_extensions': format_exts(angle_ext_infos),
|
||||
'gles1_extensions': format_exts(gles1_ext_infos),
|
||||
'helper_functions': helper_functions,
|
||||
'angle_strings': format_ext_strings(angle_ext_infos),
|
||||
'gles_strings': format_ext_strings(gles_ext_infos),
|
||||
'gles1_strings': format_ext_strings(gles1_ext_infos),
|
||||
'md_exts': md_exts,
|
||||
}
|
||||
|
||||
write_file(gles_h_output_name, _GLES_EXTENSIONS_TEMPLATE, format_args)
|
||||
write_file(gles_cpp_output_name, _GLES_EXT_STRINGS_TEMPLATE, format_args)
|
||||
write_file(md_output_name, _MARKDOWN_TEMPLATE, format_args)
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
|
@ -0,0 +1,260 @@
|
|||
// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by gen_extensions.py using data from registry_xml.py and gl.xml
|
||||
//
|
||||
// Copyright 2021 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.
|
||||
//
|
||||
// gles_extensions_autogen.h: GLES extension strings information.
|
||||
|
||||
#include "anglebase/no_destructor.h"
|
||||
#include "libANGLE/Caps.h"
|
||||
|
||||
namespace gl
|
||||
{
|
||||
const ExtensionInfoMap &GetExtensionInfoMap()
|
||||
{
|
||||
auto buildExtensionInfoMap = []() {
|
||||
auto enableableExtension = [](ExtensionBool member) {
|
||||
ExtensionInfo info;
|
||||
info.Requestable = true;
|
||||
info.ExtensionsMember = member;
|
||||
return info;
|
||||
};
|
||||
|
||||
auto enableableDisablableExtension = [&](ExtensionBool member) {
|
||||
ExtensionInfo info = enableableExtension(member);
|
||||
info.Disablable = true;
|
||||
return info;
|
||||
};
|
||||
|
||||
auto esOnlyExtension = [](ExtensionBool member) {
|
||||
ExtensionInfo info;
|
||||
info.ExtensionsMember = member;
|
||||
return info;
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
ExtensionInfoMap map;
|
||||
|
||||
// GLES 2.0 extension strings
|
||||
// --------------------------
|
||||
map["GL_KHR_blend_equation_advanced"] = esOnlyExtension(&Extensions::blendEquationAdvancedKHR);
|
||||
map["GL_EXT_blend_func_extended"] = enableableExtension(&Extensions::blendFuncExtendedEXT);
|
||||
map["GL_EXT_blend_minmax"] = enableableExtension(&Extensions::blendMinmaxEXT);
|
||||
map["GL_EXT_buffer_storage"] = enableableExtension(&Extensions::bufferStorageEXT);
|
||||
map["GL_EXT_clip_control"] = enableableExtension(&Extensions::clipControlEXT);
|
||||
map["GL_EXT_clip_cull_distance"] = enableableExtension(&Extensions::clipCullDistanceEXT);
|
||||
map["GL_APPLE_clip_distance"] = enableableExtension(&Extensions::clipDistanceAPPLE);
|
||||
map["GL_EXT_color_buffer_float"] = enableableExtension(&Extensions::colorBufferFloatEXT);
|
||||
map["GL_EXT_color_buffer_half_float"] = enableableExtension(&Extensions::colorBufferHalfFloatEXT);
|
||||
map["GL_OES_compressed_EAC_R11_signed_texture"] = enableableExtension(&Extensions::compressedEACR11SignedTextureOES);
|
||||
map["GL_OES_compressed_EAC_R11_unsigned_texture"] = enableableExtension(&Extensions::compressedEACR11UnsignedTextureOES);
|
||||
map["GL_OES_compressed_EAC_RG11_signed_texture"] = enableableExtension(&Extensions::compressedEACRG11SignedTextureOES);
|
||||
map["GL_OES_compressed_EAC_RG11_unsigned_texture"] = enableableExtension(&Extensions::compressedEACRG11UnsignedTextureOES);
|
||||
map["GL_EXT_compressed_ETC1_RGB8_sub_texture"] = enableableExtension(&Extensions::compressedETC1RGB8SubTextureEXT);
|
||||
map["GL_OES_compressed_ETC1_RGB8_texture"] = enableableExtension(&Extensions::compressedETC1RGB8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture"] = enableableExtension(&Extensions::compressedETC2PunchthroughARGBA8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture"] = enableableExtension(&Extensions::compressedETC2PunchthroughASRGB8AlphaTextureOES);
|
||||
map["GL_OES_compressed_ETC2_RGB8_texture"] = enableableExtension(&Extensions::compressedETC2RGB8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_RGBA8_texture"] = enableableExtension(&Extensions::compressedETC2RGBA8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_sRGB8_alpha8_texture"] = enableableExtension(&Extensions::compressedETC2SRGB8Alpha8TextureOES);
|
||||
map["GL_OES_compressed_ETC2_sRGB8_texture"] = enableableExtension(&Extensions::compressedETC2SRGB8TextureOES);
|
||||
map["GL_EXT_copy_image"] = enableableExtension(&Extensions::copyImageEXT);
|
||||
map["GL_OES_copy_image"] = enableableExtension(&Extensions::copyImageOES);
|
||||
map["GL_KHR_debug"] = esOnlyExtension(&Extensions::debugKHR);
|
||||
map["GL_EXT_debug_label"] = esOnlyExtension(&Extensions::debugLabelEXT);
|
||||
map["GL_EXT_debug_marker"] = esOnlyExtension(&Extensions::debugMarkerEXT);
|
||||
map["GL_OES_depth24"] = esOnlyExtension(&Extensions::depth24OES);
|
||||
map["GL_OES_depth32"] = esOnlyExtension(&Extensions::depth32OES);
|
||||
map["GL_NV_depth_buffer_float2"] = enableableExtension(&Extensions::depthBufferFloat2NV);
|
||||
map["GL_ANGLE_depth_texture"] = esOnlyExtension(&Extensions::depthTextureANGLE);
|
||||
map["GL_OES_depth_texture"] = esOnlyExtension(&Extensions::depthTextureOES);
|
||||
map["GL_OES_depth_texture_cube_map"] = enableableExtension(&Extensions::depthTextureCubeMapOES);
|
||||
map["GL_EXT_discard_framebuffer"] = esOnlyExtension(&Extensions::discardFramebufferEXT);
|
||||
map["GL_EXT_disjoint_timer_query"] = enableableExtension(&Extensions::disjointTimerQueryEXT);
|
||||
map["GL_EXT_draw_buffers"] = enableableExtension(&Extensions::drawBuffersEXT);
|
||||
map["GL_EXT_draw_buffers_indexed"] = enableableExtension(&Extensions::drawBuffersIndexedEXT);
|
||||
map["GL_OES_draw_buffers_indexed"] = enableableExtension(&Extensions::drawBuffersIndexedOES);
|
||||
map["GL_EXT_draw_elements_base_vertex"] = enableableExtension(&Extensions::drawElementsBaseVertexEXT);
|
||||
map["GL_OES_draw_elements_base_vertex"] = enableableExtension(&Extensions::drawElementsBaseVertexOES);
|
||||
map["GL_OES_EGL_image"] = enableableExtension(&Extensions::EGLImageOES);
|
||||
map["GL_EXT_EGL_image_array"] = enableableExtension(&Extensions::EGLImageArrayEXT);
|
||||
map["GL_OES_EGL_image_external"] = enableableExtension(&Extensions::EGLImageExternalOES);
|
||||
map["GL_OES_EGL_image_external_essl3"] = enableableExtension(&Extensions::EGLImageExternalEssl3OES);
|
||||
map["GL_EXT_EGL_image_external_wrap_modes"] = enableableExtension(&Extensions::EGLImageExternalWrapModesEXT);
|
||||
map["GL_EXT_EGL_image_storage"] = enableableExtension(&Extensions::EGLImageStorageEXT);
|
||||
map["GL_NV_EGL_stream_consumer_external"] = enableableExtension(&Extensions::EGLStreamConsumerExternalNV);
|
||||
map["GL_OES_EGL_sync"] = esOnlyExtension(&Extensions::EGLSyncOES);
|
||||
map["GL_OES_element_index_uint"] = enableableExtension(&Extensions::elementIndexUintOES);
|
||||
map["GL_EXT_external_buffer"] = enableableExtension(&Extensions::externalBufferEXT);
|
||||
map["GL_OES_fbo_render_mipmap"] = enableableExtension(&Extensions::fboRenderMipmapOES);
|
||||
map["GL_NV_fence"] = esOnlyExtension(&Extensions::fenceNV);
|
||||
map["GL_EXT_float_blend"] = enableableExtension(&Extensions::floatBlendEXT);
|
||||
map["GL_EXT_frag_depth"] = enableableExtension(&Extensions::fragDepthEXT);
|
||||
map["GL_ANGLE_framebuffer_blit"] = enableableExtension(&Extensions::framebufferBlitANGLE);
|
||||
map["GL_NV_framebuffer_blit"] = enableableExtension(&Extensions::framebufferBlitNV);
|
||||
map["GL_EXT_geometry_shader"] = enableableExtension(&Extensions::geometryShaderEXT);
|
||||
map["GL_OES_geometry_shader"] = enableableExtension(&Extensions::geometryShaderOES);
|
||||
map["GL_OES_get_program_binary"] = enableableExtension(&Extensions::getProgramBinaryOES);
|
||||
map["GL_EXT_gpu_shader5"] = enableableExtension(&Extensions::gpuShader5EXT);
|
||||
map["GL_ANGLE_instanced_arrays"] = enableableExtension(&Extensions::instancedArraysANGLE);
|
||||
map["GL_EXT_instanced_arrays"] = enableableExtension(&Extensions::instancedArraysEXT);
|
||||
map["GL_OES_mapbuffer"] = enableableExtension(&Extensions::mapbufferOES);
|
||||
map["GL_EXT_map_buffer_range"] = enableableExtension(&Extensions::mapBufferRangeEXT);
|
||||
map["GL_EXT_memory_object"] = enableableExtension(&Extensions::memoryObjectEXT);
|
||||
map["GL_EXT_memory_object_fd"] = enableableExtension(&Extensions::memoryObjectFdEXT);
|
||||
map["GL_EXT_multisample_compatibility"] = esOnlyExtension(&Extensions::multisampleCompatibilityEXT);
|
||||
map["GL_EXT_multisampled_render_to_texture"] = enableableExtension(&Extensions::multisampledRenderToTextureEXT);
|
||||
map["GL_EXT_multisampled_render_to_texture2"] = enableableExtension(&Extensions::multisampledRenderToTexture2EXT);
|
||||
map["GL_OVR_multiview"] = enableableExtension(&Extensions::multiviewOVR);
|
||||
map["GL_OVR_multiview2"] = enableableExtension(&Extensions::multiview2OVR);
|
||||
map["GL_KHR_no_error"] = esOnlyExtension(&Extensions::noErrorKHR);
|
||||
map["GL_EXT_occlusion_query_boolean"] = enableableExtension(&Extensions::occlusionQueryBooleanEXT);
|
||||
map["GL_OES_packed_depth_stencil"] = esOnlyExtension(&Extensions::packedDepthStencilOES);
|
||||
map["GL_ANGLE_pack_reverse_row_order"] = enableableExtension(&Extensions::packReverseRowOrderANGLE);
|
||||
map["GL_NV_pack_subimage"] = enableableExtension(&Extensions::packSubimageNV);
|
||||
map["GL_KHR_parallel_shader_compile"] = enableableExtension(&Extensions::parallelShaderCompileKHR);
|
||||
map["GL_NV_pixel_buffer_object"] = enableableExtension(&Extensions::pixelBufferObjectNV);
|
||||
map["GL_EXT_primitive_bounding_box"] = esOnlyExtension(&Extensions::primitiveBoundingBoxEXT);
|
||||
map["GL_EXT_protected_textures"] = enableableExtension(&Extensions::protectedTexturesEXT);
|
||||
map["GL_EXT_pvrtc_sRGB"] = enableableExtension(&Extensions::pvrtcSRGBEXT);
|
||||
map["GL_NV_read_depth"] = enableableExtension(&Extensions::readDepthNV);
|
||||
map["GL_EXT_read_format_bgra"] = enableableExtension(&Extensions::readFormatBgraEXT);
|
||||
map["GL_NV_read_stencil"] = enableableExtension(&Extensions::readStencilNV);
|
||||
map["GL_OES_rgb8_rgba8"] = enableableExtension(&Extensions::rgb8Rgba8OES);
|
||||
map["GL_KHR_robust_buffer_access_behavior"] = esOnlyExtension(&Extensions::robustBufferAccessBehaviorKHR);
|
||||
map["GL_EXT_robustness"] = esOnlyExtension(&Extensions::robustnessEXT);
|
||||
map["GL_NV_robustness_video_memory_purge"] = esOnlyExtension(&Extensions::robustnessVideoMemoryPurgeNV);
|
||||
map["GL_OES_sample_shading"] = enableableExtension(&Extensions::sampleShadingOES);
|
||||
map["GL_OES_sample_variables"] = enableableExtension(&Extensions::sampleVariablesOES);
|
||||
map["GL_EXT_semaphore"] = enableableExtension(&Extensions::semaphoreEXT);
|
||||
map["GL_EXT_semaphore_fd"] = enableableExtension(&Extensions::semaphoreFdEXT);
|
||||
map["GL_EXT_separate_shader_objects"] = enableableExtension(&Extensions::separateShaderObjectsEXT);
|
||||
map["GL_EXT_shader_framebuffer_fetch_non_coherent"] = enableableExtension(&Extensions::shaderFramebufferFetchNonCoherentEXT);
|
||||
map["GL_OES_shader_image_atomic"] = enableableExtension(&Extensions::shaderImageAtomicOES);
|
||||
map["GL_EXT_shader_io_blocks"] = enableableExtension(&Extensions::shaderIoBlocksEXT);
|
||||
map["GL_OES_shader_io_blocks"] = enableableExtension(&Extensions::shaderIoBlocksOES);
|
||||
map["GL_OES_shader_multisample_interpolation"] = enableableExtension(&Extensions::shaderMultisampleInterpolationOES);
|
||||
map["GL_EXT_shader_non_constant_global_initializers"] = enableableExtension(&Extensions::shaderNonConstantGlobalInitializersEXT);
|
||||
map["GL_NV_shader_noperspective_interpolation"] = enableableExtension(&Extensions::shaderNoperspectiveInterpolationNV);
|
||||
map["GL_EXT_shader_texture_lod"] = enableableExtension(&Extensions::shaderTextureLodEXT);
|
||||
map["GL_EXT_shadow_samplers"] = enableableExtension(&Extensions::shadowSamplersEXT);
|
||||
map["GL_EXT_sRGB"] = enableableExtension(&Extensions::sRGBEXT);
|
||||
map["GL_EXT_sRGB_write_control"] = esOnlyExtension(&Extensions::sRGBWriteControlEXT);
|
||||
map["GL_OES_standard_derivatives"] = enableableExtension(&Extensions::standardDerivativesOES);
|
||||
map["GL_OES_surfaceless_context"] = esOnlyExtension(&Extensions::surfacelessContextOES);
|
||||
map["GL_ARB_sync"] = enableableExtension(&Extensions::syncARB);
|
||||
map["GL_EXT_tessellation_shader"] = enableableExtension(&Extensions::tessellationShaderEXT);
|
||||
map["GL_OES_texture_3D"] = enableableExtension(&Extensions::texture3DOES);
|
||||
map["GL_EXT_texture_border_clamp"] = enableableExtension(&Extensions::textureBorderClampEXT);
|
||||
map["GL_OES_texture_border_clamp"] = enableableExtension(&Extensions::textureBorderClampOES);
|
||||
map["GL_EXT_texture_buffer"] = enableableExtension(&Extensions::textureBufferEXT);
|
||||
map["GL_OES_texture_buffer"] = enableableExtension(&Extensions::textureBufferOES);
|
||||
map["GL_OES_texture_compression_astc"] = enableableExtension(&Extensions::textureCompressionAstcOES);
|
||||
map["GL_KHR_texture_compression_astc_hdr"] = enableableExtension(&Extensions::textureCompressionAstcHdrKHR);
|
||||
map["GL_KHR_texture_compression_astc_ldr"] = enableableExtension(&Extensions::textureCompressionAstcLdrKHR);
|
||||
map["GL_KHR_texture_compression_astc_sliced_3d"] = enableableExtension(&Extensions::textureCompressionAstcSliced3dKHR);
|
||||
map["GL_EXT_texture_compression_bptc"] = enableableExtension(&Extensions::textureCompressionBptcEXT);
|
||||
map["GL_EXT_texture_compression_dxt1"] = enableableExtension(&Extensions::textureCompressionDxt1EXT);
|
||||
map["GL_IMG_texture_compression_pvrtc"] = enableableExtension(&Extensions::textureCompressionPvrtcIMG);
|
||||
map["GL_IMG_texture_compression_pvrtc2"] = enableableExtension(&Extensions::textureCompressionPvrtc2IMG);
|
||||
map["GL_EXT_texture_compression_rgtc"] = enableableExtension(&Extensions::textureCompressionRgtcEXT);
|
||||
map["GL_EXT_texture_compression_s3tc"] = enableableExtension(&Extensions::textureCompressionS3tcEXT);
|
||||
map["GL_EXT_texture_compression_s3tc_srgb"] = enableableExtension(&Extensions::textureCompressionS3tcSrgbEXT);
|
||||
map["GL_EXT_texture_cube_map_array"] = enableableExtension(&Extensions::textureCubeMapArrayEXT);
|
||||
map["GL_OES_texture_cube_map_array"] = enableableExtension(&Extensions::textureCubeMapArrayOES);
|
||||
map["GL_EXT_texture_filter_anisotropic"] = enableableExtension(&Extensions::textureFilterAnisotropicEXT);
|
||||
map["GL_OES_texture_float"] = enableableExtension(&Extensions::textureFloatOES);
|
||||
map["GL_OES_texture_float_linear"] = enableableExtension(&Extensions::textureFloatLinearOES);
|
||||
map["GL_EXT_texture_format_BGRA8888"] = enableableExtension(&Extensions::textureFormatBGRA8888EXT);
|
||||
map["GL_EXT_texture_format_sRGB_override"] = esOnlyExtension(&Extensions::textureFormatSRGBOverrideEXT);
|
||||
map["GL_OES_texture_half_float"] = enableableExtension(&Extensions::textureHalfFloatOES);
|
||||
map["GL_OES_texture_half_float_linear"] = enableableExtension(&Extensions::textureHalfFloatLinearOES);
|
||||
map["GL_EXT_texture_norm16"] = enableableExtension(&Extensions::textureNorm16EXT);
|
||||
map["GL_OES_texture_npot"] = enableableExtension(&Extensions::textureNpotOES);
|
||||
map["GL_EXT_texture_rg"] = enableableExtension(&Extensions::textureRgEXT);
|
||||
map["GL_EXT_texture_sRGB_decode"] = esOnlyExtension(&Extensions::textureSRGBDecodeEXT);
|
||||
map["GL_EXT_texture_sRGB_R8"] = enableableExtension(&Extensions::textureSRGBR8EXT);
|
||||
map["GL_EXT_texture_sRGB_RG8"] = enableableExtension(&Extensions::textureSRGBRG8EXT);
|
||||
map["GL_OES_texture_stencil8"] = enableableExtension(&Extensions::textureStencil8OES);
|
||||
map["GL_EXT_texture_storage"] = enableableExtension(&Extensions::textureStorageEXT);
|
||||
map["GL_OES_texture_storage_multisample_2d_array"] = enableableExtension(&Extensions::textureStorageMultisample2dArrayOES);
|
||||
map["GL_EXT_texture_type_2_10_10_10_REV"] = enableableExtension(&Extensions::textureType2101010REVEXT);
|
||||
map["GL_ANGLE_texture_usage"] = enableableExtension(&Extensions::textureUsageANGLE);
|
||||
map["GL_ANGLE_translated_shader_source"] = esOnlyExtension(&Extensions::translatedShaderSourceANGLE);
|
||||
map["GL_EXT_unpack_subimage"] = enableableExtension(&Extensions::unpackSubimageEXT);
|
||||
map["GL_OES_vertex_array_object"] = enableableExtension(&Extensions::vertexArrayObjectOES);
|
||||
map["GL_OES_vertex_half_float"] = enableableExtension(&Extensions::vertexHalfFloatOES);
|
||||
map["GL_OES_vertex_type_10_10_10_2"] = enableableExtension(&Extensions::vertexType1010102OES);
|
||||
map["GL_WEBGL_video_texture"] = enableableExtension(&Extensions::videoTextureWEBGL);
|
||||
map["GL_EXT_YUV_target"] = enableableExtension(&Extensions::YUVTargetEXT);
|
||||
|
||||
// ANGLE unofficial extension strings
|
||||
// ----------------------------------
|
||||
map["GL_ANGLE_base_vertex_base_instance"] = enableableExtension(&Extensions::baseVertexBaseInstanceANGLE);
|
||||
map["GL_CHROMIUM_bind_generates_resource"] = esOnlyExtension(&Extensions::bindGeneratesResourceCHROMIUM);
|
||||
map["GL_CHROMIUM_bind_uniform_location"] = esOnlyExtension(&Extensions::bindUniformLocationCHROMIUM);
|
||||
map["GL_ANGLE_client_arrays"] = esOnlyExtension(&Extensions::clientArraysANGLE);
|
||||
map["GL_CHROMIUM_color_buffer_float_rgb"] = enableableExtension(&Extensions::colorBufferFloatRgbCHROMIUM);
|
||||
map["GL_CHROMIUM_color_buffer_float_rgba"] = enableableExtension(&Extensions::colorBufferFloatRgbaCHROMIUM);
|
||||
map["GL_ANGLE_compressed_texture_etc"] = enableableExtension(&Extensions::compressedTextureEtcANGLE);
|
||||
map["GL_CHROMIUM_copy_compressed_texture"] = esOnlyExtension(&Extensions::copyCompressedTextureCHROMIUM);
|
||||
map["GL_CHROMIUM_copy_texture"] = esOnlyExtension(&Extensions::copyTextureCHROMIUM);
|
||||
map["GL_ANGLE_copy_texture_3d"] = enableableExtension(&Extensions::copyTexture3dANGLE);
|
||||
map["GL_CHROMIUM_framebuffer_mixed_samples"] = esOnlyExtension(&Extensions::framebufferMixedSamplesCHROMIUM);
|
||||
map["GL_ANGLE_framebuffer_multisample"] = enableableExtension(&Extensions::framebufferMultisampleANGLE);
|
||||
map["GL_ANGLE_get_image"] = enableableExtension(&Extensions::getImageANGLE);
|
||||
map["GL_ANGLE_get_serialized_context_string"] = esOnlyExtension(&Extensions::getSerializedContextStringANGLE);
|
||||
map["GL_ANGLE_get_tex_level_parameter"] = enableableExtension(&Extensions::getTexLevelParameterANGLE);
|
||||
map["GL_CHROMIUM_lose_context"] = enableableExtension(&Extensions::loseContextCHROMIUM);
|
||||
map["GL_ANGLE_lossy_etc_decode"] = enableableExtension(&Extensions::lossyEtcDecodeANGLE);
|
||||
map["GL_ANGLE_memory_object_flags"] = enableableExtension(&Extensions::memoryObjectFlagsANGLE);
|
||||
map["GL_ANGLE_memory_object_fuchsia"] = enableableExtension(&Extensions::memoryObjectFuchsiaANGLE);
|
||||
map["GL_ANGLE_memory_size"] = enableableExtension(&Extensions::memorySizeANGLE);
|
||||
map["GL_ANGLE_multi_draw"] = enableableExtension(&Extensions::multiDrawANGLE);
|
||||
map["GL_ANGLE_multiview_multisample"] = enableableExtension(&Extensions::multiviewMultisampleANGLE);
|
||||
map["GL_ANGLE_program_binary"] = esOnlyExtension(&Extensions::programBinaryANGLE);
|
||||
map["GL_ANGLE_program_cache_control"] = esOnlyExtension(&Extensions::programCacheControlANGLE);
|
||||
map["GL_ANGLE_provoking_vertex"] = enableableExtension(&Extensions::provokingVertexANGLE);
|
||||
map["GL_ANGLE_relaxed_vertex_attribute_type"] = esOnlyExtension(&Extensions::relaxedVertexAttributeTypeANGLE);
|
||||
map["GL_ANGLE_request_extension"] = esOnlyExtension(&Extensions::requestExtensionANGLE);
|
||||
map["GL_ANGLE_robust_client_memory"] = esOnlyExtension(&Extensions::robustClientMemoryANGLE);
|
||||
map["GL_ANGLE_robust_resource_initialization"] = esOnlyExtension(&Extensions::robustResourceInitializationANGLE);
|
||||
map["GL_ANGLE_semaphore_fuchsia"] = enableableExtension(&Extensions::semaphoreFuchsiaANGLE);
|
||||
map["GL_CHROMIUM_sync_query"] = enableableExtension(&Extensions::syncQueryCHROMIUM);
|
||||
map["GL_ANGLE_texture_compression_dxt3"] = enableableExtension(&Extensions::textureCompressionDxt3ANGLE);
|
||||
map["GL_ANGLE_texture_compression_dxt5"] = enableableExtension(&Extensions::textureCompressionDxt5ANGLE);
|
||||
map["GL_ANGLE_texture_external_update"] = enableableExtension(&Extensions::textureExternalUpdateANGLE);
|
||||
map["GL_CHROMIUM_texture_filtering_hint"] = enableableExtension(&Extensions::textureFilteringHintCHROMIUM);
|
||||
map["GL_ANGLE_texture_multisample"] = enableableExtension(&Extensions::textureMultisampleANGLE);
|
||||
map["GL_ANGLE_texture_rectangle"] = enableableDisablableExtension(&Extensions::textureRectangleANGLE);
|
||||
map["GL_ANGLE_webgl_compatibility"] = esOnlyExtension(&Extensions::webglCompatibilityANGLE);
|
||||
map["GL_ANGLE_yuv_internal_format"] = enableableExtension(&Extensions::yuvInternalFormatANGLE);
|
||||
|
||||
// GLES 1.0 and 1.1 extension strings
|
||||
// ----------------------------------
|
||||
map["GL_OES_draw_texture"] = enableableExtension(&Extensions::drawTextureOES);
|
||||
map["GL_OES_framebuffer_object"] = enableableExtension(&Extensions::framebufferObjectOES);
|
||||
map["GL_OES_matrix_palette"] = enableableExtension(&Extensions::matrixPaletteOES);
|
||||
map["GL_OES_point_size_array"] = enableableExtension(&Extensions::pointSizeArrayOES);
|
||||
map["GL_OES_point_sprite"] = enableableExtension(&Extensions::pointSpriteOES);
|
||||
map["GL_OES_query_matrix"] = enableableExtension(&Extensions::queryMatrixOES);
|
||||
map["GL_OES_texture_cube_map"] = enableableExtension(&Extensions::textureCubeMapOES);
|
||||
// clang-format on
|
||||
|
||||
#if defined(ANGLE_ENABLE_ASSERTS)
|
||||
// Verify all extension strings start with GL_
|
||||
for (const auto &extension : map)
|
||||
{
|
||||
ASSERT(extension.first.rfind("GL_", 0) == 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
return map;
|
||||
};
|
||||
|
||||
static const angle::base::NoDestructor<ExtensionInfoMap> extensionInfo(buildExtensionInfoMap());
|
||||
return *extensionInfo;
|
||||
}
|
||||
} // namespace gl
|
|
@ -0,0 +1,669 @@
|
|||
// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by gen_extensions.py using data from registry_xml.py and gl.xml
|
||||
//
|
||||
// Copyright 2021 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.
|
||||
//
|
||||
// gles_extensions_autogen.h: GLES extension information.
|
||||
|
||||
#ifndef LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
|
||||
#define LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
|
||||
|
||||
namespace gl
|
||||
{
|
||||
class TextureCapsMap;
|
||||
|
||||
struct Extensions
|
||||
{
|
||||
Extensions();
|
||||
Extensions(const Extensions &other);
|
||||
|
||||
Extensions &operator=(const Extensions &other);
|
||||
|
||||
// Generate a vector of supported extension strings
|
||||
std::vector<std::string> getStrings() const;
|
||||
|
||||
// Set all texture related extension support based on the supported textures.
|
||||
// Determines support for:
|
||||
// GL_OES_packed_depth_stencil
|
||||
// GL_OES_rgb8_rgba8
|
||||
// GL_EXT_texture_format_BGRA8888
|
||||
// GL_EXT_color_buffer_half_float,
|
||||
// GL_OES_texture_half_float, GL_OES_texture_half_float_linear
|
||||
// GL_OES_texture_float, GL_OES_texture_float_linear
|
||||
// GL_EXT_texture_rg
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
// GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt3,
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
// GL_KHR_texture_compression_astc_ldr, GL_OES_texture_compression_astc.
|
||||
// NOTE: GL_KHR_texture_compression_astc_hdr must be enabled separately. Support for the
|
||||
// HDR profile cannot be determined from the format enums alone.
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
// GL_EXT_sRGB
|
||||
// GL_ANGLE_depth_texture, GL_OES_depth32
|
||||
// GL_EXT_color_buffer_float
|
||||
// GL_EXT_texture_norm16
|
||||
// GL_EXT_texture_compression_bptc
|
||||
// GL_EXT_texture_compression_rgtc
|
||||
void setTextureExtensionSupport(const TextureCapsMap &textureCaps);
|
||||
|
||||
// Helper functions
|
||||
bool copyImageAny() const { return (copyImageEXT || copyImageOES); }
|
||||
bool depthTextureAny() const { return (depthTextureANGLE || depthTextureOES); }
|
||||
bool drawBuffersIndexedAny() const { return (drawBuffersIndexedEXT || drawBuffersIndexedOES); }
|
||||
bool drawElementsBaseVertexAny() const
|
||||
{
|
||||
return (drawElementsBaseVertexEXT || drawElementsBaseVertexOES);
|
||||
}
|
||||
bool framebufferBlitAny() const { return (framebufferBlitANGLE || framebufferBlitNV); }
|
||||
bool geometryShaderAny() const { return (geometryShaderEXT || geometryShaderOES); }
|
||||
bool instancedArraysAny() const { return (instancedArraysANGLE || instancedArraysEXT); }
|
||||
bool shaderIoBlocksAny() const { return (shaderIoBlocksEXT || shaderIoBlocksOES); }
|
||||
bool textureBorderClampAny() const { return (textureBorderClampEXT || textureBorderClampOES); }
|
||||
bool textureBufferAny() const { return (textureBufferEXT || textureBufferOES); }
|
||||
bool textureCubeMapArrayAny() const
|
||||
{
|
||||
return (textureCubeMapArrayEXT || textureCubeMapArrayOES);
|
||||
}
|
||||
|
||||
// GLES 2.0+ extensions
|
||||
// --------------------
|
||||
|
||||
// GL_KHR_blend_equation_advanced
|
||||
bool blendEquationAdvancedKHR = false;
|
||||
|
||||
// GL_EXT_blend_func_extended
|
||||
bool blendFuncExtendedEXT = false;
|
||||
|
||||
// GL_EXT_blend_minmax
|
||||
bool blendMinmaxEXT = false;
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
bool bufferStorageEXT = false;
|
||||
|
||||
// GL_EXT_clip_control
|
||||
bool clipControlEXT = false;
|
||||
|
||||
// GL_EXT_clip_cull_distance
|
||||
bool clipCullDistanceEXT = false;
|
||||
|
||||
// GL_APPLE_clip_distance
|
||||
bool clipDistanceAPPLE = false;
|
||||
|
||||
// GL_EXT_color_buffer_float
|
||||
bool colorBufferFloatEXT = false;
|
||||
|
||||
// GL_EXT_color_buffer_half_float
|
||||
bool colorBufferHalfFloatEXT = false;
|
||||
|
||||
// GL_OES_compressed_EAC_R11_signed_texture
|
||||
bool compressedEACR11SignedTextureOES = false;
|
||||
|
||||
// GL_OES_compressed_EAC_R11_unsigned_texture
|
||||
bool compressedEACR11UnsignedTextureOES = false;
|
||||
|
||||
// GL_OES_compressed_EAC_RG11_signed_texture
|
||||
bool compressedEACRG11SignedTextureOES = false;
|
||||
|
||||
// GL_OES_compressed_EAC_RG11_unsigned_texture
|
||||
bool compressedEACRG11UnsignedTextureOES = false;
|
||||
|
||||
// GL_EXT_compressed_ETC1_RGB8_sub_texture
|
||||
bool compressedETC1RGB8SubTextureEXT = false;
|
||||
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
bool compressedETC1RGB8TextureOES = false;
|
||||
|
||||
// GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture
|
||||
bool compressedETC2PunchthroughARGBA8TextureOES = false;
|
||||
|
||||
// GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture
|
||||
bool compressedETC2PunchthroughASRGB8AlphaTextureOES = false;
|
||||
|
||||
// GL_OES_compressed_ETC2_RGB8_texture
|
||||
bool compressedETC2RGB8TextureOES = false;
|
||||
|
||||
// GL_OES_compressed_ETC2_RGBA8_texture
|
||||
bool compressedETC2RGBA8TextureOES = false;
|
||||
|
||||
// GL_OES_compressed_ETC2_sRGB8_alpha8_texture
|
||||
bool compressedETC2SRGB8Alpha8TextureOES = false;
|
||||
|
||||
// GL_OES_compressed_ETC2_sRGB8_texture
|
||||
bool compressedETC2SRGB8TextureOES = false;
|
||||
|
||||
// GL_EXT_copy_image
|
||||
bool copyImageEXT = false;
|
||||
|
||||
// GL_OES_copy_image
|
||||
bool copyImageOES = false;
|
||||
|
||||
// GL_KHR_debug
|
||||
bool debugKHR = false;
|
||||
|
||||
// GL_EXT_debug_label
|
||||
bool debugLabelEXT = false;
|
||||
|
||||
// GL_EXT_debug_marker
|
||||
bool debugMarkerEXT = false;
|
||||
|
||||
// GL_OES_depth24
|
||||
bool depth24OES = false;
|
||||
|
||||
// GL_OES_depth32
|
||||
bool depth32OES = false;
|
||||
|
||||
// GL_NV_depth_buffer_float2
|
||||
bool depthBufferFloat2NV = false;
|
||||
|
||||
// GL_ANGLE_depth_texture
|
||||
bool depthTextureANGLE = false;
|
||||
|
||||
// GL_OES_depth_texture
|
||||
bool depthTextureOES = false;
|
||||
|
||||
// GL_OES_depth_texture_cube_map
|
||||
bool depthTextureCubeMapOES = false;
|
||||
|
||||
// GL_EXT_discard_framebuffer
|
||||
bool discardFramebufferEXT = false;
|
||||
|
||||
// GL_EXT_disjoint_timer_query
|
||||
bool disjointTimerQueryEXT = false;
|
||||
|
||||
// GL_EXT_draw_buffers
|
||||
bool drawBuffersEXT = false;
|
||||
|
||||
// GL_EXT_draw_buffers_indexed
|
||||
bool drawBuffersIndexedEXT = false;
|
||||
|
||||
// GL_OES_draw_buffers_indexed
|
||||
bool drawBuffersIndexedOES = false;
|
||||
|
||||
// GL_EXT_draw_elements_base_vertex
|
||||
bool drawElementsBaseVertexEXT = false;
|
||||
|
||||
// GL_OES_draw_elements_base_vertex
|
||||
bool drawElementsBaseVertexOES = false;
|
||||
|
||||
// GL_OES_EGL_image
|
||||
bool EGLImageOES = false;
|
||||
|
||||
// GL_EXT_EGL_image_array
|
||||
bool EGLImageArrayEXT = false;
|
||||
|
||||
// GL_OES_EGL_image_external
|
||||
bool EGLImageExternalOES = false;
|
||||
|
||||
// GL_OES_EGL_image_external_essl3
|
||||
bool EGLImageExternalEssl3OES = false;
|
||||
|
||||
// GL_EXT_EGL_image_external_wrap_modes
|
||||
bool EGLImageExternalWrapModesEXT = false;
|
||||
|
||||
// GL_EXT_EGL_image_storage
|
||||
bool EGLImageStorageEXT = false;
|
||||
|
||||
// GL_NV_EGL_stream_consumer_external
|
||||
bool EGLStreamConsumerExternalNV = false;
|
||||
|
||||
// GL_OES_EGL_sync
|
||||
bool EGLSyncOES = false;
|
||||
|
||||
// GL_OES_element_index_uint
|
||||
bool elementIndexUintOES = false;
|
||||
|
||||
// GL_EXT_external_buffer
|
||||
bool externalBufferEXT = false;
|
||||
|
||||
// GL_OES_fbo_render_mipmap
|
||||
bool fboRenderMipmapOES = false;
|
||||
|
||||
// GL_NV_fence
|
||||
bool fenceNV = false;
|
||||
|
||||
// GL_EXT_float_blend
|
||||
bool floatBlendEXT = false;
|
||||
|
||||
// GL_EXT_frag_depth
|
||||
bool fragDepthEXT = false;
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
bool framebufferBlitANGLE = false;
|
||||
|
||||
// GL_NV_framebuffer_blit
|
||||
bool framebufferBlitNV = false;
|
||||
|
||||
// GL_EXT_geometry_shader
|
||||
bool geometryShaderEXT = false;
|
||||
|
||||
// GL_OES_geometry_shader
|
||||
bool geometryShaderOES = false;
|
||||
|
||||
// GL_OES_get_program_binary
|
||||
bool getProgramBinaryOES = false;
|
||||
|
||||
// GL_EXT_gpu_shader5
|
||||
bool gpuShader5EXT = false;
|
||||
|
||||
// GL_ANGLE_instanced_arrays
|
||||
bool instancedArraysANGLE = false;
|
||||
|
||||
// GL_EXT_instanced_arrays
|
||||
bool instancedArraysEXT = false;
|
||||
|
||||
// GL_OES_mapbuffer
|
||||
bool mapbufferOES = false;
|
||||
|
||||
// GL_EXT_map_buffer_range
|
||||
bool mapBufferRangeEXT = false;
|
||||
|
||||
// GL_EXT_memory_object
|
||||
bool memoryObjectEXT = false;
|
||||
|
||||
// GL_EXT_memory_object_fd
|
||||
bool memoryObjectFdEXT = false;
|
||||
|
||||
// GL_EXT_multisample_compatibility
|
||||
bool multisampleCompatibilityEXT = false;
|
||||
|
||||
// GL_EXT_multisampled_render_to_texture
|
||||
bool multisampledRenderToTextureEXT = false;
|
||||
|
||||
// GL_EXT_multisampled_render_to_texture2
|
||||
bool multisampledRenderToTexture2EXT = false;
|
||||
|
||||
// GL_OVR_multiview
|
||||
bool multiviewOVR = false;
|
||||
|
||||
// GL_OVR_multiview2
|
||||
bool multiview2OVR = false;
|
||||
|
||||
// GL_KHR_no_error
|
||||
bool noErrorKHR = false;
|
||||
|
||||
// GL_EXT_occlusion_query_boolean
|
||||
bool occlusionQueryBooleanEXT = false;
|
||||
|
||||
// GL_OES_packed_depth_stencil
|
||||
bool packedDepthStencilOES = false;
|
||||
|
||||
// GL_ANGLE_pack_reverse_row_order
|
||||
bool packReverseRowOrderANGLE = false;
|
||||
|
||||
// GL_NV_pack_subimage
|
||||
bool packSubimageNV = false;
|
||||
|
||||
// GL_KHR_parallel_shader_compile
|
||||
bool parallelShaderCompileKHR = false;
|
||||
|
||||
// GL_NV_pixel_buffer_object
|
||||
bool pixelBufferObjectNV = false;
|
||||
|
||||
// GL_EXT_primitive_bounding_box
|
||||
bool primitiveBoundingBoxEXT = false;
|
||||
|
||||
// GL_EXT_protected_textures
|
||||
bool protectedTexturesEXT = false;
|
||||
|
||||
// GL_EXT_pvrtc_sRGB
|
||||
bool pvrtcSRGBEXT = false;
|
||||
|
||||
// GL_NV_read_depth
|
||||
bool readDepthNV = false;
|
||||
|
||||
// GL_EXT_read_format_bgra
|
||||
bool readFormatBgraEXT = false;
|
||||
|
||||
// GL_NV_read_stencil
|
||||
bool readStencilNV = false;
|
||||
|
||||
// GL_OES_rgb8_rgba8
|
||||
bool rgb8Rgba8OES = false;
|
||||
|
||||
// GL_KHR_robust_buffer_access_behavior
|
||||
bool robustBufferAccessBehaviorKHR = false;
|
||||
|
||||
// GL_EXT_robustness
|
||||
bool robustnessEXT = false;
|
||||
|
||||
// GL_NV_robustness_video_memory_purge
|
||||
bool robustnessVideoMemoryPurgeNV = false;
|
||||
|
||||
// GL_OES_sample_shading
|
||||
bool sampleShadingOES = false;
|
||||
|
||||
// GL_OES_sample_variables
|
||||
bool sampleVariablesOES = false;
|
||||
|
||||
// GL_EXT_semaphore
|
||||
bool semaphoreEXT = false;
|
||||
|
||||
// GL_EXT_semaphore_fd
|
||||
bool semaphoreFdEXT = false;
|
||||
|
||||
// GL_EXT_separate_shader_objects
|
||||
bool separateShaderObjectsEXT = false;
|
||||
|
||||
// GL_EXT_shader_framebuffer_fetch_non_coherent
|
||||
bool shaderFramebufferFetchNonCoherentEXT = false;
|
||||
|
||||
// GL_OES_shader_image_atomic
|
||||
bool shaderImageAtomicOES = false;
|
||||
|
||||
// GL_EXT_shader_io_blocks
|
||||
bool shaderIoBlocksEXT = false;
|
||||
|
||||
// GL_OES_shader_io_blocks
|
||||
bool shaderIoBlocksOES = false;
|
||||
|
||||
// GL_OES_shader_multisample_interpolation
|
||||
bool shaderMultisampleInterpolationOES = false;
|
||||
|
||||
// GL_EXT_shader_non_constant_global_initializers
|
||||
bool shaderNonConstantGlobalInitializersEXT = false;
|
||||
|
||||
// GL_NV_shader_noperspective_interpolation
|
||||
bool shaderNoperspectiveInterpolationNV = false;
|
||||
|
||||
// GL_EXT_shader_texture_lod
|
||||
bool shaderTextureLodEXT = false;
|
||||
|
||||
// GL_EXT_shadow_samplers
|
||||
bool shadowSamplersEXT = false;
|
||||
|
||||
// GL_EXT_sRGB
|
||||
bool sRGBEXT = false;
|
||||
|
||||
// GL_EXT_sRGB_write_control
|
||||
bool sRGBWriteControlEXT = false;
|
||||
|
||||
// GL_OES_standard_derivatives
|
||||
bool standardDerivativesOES = false;
|
||||
|
||||
// GL_OES_surfaceless_context
|
||||
bool surfacelessContextOES = false;
|
||||
|
||||
// GL_ARB_sync
|
||||
bool syncARB = false;
|
||||
|
||||
// GL_EXT_tessellation_shader
|
||||
bool tessellationShaderEXT = false;
|
||||
|
||||
// GL_OES_texture_3D
|
||||
bool texture3DOES = false;
|
||||
|
||||
// GL_EXT_texture_border_clamp
|
||||
bool textureBorderClampEXT = false;
|
||||
|
||||
// GL_OES_texture_border_clamp
|
||||
bool textureBorderClampOES = false;
|
||||
|
||||
// GL_EXT_texture_buffer
|
||||
bool textureBufferEXT = false;
|
||||
|
||||
// GL_OES_texture_buffer
|
||||
bool textureBufferOES = false;
|
||||
|
||||
// GL_OES_texture_compression_astc
|
||||
bool textureCompressionAstcOES = false;
|
||||
|
||||
// GL_KHR_texture_compression_astc_hdr
|
||||
bool textureCompressionAstcHdrKHR = false;
|
||||
|
||||
// GL_KHR_texture_compression_astc_ldr
|
||||
bool textureCompressionAstcLdrKHR = false;
|
||||
|
||||
// GL_KHR_texture_compression_astc_sliced_3d
|
||||
bool textureCompressionAstcSliced3dKHR = false;
|
||||
|
||||
// GL_EXT_texture_compression_bptc
|
||||
bool textureCompressionBptcEXT = false;
|
||||
|
||||
// GL_EXT_texture_compression_dxt1
|
||||
bool textureCompressionDxt1EXT = false;
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc
|
||||
bool textureCompressionPvrtcIMG = false;
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc2
|
||||
bool textureCompressionPvrtc2IMG = false;
|
||||
|
||||
// GL_EXT_texture_compression_rgtc
|
||||
bool textureCompressionRgtcEXT = false;
|
||||
|
||||
// GL_EXT_texture_compression_s3tc
|
||||
bool textureCompressionS3tcEXT = false;
|
||||
|
||||
// GL_EXT_texture_compression_s3tc_srgb
|
||||
bool textureCompressionS3tcSrgbEXT = false;
|
||||
|
||||
// GL_EXT_texture_cube_map_array
|
||||
bool textureCubeMapArrayEXT = false;
|
||||
|
||||
// GL_OES_texture_cube_map_array
|
||||
bool textureCubeMapArrayOES = false;
|
||||
|
||||
// GL_EXT_texture_filter_anisotropic
|
||||
bool textureFilterAnisotropicEXT = false;
|
||||
|
||||
// GL_OES_texture_float
|
||||
bool textureFloatOES = false;
|
||||
|
||||
// GL_OES_texture_float_linear
|
||||
bool textureFloatLinearOES = false;
|
||||
|
||||
// GL_EXT_texture_format_BGRA8888
|
||||
bool textureFormatBGRA8888EXT = false;
|
||||
|
||||
// GL_EXT_texture_format_sRGB_override
|
||||
bool textureFormatSRGBOverrideEXT = false;
|
||||
|
||||
// GL_OES_texture_half_float
|
||||
bool textureHalfFloatOES = false;
|
||||
|
||||
// GL_OES_texture_half_float_linear
|
||||
bool textureHalfFloatLinearOES = false;
|
||||
|
||||
// GL_EXT_texture_norm16
|
||||
bool textureNorm16EXT = false;
|
||||
|
||||
// GL_OES_texture_npot
|
||||
bool textureNpotOES = false;
|
||||
|
||||
// GL_EXT_texture_rg
|
||||
bool textureRgEXT = false;
|
||||
|
||||
// GL_EXT_texture_sRGB_decode
|
||||
bool textureSRGBDecodeEXT = false;
|
||||
|
||||
// GL_EXT_texture_sRGB_R8
|
||||
bool textureSRGBR8EXT = false;
|
||||
|
||||
// GL_EXT_texture_sRGB_RG8
|
||||
bool textureSRGBRG8EXT = false;
|
||||
|
||||
// GL_OES_texture_stencil8
|
||||
bool textureStencil8OES = false;
|
||||
|
||||
// GL_EXT_texture_storage
|
||||
bool textureStorageEXT = false;
|
||||
|
||||
// GL_OES_texture_storage_multisample_2d_array
|
||||
bool textureStorageMultisample2dArrayOES = false;
|
||||
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
bool textureType2101010REVEXT = false;
|
||||
|
||||
// GL_ANGLE_texture_usage
|
||||
bool textureUsageANGLE = false;
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
bool translatedShaderSourceANGLE = false;
|
||||
|
||||
// GL_EXT_unpack_subimage
|
||||
bool unpackSubimageEXT = false;
|
||||
|
||||
// GL_OES_vertex_array_object
|
||||
bool vertexArrayObjectOES = false;
|
||||
|
||||
// GL_OES_vertex_half_float
|
||||
bool vertexHalfFloatOES = false;
|
||||
|
||||
// GL_OES_vertex_type_10_10_10_2
|
||||
bool vertexType1010102OES = false;
|
||||
|
||||
// GL_WEBGL_video_texture
|
||||
bool videoTextureWEBGL = false;
|
||||
|
||||
// GL_EXT_YUV_target
|
||||
bool YUVTargetEXT = false;
|
||||
|
||||
// ANGLE unofficial extensions
|
||||
// ---------------------------
|
||||
|
||||
// GL_ANGLE_base_vertex_base_instance
|
||||
bool baseVertexBaseInstanceANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_bind_generates_resource
|
||||
bool bindGeneratesResourceCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
bool bindUniformLocationCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_client_arrays
|
||||
bool clientArraysANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_color_buffer_float_rgb
|
||||
bool colorBufferFloatRgbCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_color_buffer_float_rgba
|
||||
bool colorBufferFloatRgbaCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_compressed_texture_etc
|
||||
bool compressedTextureEtcANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_copy_compressed_texture
|
||||
bool copyCompressedTextureCHROMIUM = false;
|
||||
|
||||
// GL_CHROMIUM_copy_texture
|
||||
bool copyTextureCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_copy_texture_3d
|
||||
bool copyTexture3dANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_framebuffer_mixed_samples
|
||||
bool framebufferMixedSamplesCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_framebuffer_multisample
|
||||
bool framebufferMultisampleANGLE = false;
|
||||
|
||||
// GL_ANGLE_get_image
|
||||
bool getImageANGLE = false;
|
||||
|
||||
// GL_ANGLE_get_serialized_context_string
|
||||
bool getSerializedContextStringANGLE = false;
|
||||
|
||||
// GL_ANGLE_get_tex_level_parameter
|
||||
bool getTexLevelParameterANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_lose_context
|
||||
bool loseContextCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_lossy_etc_decode
|
||||
bool lossyEtcDecodeANGLE = false;
|
||||
|
||||
// GL_ANGLE_memory_object_flags
|
||||
bool memoryObjectFlagsANGLE = false;
|
||||
|
||||
// GL_ANGLE_memory_object_fuchsia
|
||||
bool memoryObjectFuchsiaANGLE = false;
|
||||
|
||||
// GL_ANGLE_memory_size
|
||||
bool memorySizeANGLE = false;
|
||||
|
||||
// GL_ANGLE_multi_draw
|
||||
bool multiDrawANGLE = false;
|
||||
|
||||
// GL_ANGLE_multiview_multisample
|
||||
bool multiviewMultisampleANGLE = false;
|
||||
|
||||
// GL_ANGLE_program_binary
|
||||
bool programBinaryANGLE = false;
|
||||
|
||||
// GL_ANGLE_program_cache_control
|
||||
bool programCacheControlANGLE = false;
|
||||
|
||||
// GL_ANGLE_provoking_vertex
|
||||
bool provokingVertexANGLE = false;
|
||||
|
||||
// GL_ANGLE_relaxed_vertex_attribute_type
|
||||
bool relaxedVertexAttributeTypeANGLE = false;
|
||||
|
||||
// GL_ANGLE_request_extension
|
||||
bool requestExtensionANGLE = false;
|
||||
|
||||
// GL_ANGLE_robust_client_memory
|
||||
bool robustClientMemoryANGLE = false;
|
||||
|
||||
// GL_ANGLE_robust_resource_initialization
|
||||
bool robustResourceInitializationANGLE = false;
|
||||
|
||||
// GL_ANGLE_semaphore_fuchsia
|
||||
bool semaphoreFuchsiaANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_sync_query
|
||||
bool syncQueryCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt3
|
||||
bool textureCompressionDxt3ANGLE = false;
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
bool textureCompressionDxt5ANGLE = false;
|
||||
|
||||
// GL_ANGLE_texture_external_update
|
||||
bool textureExternalUpdateANGLE = false;
|
||||
|
||||
// GL_CHROMIUM_texture_filtering_hint
|
||||
bool textureFilteringHintCHROMIUM = false;
|
||||
|
||||
// GL_ANGLE_texture_multisample
|
||||
bool textureMultisampleANGLE = false;
|
||||
|
||||
// GL_ANGLE_texture_rectangle
|
||||
bool textureRectangleANGLE = false;
|
||||
|
||||
// GL_ANGLE_webgl_compatibility
|
||||
bool webglCompatibilityANGLE = false;
|
||||
|
||||
// GL_ANGLE_yuv_internal_format
|
||||
bool yuvInternalFormatANGLE = false;
|
||||
|
||||
// GLES 1.0 and 1.1 extensions
|
||||
// ---------------------------
|
||||
|
||||
// GL_OES_draw_texture
|
||||
bool drawTextureOES = false;
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
bool framebufferObjectOES = false;
|
||||
|
||||
// GL_OES_matrix_palette
|
||||
bool matrixPaletteOES = false;
|
||||
|
||||
// GL_OES_point_size_array
|
||||
bool pointSizeArrayOES = false;
|
||||
|
||||
// GL_OES_point_sprite
|
||||
bool pointSpriteOES = false;
|
||||
|
||||
// GL_OES_query_matrix
|
||||
bool queryMatrixOES = false;
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
bool textureCubeMapOES = false;
|
||||
};
|
||||
} // namespace gl
|
||||
|
||||
#endif // LIBANGLE_GLES_EXTENSIONS_AUTOGEN_H_
|
|
@ -589,17 +589,6 @@ void DispatchTableGL::initProcsDesktopGL(const gl::Version &version,
|
|||
ASSIGN("glUniformSubroutinesuiv", uniformSubroutinesuiv);
|
||||
}
|
||||
|
||||
if (extensions.count("GL_ARB_sync") != 0)
|
||||
{
|
||||
ASSIGN("glClientWaitSync", clientWaitSync);
|
||||
ASSIGN("glDeleteSync", deleteSync);
|
||||
ASSIGN("glFenceSync", fenceSync);
|
||||
ASSIGN("glGetInteger64v", getInteger64v);
|
||||
ASSIGN("glGetSynciv", getSynciv);
|
||||
ASSIGN("glIsSync", isSync);
|
||||
ASSIGN("glWaitSync", waitSync);
|
||||
}
|
||||
|
||||
if (extensions.count("GL_ARB_tessellation_shader") != 0)
|
||||
{
|
||||
ASSIGN("glPatchParameterfv", patchParameterfv);
|
||||
|
@ -2650,6 +2639,17 @@ void DispatchTableGL::initProcsGLES(const gl::Version &version,
|
|||
|
||||
void DispatchTableGL::initProcsSharedExtensions(const std::set<std::string> &extensions)
|
||||
{
|
||||
if (extensions.count("GL_ARB_sync") != 0)
|
||||
{
|
||||
ASSIGN("glClientWaitSync", clientWaitSync);
|
||||
ASSIGN("glDeleteSync", deleteSync);
|
||||
ASSIGN("glFenceSync", fenceSync);
|
||||
ASSIGN("glGetInteger64v", getInteger64v);
|
||||
ASSIGN("glGetSynciv", getSynciv);
|
||||
ASSIGN("glIsSync", isSync);
|
||||
ASSIGN("glWaitSync", waitSync);
|
||||
}
|
||||
|
||||
if (extensions.count("GL_EXT_blend_minmax") != 0)
|
||||
{
|
||||
ASSIGN("glBlendEquationEXT", blendEquation);
|
||||
|
@ -3377,17 +3377,6 @@ void DispatchTableGL::initProcsDesktopGLNULL(const gl::Version &version,
|
|||
uniformSubroutinesuiv = &glUniformSubroutinesuivNULL;
|
||||
}
|
||||
|
||||
if (extensions.count("GL_ARB_sync") != 0)
|
||||
{
|
||||
clientWaitSync = &glClientWaitSyncNULL;
|
||||
deleteSync = &glDeleteSyncNULL;
|
||||
fenceSync = &glFenceSyncNULL;
|
||||
getInteger64v = &glGetInteger64vNULL;
|
||||
getSynciv = &glGetSyncivNULL;
|
||||
isSync = &glIsSyncNULL;
|
||||
waitSync = &glWaitSyncNULL;
|
||||
}
|
||||
|
||||
if (extensions.count("GL_ARB_tessellation_shader") != 0)
|
||||
{
|
||||
patchParameterfv = &glPatchParameterfvNULL;
|
||||
|
@ -5436,6 +5425,17 @@ void DispatchTableGL::initProcsGLESNULL(const gl::Version &version,
|
|||
|
||||
void DispatchTableGL::initProcsSharedExtensionsNULL(const std::set<std::string> &extensions)
|
||||
{
|
||||
if (extensions.count("GL_ARB_sync") != 0)
|
||||
{
|
||||
clientWaitSync = &glClientWaitSyncNULL;
|
||||
deleteSync = &glDeleteSyncNULL;
|
||||
fenceSync = &glFenceSyncNULL;
|
||||
getInteger64v = &glGetInteger64vNULL;
|
||||
getSynciv = &glGetSyncivNULL;
|
||||
isSync = &glIsSyncNULL;
|
||||
waitSync = &glWaitSyncNULL;
|
||||
}
|
||||
|
||||
if (extensions.count("GL_EXT_blend_minmax") != 0)
|
||||
{
|
||||
blendEquation = &glBlendEquationNULL;
|
||||
|
|
|
@ -80,6 +80,8 @@ bool ValidateCopySubTexture3DANGLE(const Context *context,
|
|||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
|
||||
// GL_ANGLE_depth_texture
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
bool ValidateBlitFramebufferANGLE(const Context *context,
|
||||
GLint srcX0,
|
||||
|
@ -219,6 +221,8 @@ bool ValidateMultiDrawElementsInstancedANGLE(const Context *context,
|
|||
const GLsizei *instanceCounts,
|
||||
GLsizei drawcount);
|
||||
|
||||
// GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
// GL_ANGLE_program_binary
|
||||
|
||||
// GL_ANGLE_provoking_vertex
|
||||
|
@ -669,6 +673,10 @@ bool ValidateImportSemaphoreZirconHandleANGLE(const Context *context,
|
|||
HandleType handleTypePacked,
|
||||
GLuint handle);
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
// GL_ANGLE_texture_external_update
|
||||
bool ValidateTexImage2DExternalANGLE(const Context *context,
|
||||
TextureTarget targetPacked,
|
||||
|
@ -695,6 +703,8 @@ bool ValidateGetMultisamplefvANGLE(const Context *context,
|
|||
const GLfloat *val);
|
||||
bool ValidateSampleMaskiANGLE(const Context *context, GLuint maskNumber, GLbitfield mask);
|
||||
|
||||
// GL_ANGLE_texture_usage
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
bool ValidateGetTranslatedShaderSourceANGLE(const Context *context,
|
||||
ShaderProgramID shaderPacked,
|
||||
|
@ -702,6 +712,10 @@ bool ValidateGetTranslatedShaderSourceANGLE(const Context *context,
|
|||
const GLsizei *length,
|
||||
const GLchar *source);
|
||||
|
||||
// GL_APPLE_clip_distance
|
||||
|
||||
// GL_ARB_sync
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
bool ValidateBindUniformLocationCHROMIUM(const Context *context,
|
||||
ShaderProgramID programPacked,
|
||||
|
@ -781,6 +795,8 @@ bool ValidateGetProgramResourceLocationIndexEXT(const Context *context,
|
|||
GLenum programInterface,
|
||||
const GLchar *name);
|
||||
|
||||
// GL_EXT_blend_minmax
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
bool ValidateBufferStorageEXT(const Context *context,
|
||||
BufferBinding targetPacked,
|
||||
|
@ -791,6 +807,12 @@ bool ValidateBufferStorageEXT(const Context *context,
|
|||
// GL_EXT_clip_control
|
||||
bool ValidateClipControlEXT(const Context *context, GLenum origin, GLenum depth);
|
||||
|
||||
// GL_EXT_clip_cull_distance
|
||||
|
||||
// GL_EXT_color_buffer_float
|
||||
|
||||
// GL_EXT_color_buffer_half_float
|
||||
|
||||
// GL_EXT_copy_image
|
||||
bool ValidateCopyImageSubDataEXT(const Context *context,
|
||||
GLuint srcName,
|
||||
|
@ -932,6 +954,8 @@ bool ValidateNamedBufferStorageExternalEXT(const Context *context,
|
|||
GLeglClientBufferEXT clientBuffer,
|
||||
GLbitfield flags);
|
||||
|
||||
// GL_EXT_float_blend
|
||||
|
||||
// GL_EXT_geometry_shader
|
||||
bool ValidateFramebufferTextureEXT(const Context *context,
|
||||
GLenum target,
|
||||
|
@ -939,6 +963,8 @@ bool ValidateFramebufferTextureEXT(const Context *context,
|
|||
TextureID texturePacked,
|
||||
GLint level);
|
||||
|
||||
// GL_EXT_gpu_shader5
|
||||
|
||||
// GL_EXT_instanced_arrays
|
||||
bool ValidateDrawArraysInstancedEXT(const Context *context,
|
||||
PrimitiveMode modePacked,
|
||||
|
@ -1351,6 +1377,12 @@ bool ValidateFramebufferFetchBarrierEXT(const Context *context);
|
|||
|
||||
// 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
|
||||
bool ValidatePatchParameteriEXT(const Context *context, GLenum pname, GLint value);
|
||||
|
||||
|
@ -1416,10 +1448,18 @@ bool ValidateTexBufferRangeEXT(const Context *context,
|
|||
|
||||
// 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
|
||||
bool ValidateTexStorage1DEXT(const Context *context,
|
||||
GLenum target,
|
||||
|
@ -1440,6 +1480,10 @@ bool ValidateTexStorage3DEXT(const Context *context,
|
|||
GLsizei height,
|
||||
GLsizei depth);
|
||||
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
// GL_EXT_unpack_subimage
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -1502,9 +1546,13 @@ bool ValidatePushDebugGroupKHR(const Context *context,
|
|||
GLsizei length,
|
||||
const GLchar *message);
|
||||
|
||||
// GL_KHR_no_error
|
||||
|
||||
// GL_KHR_parallel_shader_compile
|
||||
bool ValidateMaxShaderCompilerThreadsKHR(const Context *context, GLuint count);
|
||||
|
||||
// GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
// GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
// GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -1536,6 +1584,16 @@ bool ValidateBlitFramebufferNV(const Context *context,
|
|||
GLbitfield mask,
|
||||
GLenum filter);
|
||||
|
||||
// GL_NV_pixel_buffer_object
|
||||
|
||||
// GL_NV_read_depth
|
||||
|
||||
// GL_NV_read_stencil
|
||||
|
||||
// GL_NV_robustness_video_memory_purge
|
||||
|
||||
// GL_NV_shader_noperspective_interpolation
|
||||
|
||||
// GL_OES_EGL_image
|
||||
bool ValidateEGLImageTargetRenderbufferStorageOES(const Context *context,
|
||||
GLenum target,
|
||||
|
@ -1544,6 +1602,10 @@ bool ValidateEGLImageTargetTexture2DOES(const Context *context,
|
|||
TextureType targetPacked,
|
||||
GLeglImageOES image);
|
||||
|
||||
// GL_OES_EGL_image_external
|
||||
|
||||
// GL_OES_EGL_image_external_essl3
|
||||
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
// GL_OES_copy_image
|
||||
|
@ -1564,8 +1626,12 @@ bool ValidateCopyImageSubDataOES(const Context *context,
|
|||
GLsizei srcHeight,
|
||||
GLsizei srcDepth);
|
||||
|
||||
// GL_OES_depth24
|
||||
|
||||
// GL_OES_depth32
|
||||
|
||||
// GL_OES_depth_texture
|
||||
|
||||
// GL_OES_draw_buffers_indexed
|
||||
bool ValidateBlendEquationSeparateiOES(const Context *context,
|
||||
GLuint buf,
|
||||
|
@ -1642,6 +1708,10 @@ bool ValidateDrawTexxOES(const Context *context,
|
|||
GLfixed height);
|
||||
bool ValidateDrawTexxvOES(const Context *context, const GLfixed *coords);
|
||||
|
||||
// GL_OES_element_index_uint
|
||||
|
||||
// GL_OES_fbo_render_mipmap
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
bool ValidateBindFramebufferOES(const Context *context,
|
||||
GLenum target,
|
||||
|
@ -1733,22 +1803,38 @@ bool ValidateWeightPointerOES(const Context *context,
|
|||
GLsizei stride,
|
||||
const void *pointer);
|
||||
|
||||
// GL_OES_packed_depth_stencil
|
||||
|
||||
// GL_OES_point_size_array
|
||||
bool ValidatePointSizePointerOES(const Context *context,
|
||||
VertexAttribType typePacked,
|
||||
GLsizei stride,
|
||||
const void *pointer);
|
||||
|
||||
// GL_OES_point_sprite
|
||||
|
||||
// GL_OES_query_matrix
|
||||
bool ValidateQueryMatrixxOES(const Context *context,
|
||||
const GLfixed *mantissa,
|
||||
const GLint *exponent);
|
||||
|
||||
// GL_OES_rgb8_rgba8
|
||||
|
||||
// GL_OES_sample_shading
|
||||
bool ValidateMinSampleShadingOES(const Context *context, GLfloat value);
|
||||
|
||||
// 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
|
||||
bool ValidateCompressedTexImage3DOES(const Context *context,
|
||||
TextureTarget targetPacked,
|
||||
|
@ -1859,6 +1945,8 @@ bool ValidateTexBufferRangeOES(const Context *context,
|
|||
GLintptr offset,
|
||||
GLsizeiptr size);
|
||||
|
||||
// GL_OES_texture_compression_astc
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
bool ValidateGetTexGenfvOES(const Context *context,
|
||||
GLenum coord,
|
||||
|
@ -1881,8 +1969,16 @@ bool ValidateTexGenxvOES(const Context *context, GLenum coord, GLenum pname, con
|
|||
|
||||
// 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
|
||||
|
@ -1905,6 +2001,10 @@ bool ValidateGenVertexArraysOES(const Context *context,
|
|||
const VertexArrayID *arraysPacked);
|
||||
bool ValidateIsVertexArrayOES(const Context *context, VertexArrayID arrayPacked);
|
||||
|
||||
// GL_OES_vertex_half_float
|
||||
|
||||
// GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
// GL_OVR_multiview
|
||||
bool ValidateFramebufferTextureMultiviewOVR(const Context *context,
|
||||
GLenum target,
|
||||
|
|
|
@ -276,6 +276,7 @@ libangle_headers = [
|
|||
"src/libANGLE/entry_points_utils.h",
|
||||
"src/libANGLE/features.h",
|
||||
"src/libANGLE/formatutils.h",
|
||||
"src/libANGLE/gles_extensions_autogen.h",
|
||||
"src/libANGLE/histogram_macros.h",
|
||||
"src/libANGLE/queryconversions.h",
|
||||
"src/libANGLE/queryutils.h",
|
||||
|
@ -400,6 +401,7 @@ libangle_sources = [
|
|||
"src/libANGLE/format_map_autogen.cpp",
|
||||
"src/libANGLE/format_map_desktop.cpp",
|
||||
"src/libANGLE/formatutils.cpp",
|
||||
"src/libANGLE/gles_extensions_autogen.cpp",
|
||||
"src/libANGLE/queryconversions.cpp",
|
||||
"src/libANGLE/queryutils.cpp",
|
||||
"src/libANGLE/renderer/BufferImpl.cpp",
|
||||
|
|
|
@ -298,6 +298,8 @@ void GL_APIENTRY GL_CopySubTexture3DANGLE(GLuint sourceId,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_ANGLE_depth_texture
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
void GL_APIENTRY GL_BlitFramebufferANGLE(GLint srcX0,
|
||||
GLint srcY0,
|
||||
|
@ -942,6 +944,8 @@ void GL_APIENTRY GL_MultiDrawElementsInstancedANGLE(GLenum mode,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
// GL_ANGLE_program_binary
|
||||
|
||||
// GL_ANGLE_provoking_vertex
|
||||
|
@ -3231,6 +3235,10 @@ void GL_APIENTRY GL_ImportSemaphoreZirconHandleANGLE(GLuint semaphore,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
// GL_ANGLE_texture_external_update
|
||||
void GL_APIENTRY GL_TexImage2DExternalANGLE(GLenum target,
|
||||
GLint level,
|
||||
|
@ -3384,6 +3392,8 @@ void GL_APIENTRY GL_SampleMaskiANGLE(GLuint maskNumber, GLbitfield mask)
|
|||
|
||||
// GetTexLevelParameterivANGLE is already defined.
|
||||
|
||||
// GL_ANGLE_texture_usage
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
void GL_APIENTRY GL_GetTranslatedShaderSourceANGLE(GLuint shader,
|
||||
GLsizei bufsize,
|
||||
|
@ -3416,6 +3426,23 @@ void GL_APIENTRY GL_GetTranslatedShaderSourceANGLE(GLuint shader,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_APPLE_clip_distance
|
||||
|
||||
// GL_ARB_sync
|
||||
// ClientWaitSync is already defined.
|
||||
|
||||
// DeleteSync is already defined.
|
||||
|
||||
// FenceSync is already defined.
|
||||
|
||||
// GetInteger64v is already defined.
|
||||
|
||||
// GetSynciv is already defined.
|
||||
|
||||
// IsSync is already defined.
|
||||
|
||||
// WaitSync is already defined.
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
void GL_APIENTRY GL_BindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name)
|
||||
{
|
||||
|
@ -3813,6 +3840,8 @@ GLint GL_APIENTRY GL_GetProgramResourceLocationIndexEXT(GLuint program,
|
|||
return returnValue;
|
||||
}
|
||||
|
||||
// GL_EXT_blend_minmax
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
void GL_APIENTRY GL_BufferStorageEXT(GLenum target,
|
||||
GLsizeiptr size,
|
||||
|
@ -3869,6 +3898,12 @@ void GL_APIENTRY GL_ClipControlEXT(GLenum origin, GLenum depth)
|
|||
}
|
||||
}
|
||||
|
||||
// GL_EXT_clip_cull_distance
|
||||
|
||||
// GL_EXT_color_buffer_float
|
||||
|
||||
// GL_EXT_color_buffer_half_float
|
||||
|
||||
// GL_EXT_copy_image
|
||||
void GL_APIENTRY GL_CopyImageSubDataEXT(GLuint srcName,
|
||||
GLenum srcTarget,
|
||||
|
@ -4817,6 +4852,8 @@ void GL_APIENTRY GL_NamedBufferStorageExternalEXT(GLuint buffer,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_EXT_float_blend
|
||||
|
||||
// GL_EXT_geometry_shader
|
||||
void GL_APIENTRY GL_FramebufferTextureEXT(GLenum target,
|
||||
GLenum attachment,
|
||||
|
@ -4849,6 +4886,8 @@ void GL_APIENTRY GL_FramebufferTextureEXT(GLenum target,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_EXT_gpu_shader5
|
||||
|
||||
// GL_EXT_instanced_arrays
|
||||
void GL_APIENTRY GL_DrawArraysInstancedEXT(GLenum mode,
|
||||
GLint start,
|
||||
|
@ -7258,6 +7297,12 @@ void GL_APIENTRY GL_FramebufferFetchBarrierEXT()
|
|||
|
||||
// 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
|
||||
void GL_APIENTRY GL_PatchParameteriEXT(GLenum pname, GLint value)
|
||||
{
|
||||
|
@ -7570,10 +7615,18 @@ void GL_APIENTRY GL_TexBufferRangeEXT(GLenum target,
|
|||
|
||||
// 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 GL_APIENTRY GL_TexStorage1DEXT(GLenum target,
|
||||
GLsizei levels,
|
||||
|
@ -7670,6 +7723,10 @@ void GL_APIENTRY GL_TexStorage3DEXT(GLenum target,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
// GL_EXT_unpack_subimage
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -8019,6 +8076,8 @@ void GL_APIENTRY GL_PushDebugGroupKHR(GLenum source,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_KHR_no_error
|
||||
|
||||
// GL_KHR_parallel_shader_compile
|
||||
void GL_APIENTRY GL_MaxShaderCompilerThreadsKHR(GLuint count)
|
||||
{
|
||||
|
@ -8042,6 +8101,8 @@ void GL_APIENTRY GL_MaxShaderCompilerThreadsKHR(GLuint count)
|
|||
}
|
||||
}
|
||||
|
||||
// GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
// GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
// GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -8267,6 +8328,16 @@ void GL_APIENTRY GL_BlitFramebufferNV(GLint srcX0,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_NV_pixel_buffer_object
|
||||
|
||||
// GL_NV_read_depth
|
||||
|
||||
// GL_NV_read_stencil
|
||||
|
||||
// GL_NV_robustness_video_memory_purge
|
||||
|
||||
// GL_NV_shader_noperspective_interpolation
|
||||
|
||||
// GL_OES_EGL_image
|
||||
void GL_APIENTRY GL_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
|
||||
{
|
||||
|
@ -8317,6 +8388,10 @@ void GL_APIENTRY GL_EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES imag
|
|||
}
|
||||
}
|
||||
|
||||
// GL_OES_EGL_image_external
|
||||
|
||||
// GL_OES_EGL_image_external_essl3
|
||||
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
// GL_OES_copy_image
|
||||
|
@ -8370,8 +8445,12 @@ void GL_APIENTRY GL_CopyImageSubDataOES(GLuint srcName,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_OES_depth24
|
||||
|
||||
// GL_OES_depth32
|
||||
|
||||
// GL_OES_depth_texture
|
||||
|
||||
// GL_OES_draw_buffers_indexed
|
||||
void GL_APIENTRY GL_BlendEquationSeparateiOES(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
|
||||
{
|
||||
|
@ -8868,6 +8947,10 @@ void GL_APIENTRY GL_DrawTexxvOES(const GLfixed *coords)
|
|||
}
|
||||
}
|
||||
|
||||
// GL_OES_element_index_uint
|
||||
|
||||
// GL_OES_fbo_render_mipmap
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
void GL_APIENTRY GL_BindFramebufferOES(GLenum target, GLuint framebuffer)
|
||||
{
|
||||
|
@ -9576,6 +9659,8 @@ void GL_APIENTRY GL_WeightPointerOES(GLint size, GLenum type, GLsizei stride, co
|
|||
}
|
||||
}
|
||||
|
||||
// GL_OES_packed_depth_stencil
|
||||
|
||||
// GL_OES_point_size_array
|
||||
void GL_APIENTRY GL_PointSizePointerOES(GLenum type, GLsizei stride, const void *pointer)
|
||||
{
|
||||
|
@ -9602,6 +9687,8 @@ void GL_APIENTRY GL_PointSizePointerOES(GLenum type, GLsizei stride, const void
|
|||
}
|
||||
}
|
||||
|
||||
// GL_OES_point_sprite
|
||||
|
||||
// GL_OES_query_matrix
|
||||
GLbitfield GL_APIENTRY GL_QueryMatrixxOES(GLfixed *mantissa, GLint *exponent)
|
||||
{
|
||||
|
@ -9634,6 +9721,8 @@ GLbitfield GL_APIENTRY GL_QueryMatrixxOES(GLfixed *mantissa, GLint *exponent)
|
|||
return returnValue;
|
||||
}
|
||||
|
||||
// GL_OES_rgb8_rgba8
|
||||
|
||||
// GL_OES_sample_shading
|
||||
void GL_APIENTRY GL_MinSampleShadingOES(GLfloat value)
|
||||
{
|
||||
|
@ -9657,8 +9746,18 @@ void GL_APIENTRY GL_MinSampleShadingOES(GLfloat value)
|
|||
}
|
||||
}
|
||||
|
||||
// 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 GL_APIENTRY GL_CompressedTexImage3DOES(GLenum target,
|
||||
GLint level,
|
||||
|
@ -10174,6 +10273,8 @@ void GL_APIENTRY GL_TexBufferRangeOES(GLenum target,
|
|||
}
|
||||
}
|
||||
|
||||
// GL_OES_texture_compression_astc
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
void GL_APIENTRY GL_GetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params)
|
||||
{
|
||||
|
@ -10399,8 +10500,16 @@ void GL_APIENTRY GL_TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *param
|
|||
|
||||
// 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
|
||||
|
@ -10544,6 +10653,10 @@ GLboolean GL_APIENTRY GL_IsVertexArrayOES(GLuint array)
|
|||
return returnValue;
|
||||
}
|
||||
|
||||
// GL_OES_vertex_half_float
|
||||
|
||||
// GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
// GL_OVR_multiview
|
||||
void GL_APIENTRY GL_FramebufferTextureMultiviewOVR(GLenum target,
|
||||
GLenum attachment,
|
||||
|
|
|
@ -80,6 +80,8 @@ ANGLE_EXPORT void GL_APIENTRY GL_CopySubTexture3DANGLE(GLuint sourceId,
|
|||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
|
||||
// GL_ANGLE_depth_texture
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_BlitFramebufferANGLE(GLint srcX0,
|
||||
GLint srcY0,
|
||||
|
@ -201,6 +203,8 @@ ANGLE_EXPORT void GL_APIENTRY GL_MultiDrawElementsInstancedANGLE(GLenum mode,
|
|||
const GLsizei *instanceCounts,
|
||||
GLsizei drawcount);
|
||||
|
||||
// GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
// GL_ANGLE_program_binary
|
||||
|
||||
// GL_ANGLE_provoking_vertex
|
||||
|
@ -586,6 +590,10 @@ ANGLE_EXPORT void GL_APIENTRY GL_ImportSemaphoreZirconHandleANGLE(GLuint semapho
|
|||
GLenum handleType,
|
||||
GLuint handle);
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
// GL_ANGLE_texture_external_update
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_TexImage2DExternalANGLE(GLenum target,
|
||||
GLint level,
|
||||
|
@ -607,12 +615,18 @@ ANGLE_EXPORT void GL_APIENTRY GL_TexStorage2DMultisampleANGLE(GLenum target,
|
|||
ANGLE_EXPORT void GL_APIENTRY GL_GetMultisamplefvANGLE(GLenum pname, GLuint index, GLfloat *val);
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_SampleMaskiANGLE(GLuint maskNumber, GLbitfield mask);
|
||||
|
||||
// GL_ANGLE_texture_usage
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_GetTranslatedShaderSourceANGLE(GLuint shader,
|
||||
GLsizei bufsize,
|
||||
GLsizei *length,
|
||||
GLchar *source);
|
||||
|
||||
// GL_APPLE_clip_distance
|
||||
|
||||
// GL_ARB_sync
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_BindUniformLocationCHROMIUM(GLuint program,
|
||||
GLint location,
|
||||
|
@ -678,6 +692,8 @@ ANGLE_EXPORT GLint GL_APIENTRY GL_GetProgramResourceLocationIndexEXT(GLuint prog
|
|||
GLenum programInterface,
|
||||
const GLchar *name);
|
||||
|
||||
// GL_EXT_blend_minmax
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_BufferStorageEXT(GLenum target,
|
||||
GLsizeiptr size,
|
||||
|
@ -687,6 +703,12 @@ ANGLE_EXPORT void GL_APIENTRY GL_BufferStorageEXT(GLenum target,
|
|||
// GL_EXT_clip_control
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_ClipControlEXT(GLenum origin, GLenum depth);
|
||||
|
||||
// GL_EXT_clip_cull_distance
|
||||
|
||||
// GL_EXT_color_buffer_float
|
||||
|
||||
// GL_EXT_color_buffer_half_float
|
||||
|
||||
// GL_EXT_copy_image
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_CopyImageSubDataEXT(GLuint srcName,
|
||||
GLenum srcTarget,
|
||||
|
@ -794,12 +816,16 @@ ANGLE_EXPORT void GL_APIENTRY GL_NamedBufferStorageExternalEXT(GLuint buffer,
|
|||
GLeglClientBufferEXT clientBuffer,
|
||||
GLbitfield flags);
|
||||
|
||||
// GL_EXT_float_blend
|
||||
|
||||
// GL_EXT_geometry_shader
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_FramebufferTextureEXT(GLenum target,
|
||||
GLenum attachment,
|
||||
GLuint texture,
|
||||
GLint level);
|
||||
|
||||
// GL_EXT_gpu_shader5
|
||||
|
||||
// GL_EXT_instanced_arrays
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_DrawArraysInstancedEXT(GLenum mode,
|
||||
GLint start,
|
||||
|
@ -1109,6 +1135,12 @@ ANGLE_EXPORT void GL_APIENTRY GL_FramebufferFetchBarrierEXT();
|
|||
|
||||
// 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
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_PatchParameteriEXT(GLenum pname, GLint value);
|
||||
|
||||
|
@ -1160,10 +1192,18 @@ ANGLE_EXPORT void GL_APIENTRY GL_TexBufferRangeEXT(GLenum target,
|
|||
|
||||
// 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
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_TexStorage1DEXT(GLenum target,
|
||||
GLsizei levels,
|
||||
|
@ -1181,6 +1221,10 @@ ANGLE_EXPORT void GL_APIENTRY GL_TexStorage3DEXT(GLenum target,
|
|||
GLsizei height,
|
||||
GLsizei depth);
|
||||
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
// GL_EXT_unpack_subimage
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -1234,9 +1278,13 @@ ANGLE_EXPORT void GL_APIENTRY GL_PushDebugGroupKHR(GLenum source,
|
|||
GLsizei length,
|
||||
const GLchar *message);
|
||||
|
||||
// GL_KHR_no_error
|
||||
|
||||
// GL_KHR_parallel_shader_compile
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_MaxShaderCompilerThreadsKHR(GLuint count);
|
||||
|
||||
// GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
// GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
// GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -1264,11 +1312,25 @@ ANGLE_EXPORT void GL_APIENTRY GL_BlitFramebufferNV(GLint srcX0,
|
|||
GLbitfield mask,
|
||||
GLenum filter);
|
||||
|
||||
// GL_NV_pixel_buffer_object
|
||||
|
||||
// GL_NV_read_depth
|
||||
|
||||
// GL_NV_read_stencil
|
||||
|
||||
// GL_NV_robustness_video_memory_purge
|
||||
|
||||
// GL_NV_shader_noperspective_interpolation
|
||||
|
||||
// GL_OES_EGL_image
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_EGLImageTargetRenderbufferStorageOES(GLenum target,
|
||||
GLeglImageOES image);
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
|
||||
|
||||
// GL_OES_EGL_image_external
|
||||
|
||||
// GL_OES_EGL_image_external_essl3
|
||||
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
// GL_OES_copy_image
|
||||
|
@ -1288,8 +1350,12 @@ ANGLE_EXPORT void GL_APIENTRY GL_CopyImageSubDataOES(GLuint srcName,
|
|||
GLsizei srcHeight,
|
||||
GLsizei srcDepth);
|
||||
|
||||
// GL_OES_depth24
|
||||
|
||||
// GL_OES_depth32
|
||||
|
||||
// GL_OES_depth_texture
|
||||
|
||||
// GL_OES_draw_buffers_indexed
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_BlendEquationSeparateiOES(GLuint buf,
|
||||
GLenum modeRGB,
|
||||
|
@ -1340,6 +1406,10 @@ ANGLE_EXPORT void GL_APIENTRY
|
|||
GL_DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_DrawTexxvOES(const GLfixed *coords);
|
||||
|
||||
// GL_OES_element_index_uint
|
||||
|
||||
// GL_OES_fbo_render_mipmap
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_BindFramebufferOES(GLenum target, GLuint framebuffer);
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_BindRenderbufferOES(GLenum target, GLuint renderbuffer);
|
||||
|
@ -1406,19 +1476,35 @@ ANGLE_EXPORT void GL_APIENTRY GL_WeightPointerOES(GLint size,
|
|||
GLsizei stride,
|
||||
const void *pointer);
|
||||
|
||||
// GL_OES_packed_depth_stencil
|
||||
|
||||
// GL_OES_point_size_array
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_PointSizePointerOES(GLenum type,
|
||||
GLsizei stride,
|
||||
const void *pointer);
|
||||
|
||||
// GL_OES_point_sprite
|
||||
|
||||
// GL_OES_query_matrix
|
||||
ANGLE_EXPORT GLbitfield GL_APIENTRY GL_QueryMatrixxOES(GLfixed *mantissa, GLint *exponent);
|
||||
|
||||
// GL_OES_rgb8_rgba8
|
||||
|
||||
// GL_OES_sample_shading
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_MinSampleShadingOES(GLfloat value);
|
||||
|
||||
// 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
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_CompressedTexImage3DOES(GLenum target,
|
||||
GLint level,
|
||||
|
@ -1509,6 +1595,8 @@ ANGLE_EXPORT void GL_APIENTRY GL_TexBufferRangeOES(GLenum target,
|
|||
GLintptr offset,
|
||||
GLsizeiptr size);
|
||||
|
||||
// GL_OES_texture_compression_astc
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_GetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params);
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_GetTexGenivOES(GLenum coord, GLenum pname, GLint *params);
|
||||
|
@ -1522,8 +1610,16 @@ ANGLE_EXPORT void GL_APIENTRY GL_TexGenxvOES(GLenum coord, GLenum pname, const G
|
|||
|
||||
// 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
|
||||
|
@ -1541,6 +1637,10 @@ ANGLE_EXPORT void GL_APIENTRY GL_DeleteVertexArraysOES(GLsizei n, const GLuint *
|
|||
ANGLE_EXPORT void GL_APIENTRY GL_GenVertexArraysOES(GLsizei n, GLuint *arrays);
|
||||
ANGLE_EXPORT GLboolean GL_APIENTRY GL_IsVertexArrayOES(GLuint array);
|
||||
|
||||
// GL_OES_vertex_half_float
|
||||
|
||||
// GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
// GL_OVR_multiview
|
||||
ANGLE_EXPORT void GL_APIENTRY GL_FramebufferTextureMultiviewOVR(GLenum target,
|
||||
GLenum attachment,
|
||||
|
|
|
@ -2800,6 +2800,8 @@ void GL_APIENTRY glCopySubTexture3DANGLE(GLuint sourceId,
|
|||
unpackPremultiplyAlpha, unpackUnmultiplyAlpha);
|
||||
}
|
||||
|
||||
// GL_ANGLE_depth_texture
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
void GL_APIENTRY glBlitFramebufferANGLE(GLint srcX0,
|
||||
GLint srcY0,
|
||||
|
@ -2991,6 +2993,8 @@ void GL_APIENTRY glMultiDrawElementsInstancedANGLE(GLenum mode,
|
|||
drawcount);
|
||||
}
|
||||
|
||||
// GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
// GL_ANGLE_program_binary
|
||||
|
||||
// GL_ANGLE_provoking_vertex
|
||||
|
@ -3658,6 +3662,10 @@ void GL_APIENTRY glImportSemaphoreZirconHandleANGLE(GLuint semaphore,
|
|||
return GL_ImportSemaphoreZirconHandleANGLE(semaphore, handleType, handle);
|
||||
}
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
// GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
// GL_ANGLE_texture_external_update
|
||||
void GL_APIENTRY glTexImage2DExternalANGLE(GLenum target,
|
||||
GLint level,
|
||||
|
@ -3699,6 +3707,8 @@ void GL_APIENTRY glSampleMaskiANGLE(GLuint maskNumber, GLbitfield mask)
|
|||
return GL_SampleMaskiANGLE(maskNumber, mask);
|
||||
}
|
||||
|
||||
// GL_ANGLE_texture_usage
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
void GL_APIENTRY glGetTranslatedShaderSourceANGLE(GLuint shader,
|
||||
GLsizei bufsize,
|
||||
|
@ -3708,6 +3718,10 @@ void GL_APIENTRY glGetTranslatedShaderSourceANGLE(GLuint shader,
|
|||
return GL_GetTranslatedShaderSourceANGLE(shader, bufsize, length, source);
|
||||
}
|
||||
|
||||
// GL_APPLE_clip_distance
|
||||
|
||||
// GL_ARB_sync
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
void GL_APIENTRY glBindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name)
|
||||
{
|
||||
|
@ -3814,6 +3828,8 @@ GLint GL_APIENTRY glGetProgramResourceLocationIndexEXT(GLuint program,
|
|||
return GL_GetProgramResourceLocationIndexEXT(program, programInterface, name);
|
||||
}
|
||||
|
||||
// GL_EXT_blend_minmax
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
void GL_APIENTRY glBufferStorageEXT(GLenum target,
|
||||
GLsizeiptr size,
|
||||
|
@ -3829,6 +3845,12 @@ void GL_APIENTRY glClipControlEXT(GLenum origin, GLenum depth)
|
|||
return GL_ClipControlEXT(origin, depth);
|
||||
}
|
||||
|
||||
// GL_EXT_clip_cull_distance
|
||||
|
||||
// GL_EXT_color_buffer_float
|
||||
|
||||
// GL_EXT_color_buffer_half_float
|
||||
|
||||
// GL_EXT_copy_image
|
||||
void GL_APIENTRY glCopyImageSubDataEXT(GLuint srcName,
|
||||
GLenum srcTarget,
|
||||
|
@ -4057,6 +4079,8 @@ void GL_APIENTRY glNamedBufferStorageExternalEXT(GLuint buffer,
|
|||
return GL_NamedBufferStorageExternalEXT(buffer, offset, size, clientBuffer, flags);
|
||||
}
|
||||
|
||||
// GL_EXT_float_blend
|
||||
|
||||
// GL_EXT_geometry_shader
|
||||
void GL_APIENTRY glFramebufferTextureEXT(GLenum target,
|
||||
GLenum attachment,
|
||||
|
@ -4066,6 +4090,8 @@ void GL_APIENTRY glFramebufferTextureEXT(GLenum target,
|
|||
return GL_FramebufferTextureEXT(target, attachment, texture, level);
|
||||
}
|
||||
|
||||
// GL_EXT_gpu_shader5
|
||||
|
||||
// GL_EXT_instanced_arrays
|
||||
void GL_APIENTRY glDrawArraysInstancedEXT(GLenum mode,
|
||||
GLint start,
|
||||
|
@ -4652,6 +4678,12 @@ void GL_APIENTRY glFramebufferFetchBarrierEXT()
|
|||
|
||||
// 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
|
||||
void GL_APIENTRY glPatchParameteriEXT(GLenum pname, GLint value)
|
||||
{
|
||||
|
@ -4730,10 +4762,18 @@ void GL_APIENTRY glTexBufferRangeEXT(GLenum target,
|
|||
|
||||
// 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 GL_APIENTRY glTexStorage1DEXT(GLenum target,
|
||||
GLsizei levels,
|
||||
|
@ -4762,6 +4802,10 @@ void GL_APIENTRY glTexStorage3DEXT(GLenum target,
|
|||
return GL_TexStorage3DEXT(target, levels, internalformat, width, height, depth);
|
||||
}
|
||||
|
||||
// GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
// GL_EXT_unpack_subimage
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc
|
||||
|
||||
// GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -4856,12 +4900,16 @@ void GL_APIENTRY glPushDebugGroupKHR(GLenum source,
|
|||
return GL_PushDebugGroupKHR(source, id, length, message);
|
||||
}
|
||||
|
||||
// GL_KHR_no_error
|
||||
|
||||
// GL_KHR_parallel_shader_compile
|
||||
void GL_APIENTRY glMaxShaderCompilerThreadsKHR(GLuint count)
|
||||
{
|
||||
return GL_MaxShaderCompilerThreadsKHR(count);
|
||||
}
|
||||
|
||||
// GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
// GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
// GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -4920,6 +4968,16 @@ void GL_APIENTRY glBlitFramebufferNV(GLint srcX0,
|
|||
filter);
|
||||
}
|
||||
|
||||
// GL_NV_pixel_buffer_object
|
||||
|
||||
// GL_NV_read_depth
|
||||
|
||||
// GL_NV_read_stencil
|
||||
|
||||
// GL_NV_robustness_video_memory_purge
|
||||
|
||||
// GL_NV_shader_noperspective_interpolation
|
||||
|
||||
// GL_OES_EGL_image
|
||||
void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
|
||||
{
|
||||
|
@ -4931,6 +4989,10 @@ void GL_APIENTRY glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image
|
|||
return GL_EGLImageTargetTexture2DOES(target, image);
|
||||
}
|
||||
|
||||
// GL_OES_EGL_image_external
|
||||
|
||||
// GL_OES_EGL_image_external_essl3
|
||||
|
||||
// GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
// GL_OES_copy_image
|
||||
|
@ -4955,8 +5017,12 @@ void GL_APIENTRY glCopyImageSubDataOES(GLuint srcName,
|
|||
srcDepth);
|
||||
}
|
||||
|
||||
// GL_OES_depth24
|
||||
|
||||
// GL_OES_depth32
|
||||
|
||||
// GL_OES_depth_texture
|
||||
|
||||
// GL_OES_draw_buffers_indexed
|
||||
void GL_APIENTRY glBlendEquationSeparateiOES(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
|
||||
{
|
||||
|
@ -5072,6 +5138,10 @@ void GL_APIENTRY glDrawTexxvOES(const GLfixed *coords)
|
|||
return GL_DrawTexxvOES(coords);
|
||||
}
|
||||
|
||||
// GL_OES_element_index_uint
|
||||
|
||||
// GL_OES_fbo_render_mipmap
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
void GL_APIENTRY glBindFramebufferOES(GLenum target, GLuint framebuffer)
|
||||
{
|
||||
|
@ -5228,26 +5298,42 @@ void GL_APIENTRY glWeightPointerOES(GLint size, GLenum type, GLsizei stride, con
|
|||
return GL_WeightPointerOES(size, type, stride, pointer);
|
||||
}
|
||||
|
||||
// GL_OES_packed_depth_stencil
|
||||
|
||||
// GL_OES_point_size_array
|
||||
void GL_APIENTRY glPointSizePointerOES(GLenum type, GLsizei stride, const void *pointer)
|
||||
{
|
||||
return GL_PointSizePointerOES(type, stride, pointer);
|
||||
}
|
||||
|
||||
// GL_OES_point_sprite
|
||||
|
||||
// GL_OES_query_matrix
|
||||
GLbitfield GL_APIENTRY glQueryMatrixxOES(GLfixed *mantissa, GLint *exponent)
|
||||
{
|
||||
return GL_QueryMatrixxOES(mantissa, exponent);
|
||||
}
|
||||
|
||||
// GL_OES_rgb8_rgba8
|
||||
|
||||
// GL_OES_sample_shading
|
||||
void GL_APIENTRY glMinSampleShadingOES(GLfloat value)
|
||||
{
|
||||
return GL_MinSampleShadingOES(value);
|
||||
}
|
||||
|
||||
// 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 GL_APIENTRY glCompressedTexImage3DOES(GLenum target,
|
||||
GLint level,
|
||||
|
@ -5389,6 +5475,8 @@ void GL_APIENTRY glTexBufferRangeOES(GLenum target,
|
|||
return GL_TexBufferRangeOES(target, internalformat, buffer, offset, size);
|
||||
}
|
||||
|
||||
// GL_OES_texture_compression_astc
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
void GL_APIENTRY glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params)
|
||||
{
|
||||
|
@ -5437,8 +5525,16 @@ void GL_APIENTRY glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params
|
|||
|
||||
// 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
|
||||
|
@ -5475,6 +5571,10 @@ GLboolean GL_APIENTRY glIsVertexArrayOES(GLuint array)
|
|||
return GL_IsVertexArrayOES(array);
|
||||
}
|
||||
|
||||
// GL_OES_vertex_half_float
|
||||
|
||||
// GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
// GL_OVR_multiview
|
||||
void GL_APIENTRY glFramebufferTextureMultiviewOVR(GLenum target,
|
||||
GLenum attachment,
|
||||
|
|
|
@ -470,6 +470,8 @@ EXPORTS
|
|||
glCopySubTexture3DANGLE
|
||||
glCopyTexture3DANGLE
|
||||
|
||||
; GL_ANGLE_depth_texture
|
||||
|
||||
; GL_ANGLE_framebuffer_blit
|
||||
glBlitFramebufferANGLE
|
||||
|
||||
|
@ -504,6 +506,8 @@ EXPORTS
|
|||
glMultiDrawElementsANGLE
|
||||
glMultiDrawElementsInstancedANGLE
|
||||
|
||||
; GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
; GL_ANGLE_program_binary
|
||||
|
||||
; GL_ANGLE_provoking_vertex
|
||||
|
@ -582,6 +586,10 @@ EXPORTS
|
|||
; GL_ANGLE_semaphore_fuchsia
|
||||
glImportSemaphoreZirconHandleANGLE
|
||||
|
||||
; GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
; GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
; GL_ANGLE_texture_external_update
|
||||
glInvalidateTextureANGLE
|
||||
glTexImage2DExternalANGLE
|
||||
|
@ -591,9 +599,15 @@ EXPORTS
|
|||
glSampleMaskiANGLE
|
||||
glTexStorage2DMultisampleANGLE
|
||||
|
||||
; GL_ANGLE_texture_usage
|
||||
|
||||
; GL_ANGLE_translated_shader_source
|
||||
glGetTranslatedShaderSourceANGLE
|
||||
|
||||
; GL_APPLE_clip_distance
|
||||
|
||||
; GL_ARB_sync
|
||||
|
||||
; GL_CHROMIUM_bind_uniform_location
|
||||
glBindUniformLocationCHROMIUM
|
||||
|
||||
|
@ -624,12 +638,20 @@ EXPORTS
|
|||
glGetFragDataIndexEXT
|
||||
glGetProgramResourceLocationIndexEXT
|
||||
|
||||
; GL_EXT_blend_minmax
|
||||
|
||||
; GL_EXT_buffer_storage
|
||||
glBufferStorageEXT
|
||||
|
||||
; GL_EXT_clip_control
|
||||
glClipControlEXT
|
||||
|
||||
; GL_EXT_clip_cull_distance
|
||||
|
||||
; GL_EXT_color_buffer_float
|
||||
|
||||
; GL_EXT_color_buffer_half_float
|
||||
|
||||
; GL_EXT_copy_image
|
||||
glCopyImageSubDataEXT
|
||||
|
||||
|
@ -682,9 +704,13 @@ EXPORTS
|
|||
glBufferStorageExternalEXT
|
||||
glNamedBufferStorageExternalEXT
|
||||
|
||||
; GL_EXT_float_blend
|
||||
|
||||
; GL_EXT_geometry_shader
|
||||
glFramebufferTextureEXT
|
||||
|
||||
; GL_EXT_gpu_shader5
|
||||
|
||||
; GL_EXT_instanced_arrays
|
||||
glDrawArraysInstancedEXT
|
||||
glDrawElementsInstancedEXT
|
||||
|
@ -799,6 +825,12 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
glPatchParameteriEXT
|
||||
|
||||
|
@ -832,15 +864,27 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
glTexStorage1DEXT
|
||||
glTexStorage2DEXT
|
||||
glTexStorage3DEXT
|
||||
|
||||
; GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
; GL_EXT_unpack_subimage
|
||||
|
||||
; GL_IMG_texture_compression_pvrtc
|
||||
|
||||
; GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -861,9 +905,13 @@ EXPORTS
|
|||
glPopDebugGroupKHR
|
||||
glPushDebugGroupKHR
|
||||
|
||||
; GL_KHR_no_error
|
||||
|
||||
; GL_KHR_parallel_shader_compile
|
||||
glMaxShaderCompilerThreadsKHR
|
||||
|
||||
; GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
; GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
; GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -882,17 +930,35 @@ EXPORTS
|
|||
; GL_NV_framebuffer_blit
|
||||
glBlitFramebufferNV
|
||||
|
||||
; GL_NV_pixel_buffer_object
|
||||
|
||||
; GL_NV_read_depth
|
||||
|
||||
; GL_NV_read_stencil
|
||||
|
||||
; GL_NV_robustness_video_memory_purge
|
||||
|
||||
; GL_NV_shader_noperspective_interpolation
|
||||
|
||||
; GL_OES_EGL_image
|
||||
glEGLImageTargetRenderbufferStorageOES
|
||||
glEGLImageTargetTexture2DOES
|
||||
|
||||
; GL_OES_EGL_image_external
|
||||
|
||||
; GL_OES_EGL_image_external_essl3
|
||||
|
||||
; GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
; GL_OES_copy_image
|
||||
glCopyImageSubDataOES
|
||||
|
||||
; GL_OES_depth24
|
||||
|
||||
; GL_OES_depth32
|
||||
|
||||
; GL_OES_depth_texture
|
||||
|
||||
; GL_OES_draw_buffers_indexed
|
||||
glBlendEquationSeparateiOES
|
||||
glBlendEquationiOES
|
||||
|
@ -918,6 +984,10 @@ EXPORTS
|
|||
glDrawTexxOES
|
||||
glDrawTexxvOES
|
||||
|
||||
; GL_OES_element_index_uint
|
||||
|
||||
; GL_OES_fbo_render_mipmap
|
||||
|
||||
; GL_OES_framebuffer_object
|
||||
glBindFramebufferOES
|
||||
glBindRenderbufferOES
|
||||
|
@ -953,17 +1023,33 @@ EXPORTS
|
|||
glMatrixIndexPointerOES
|
||||
glWeightPointerOES
|
||||
|
||||
; GL_OES_packed_depth_stencil
|
||||
|
||||
; GL_OES_point_size_array
|
||||
glPointSizePointerOES
|
||||
|
||||
; GL_OES_point_sprite
|
||||
|
||||
; GL_OES_query_matrix
|
||||
glQueryMatrixxOES
|
||||
|
||||
; GL_OES_rgb8_rgba8
|
||||
|
||||
; GL_OES_sample_shading
|
||||
glMinSampleShadingOES
|
||||
|
||||
; 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
|
||||
glCompressedTexImage3DOES
|
||||
glCompressedTexSubImage3DOES
|
||||
|
@ -986,6 +1072,8 @@ EXPORTS
|
|||
glTexBufferOES
|
||||
glTexBufferRangeOES
|
||||
|
||||
; GL_OES_texture_compression_astc
|
||||
|
||||
; GL_OES_texture_cube_map
|
||||
glGetTexGenfvOES
|
||||
glGetTexGenivOES
|
||||
|
@ -999,8 +1087,16 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
|
@ -1012,6 +1108,10 @@ EXPORTS
|
|||
glGenVertexArraysOES
|
||||
glIsVertexArrayOES
|
||||
|
||||
; GL_OES_vertex_half_float
|
||||
|
||||
; GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
; GL_OVR_multiview
|
||||
glFramebufferTextureMultiviewOVR
|
||||
|
||||
|
|
|
@ -470,6 +470,8 @@ EXPORTS
|
|||
glCopySubTexture3DANGLE
|
||||
glCopyTexture3DANGLE
|
||||
|
||||
; GL_ANGLE_depth_texture
|
||||
|
||||
; GL_ANGLE_framebuffer_blit
|
||||
glBlitFramebufferANGLE
|
||||
|
||||
|
@ -504,6 +506,8 @@ EXPORTS
|
|||
glMultiDrawElementsANGLE
|
||||
glMultiDrawElementsInstancedANGLE
|
||||
|
||||
; GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
; GL_ANGLE_program_binary
|
||||
|
||||
; GL_ANGLE_provoking_vertex
|
||||
|
@ -582,6 +586,10 @@ EXPORTS
|
|||
; GL_ANGLE_semaphore_fuchsia
|
||||
glImportSemaphoreZirconHandleANGLE
|
||||
|
||||
; GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
; GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
; GL_ANGLE_texture_external_update
|
||||
glInvalidateTextureANGLE
|
||||
glTexImage2DExternalANGLE
|
||||
|
@ -591,9 +599,15 @@ EXPORTS
|
|||
glSampleMaskiANGLE
|
||||
glTexStorage2DMultisampleANGLE
|
||||
|
||||
; GL_ANGLE_texture_usage
|
||||
|
||||
; GL_ANGLE_translated_shader_source
|
||||
glGetTranslatedShaderSourceANGLE
|
||||
|
||||
; GL_APPLE_clip_distance
|
||||
|
||||
; GL_ARB_sync
|
||||
|
||||
; GL_CHROMIUM_bind_uniform_location
|
||||
glBindUniformLocationCHROMIUM
|
||||
|
||||
|
@ -624,12 +638,20 @@ EXPORTS
|
|||
glGetFragDataIndexEXT
|
||||
glGetProgramResourceLocationIndexEXT
|
||||
|
||||
; GL_EXT_blend_minmax
|
||||
|
||||
; GL_EXT_buffer_storage
|
||||
glBufferStorageEXT
|
||||
|
||||
; GL_EXT_clip_control
|
||||
glClipControlEXT
|
||||
|
||||
; GL_EXT_clip_cull_distance
|
||||
|
||||
; GL_EXT_color_buffer_float
|
||||
|
||||
; GL_EXT_color_buffer_half_float
|
||||
|
||||
; GL_EXT_copy_image
|
||||
glCopyImageSubDataEXT
|
||||
|
||||
|
@ -682,9 +704,13 @@ EXPORTS
|
|||
glBufferStorageExternalEXT
|
||||
glNamedBufferStorageExternalEXT
|
||||
|
||||
; GL_EXT_float_blend
|
||||
|
||||
; GL_EXT_geometry_shader
|
||||
glFramebufferTextureEXT
|
||||
|
||||
; GL_EXT_gpu_shader5
|
||||
|
||||
; GL_EXT_instanced_arrays
|
||||
glDrawArraysInstancedEXT
|
||||
glDrawElementsInstancedEXT
|
||||
|
@ -799,6 +825,12 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
glPatchParameteriEXT
|
||||
|
||||
|
@ -832,15 +864,27 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
glTexStorage1DEXT
|
||||
glTexStorage2DEXT
|
||||
glTexStorage3DEXT
|
||||
|
||||
; GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
; GL_EXT_unpack_subimage
|
||||
|
||||
; GL_IMG_texture_compression_pvrtc
|
||||
|
||||
; GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -861,9 +905,13 @@ EXPORTS
|
|||
glPopDebugGroupKHR
|
||||
glPushDebugGroupKHR
|
||||
|
||||
; GL_KHR_no_error
|
||||
|
||||
; GL_KHR_parallel_shader_compile
|
||||
glMaxShaderCompilerThreadsKHR
|
||||
|
||||
; GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
; GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
; GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -882,17 +930,35 @@ EXPORTS
|
|||
; GL_NV_framebuffer_blit
|
||||
glBlitFramebufferNV
|
||||
|
||||
; GL_NV_pixel_buffer_object
|
||||
|
||||
; GL_NV_read_depth
|
||||
|
||||
; GL_NV_read_stencil
|
||||
|
||||
; GL_NV_robustness_video_memory_purge
|
||||
|
||||
; GL_NV_shader_noperspective_interpolation
|
||||
|
||||
; GL_OES_EGL_image
|
||||
glEGLImageTargetRenderbufferStorageOES
|
||||
glEGLImageTargetTexture2DOES
|
||||
|
||||
; GL_OES_EGL_image_external
|
||||
|
||||
; GL_OES_EGL_image_external_essl3
|
||||
|
||||
; GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
; GL_OES_copy_image
|
||||
glCopyImageSubDataOES
|
||||
|
||||
; GL_OES_depth24
|
||||
|
||||
; GL_OES_depth32
|
||||
|
||||
; GL_OES_depth_texture
|
||||
|
||||
; GL_OES_draw_buffers_indexed
|
||||
glBlendEquationSeparateiOES
|
||||
glBlendEquationiOES
|
||||
|
@ -918,6 +984,10 @@ EXPORTS
|
|||
glDrawTexxOES
|
||||
glDrawTexxvOES
|
||||
|
||||
; GL_OES_element_index_uint
|
||||
|
||||
; GL_OES_fbo_render_mipmap
|
||||
|
||||
; GL_OES_framebuffer_object
|
||||
glBindFramebufferOES
|
||||
glBindRenderbufferOES
|
||||
|
@ -953,17 +1023,33 @@ EXPORTS
|
|||
glMatrixIndexPointerOES
|
||||
glWeightPointerOES
|
||||
|
||||
; GL_OES_packed_depth_stencil
|
||||
|
||||
; GL_OES_point_size_array
|
||||
glPointSizePointerOES
|
||||
|
||||
; GL_OES_point_sprite
|
||||
|
||||
; GL_OES_query_matrix
|
||||
glQueryMatrixxOES
|
||||
|
||||
; GL_OES_rgb8_rgba8
|
||||
|
||||
; GL_OES_sample_shading
|
||||
glMinSampleShadingOES
|
||||
|
||||
; 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
|
||||
glCompressedTexImage3DOES
|
||||
glCompressedTexSubImage3DOES
|
||||
|
@ -986,6 +1072,8 @@ EXPORTS
|
|||
glTexBufferOES
|
||||
glTexBufferRangeOES
|
||||
|
||||
; GL_OES_texture_compression_astc
|
||||
|
||||
; GL_OES_texture_cube_map
|
||||
glGetTexGenfvOES
|
||||
glGetTexGenivOES
|
||||
|
@ -999,8 +1087,16 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
|
@ -1012,6 +1108,10 @@ EXPORTS
|
|||
glGenVertexArraysOES
|
||||
glIsVertexArrayOES
|
||||
|
||||
; GL_OES_vertex_half_float
|
||||
|
||||
; GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
; GL_OVR_multiview
|
||||
glFramebufferTextureMultiviewOVR
|
||||
|
||||
|
|
|
@ -470,6 +470,8 @@ EXPORTS
|
|||
glCopySubTexture3DANGLE
|
||||
glCopyTexture3DANGLE
|
||||
|
||||
; GL_ANGLE_depth_texture
|
||||
|
||||
; GL_ANGLE_framebuffer_blit
|
||||
glBlitFramebufferANGLE
|
||||
|
||||
|
@ -504,6 +506,8 @@ EXPORTS
|
|||
glMultiDrawElementsANGLE
|
||||
glMultiDrawElementsInstancedANGLE
|
||||
|
||||
; GL_ANGLE_pack_reverse_row_order
|
||||
|
||||
; GL_ANGLE_program_binary
|
||||
|
||||
; GL_ANGLE_provoking_vertex
|
||||
|
@ -582,6 +586,10 @@ EXPORTS
|
|||
; GL_ANGLE_semaphore_fuchsia
|
||||
glImportSemaphoreZirconHandleANGLE
|
||||
|
||||
; GL_ANGLE_texture_compression_dxt3
|
||||
|
||||
; GL_ANGLE_texture_compression_dxt5
|
||||
|
||||
; GL_ANGLE_texture_external_update
|
||||
glInvalidateTextureANGLE
|
||||
glTexImage2DExternalANGLE
|
||||
|
@ -591,9 +599,15 @@ EXPORTS
|
|||
glSampleMaskiANGLE
|
||||
glTexStorage2DMultisampleANGLE
|
||||
|
||||
; GL_ANGLE_texture_usage
|
||||
|
||||
; GL_ANGLE_translated_shader_source
|
||||
glGetTranslatedShaderSourceANGLE
|
||||
|
||||
; GL_APPLE_clip_distance
|
||||
|
||||
; GL_ARB_sync
|
||||
|
||||
; GL_CHROMIUM_bind_uniform_location
|
||||
glBindUniformLocationCHROMIUM
|
||||
|
||||
|
@ -624,12 +638,20 @@ EXPORTS
|
|||
glGetFragDataIndexEXT
|
||||
glGetProgramResourceLocationIndexEXT
|
||||
|
||||
; GL_EXT_blend_minmax
|
||||
|
||||
; GL_EXT_buffer_storage
|
||||
glBufferStorageEXT
|
||||
|
||||
; GL_EXT_clip_control
|
||||
glClipControlEXT
|
||||
|
||||
; GL_EXT_clip_cull_distance
|
||||
|
||||
; GL_EXT_color_buffer_float
|
||||
|
||||
; GL_EXT_color_buffer_half_float
|
||||
|
||||
; GL_EXT_copy_image
|
||||
glCopyImageSubDataEXT
|
||||
|
||||
|
@ -682,9 +704,13 @@ EXPORTS
|
|||
glBufferStorageExternalEXT
|
||||
glNamedBufferStorageExternalEXT
|
||||
|
||||
; GL_EXT_float_blend
|
||||
|
||||
; GL_EXT_geometry_shader
|
||||
glFramebufferTextureEXT
|
||||
|
||||
; GL_EXT_gpu_shader5
|
||||
|
||||
; GL_EXT_instanced_arrays
|
||||
glDrawArraysInstancedEXT
|
||||
glDrawElementsInstancedEXT
|
||||
|
@ -799,6 +825,12 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
glPatchParameteriEXT
|
||||
|
||||
|
@ -832,15 +864,27 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
glTexStorage1DEXT
|
||||
glTexStorage2DEXT
|
||||
glTexStorage3DEXT
|
||||
|
||||
; GL_EXT_texture_type_2_10_10_10_REV
|
||||
|
||||
; GL_EXT_unpack_subimage
|
||||
|
||||
; GL_IMG_texture_compression_pvrtc
|
||||
|
||||
; GL_IMG_texture_compression_pvrtc2
|
||||
|
@ -861,9 +905,13 @@ EXPORTS
|
|||
glPopDebugGroupKHR
|
||||
glPushDebugGroupKHR
|
||||
|
||||
; GL_KHR_no_error
|
||||
|
||||
; GL_KHR_parallel_shader_compile
|
||||
glMaxShaderCompilerThreadsKHR
|
||||
|
||||
; GL_KHR_robust_buffer_access_behavior
|
||||
|
||||
; GL_KHR_texture_compression_astc_hdr
|
||||
|
||||
; GL_KHR_texture_compression_astc_ldr
|
||||
|
@ -882,17 +930,35 @@ EXPORTS
|
|||
; GL_NV_framebuffer_blit
|
||||
glBlitFramebufferNV
|
||||
|
||||
; GL_NV_pixel_buffer_object
|
||||
|
||||
; GL_NV_read_depth
|
||||
|
||||
; GL_NV_read_stencil
|
||||
|
||||
; GL_NV_robustness_video_memory_purge
|
||||
|
||||
; GL_NV_shader_noperspective_interpolation
|
||||
|
||||
; GL_OES_EGL_image
|
||||
glEGLImageTargetRenderbufferStorageOES
|
||||
glEGLImageTargetTexture2DOES
|
||||
|
||||
; GL_OES_EGL_image_external
|
||||
|
||||
; GL_OES_EGL_image_external_essl3
|
||||
|
||||
; GL_OES_compressed_ETC1_RGB8_texture
|
||||
|
||||
; GL_OES_copy_image
|
||||
glCopyImageSubDataOES
|
||||
|
||||
; GL_OES_depth24
|
||||
|
||||
; GL_OES_depth32
|
||||
|
||||
; GL_OES_depth_texture
|
||||
|
||||
; GL_OES_draw_buffers_indexed
|
||||
glBlendEquationSeparateiOES
|
||||
glBlendEquationiOES
|
||||
|
@ -918,6 +984,10 @@ EXPORTS
|
|||
glDrawTexxOES
|
||||
glDrawTexxvOES
|
||||
|
||||
; GL_OES_element_index_uint
|
||||
|
||||
; GL_OES_fbo_render_mipmap
|
||||
|
||||
; GL_OES_framebuffer_object
|
||||
glBindFramebufferOES
|
||||
glBindRenderbufferOES
|
||||
|
@ -953,17 +1023,33 @@ EXPORTS
|
|||
glMatrixIndexPointerOES
|
||||
glWeightPointerOES
|
||||
|
||||
; GL_OES_packed_depth_stencil
|
||||
|
||||
; GL_OES_point_size_array
|
||||
glPointSizePointerOES
|
||||
|
||||
; GL_OES_point_sprite
|
||||
|
||||
; GL_OES_query_matrix
|
||||
glQueryMatrixxOES
|
||||
|
||||
; GL_OES_rgb8_rgba8
|
||||
|
||||
; GL_OES_sample_shading
|
||||
glMinSampleShadingOES
|
||||
|
||||
; 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
|
||||
glCompressedTexImage3DOES
|
||||
glCompressedTexSubImage3DOES
|
||||
|
@ -986,6 +1072,8 @@ EXPORTS
|
|||
glTexBufferOES
|
||||
glTexBufferRangeOES
|
||||
|
||||
; GL_OES_texture_compression_astc
|
||||
|
||||
; GL_OES_texture_cube_map
|
||||
glGetTexGenfvOES
|
||||
glGetTexGenivOES
|
||||
|
@ -999,8 +1087,16 @@ EXPORTS
|
|||
|
||||
; 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
|
||||
|
@ -1012,6 +1108,10 @@ EXPORTS
|
|||
glGenVertexArraysOES
|
||||
glIsVertexArrayOES
|
||||
|
||||
; GL_OES_vertex_half_float
|
||||
|
||||
; GL_OES_vertex_type_10_10_10_2
|
||||
|
||||
; GL_OVR_multiview
|
||||
glFramebufferTextureMultiviewOVR
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче