From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/make_opengl | 59 +++ include/wine/wgl.h | 794 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 853 insertions(+) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 4448c1076ba..0e48cb1677a 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -881,9 +881,15 @@ chdir(dirname($0)); # - reference to an array of XML nodes giving the list of arguments (an empty array # for a 'void' function). # +my %gl_extensions = + ( + "GL_NV_ES1_1_compatibility" => 1, + ); my %norm_functions; my %ext_functions; +my %wgl_extensions; my %wgl_functions; +my %egl_extensions; my %egl_functions; my %all_enums; @@ -953,6 +959,15 @@ my %unsupported_extensions = "WGL_NV_video_capture" => 1, "WGL_NV_video_output" => 1, ); +my %unexposed_extgroups = + ( + "GL_APPLE_" => 1, + ); +my %unexposed_extensions = + ( + "GL_EXT_memory_object_fd" => 1, + "GL_EXT_semaphore_fd" => 1, + ); my %extension_aliases = ( "GL_EXT_blend_equation_separate" => "GL_ATI_blend_equation_separate", @@ -984,6 +999,16 @@ sub is_supported_extension($) return not defined $unsupported_extensions{$ext}; } +sub is_exposed_extension($) +{ + my $ext = shift; + foreach my $group (keys %unexposed_extgroups) + { + return 0 if rindex($ext, $group, 0) == 0; + } + return not defined $unexposed_extensions{$ext}; +} + # some functions need a hand-written wrapper sub needs_wrapper($$) { @@ -1110,6 +1135,7 @@ sub parse_file($) { $all_enums{$enum->{name}} = $enums{$enum->{name}}; } + $wgl_extensions{$ext->{name}} = 1; next; } if ($ext->{supported} eq "egl") @@ -1123,6 +1149,7 @@ sub parse_file($) { $all_enums{$enum->{name}} = $enums{$enum->{name}}; } + $egl_extensions{$ext->{name}} = 1; next; } next unless is_supported_api( $ext->{supported} ); @@ -1147,6 +1174,12 @@ sub parse_file($) { $all_enums{$enum->{name}} = $enums{$enum->{name}}; } + $gl_extensions{$ext->{name}} = 1; + next unless defined $extension_aliases{$ext->{name}}; + foreach my $alias ($extension_aliases{$ext->{name}}) + { + $gl_extensions{$alias} = 1; + } } } @@ -1240,6 +1273,12 @@ foreach (sort keys %ext_functions) } print HEADER "\n"; +print HEADER "#define ALL_WGL_EXTS"; +foreach (sort keys %wgl_extensions) +{ + printf HEADER " \\\n USE_GL_EXT(\%s)", $_; +} +print HEADER "\n\n"; print HEADER "#define ALL_WGL_FUNCS"; foreach (sort keys %wgl_functions) { @@ -1253,6 +1292,12 @@ foreach (sort keys %ext_functions) printf HEADER " \\\n USE_GL_FUNC(\%s)", $_; } print HEADER "\n\n"; +print HEADER "#define ALL_EGL_EXTS"; +foreach (sort keys %egl_extensions) +{ + printf HEADER " \\\n USE_GL_EXT(\%s)", $_; +} +print HEADER "\n\n"; print HEADER "#define ALL_EGL_FUNCS"; foreach (sort keys %egl_functions) { @@ -1267,6 +1312,20 @@ foreach (sort keys %ext_functions) printf HEADER " \\\n USE_GL_FUNC(\%s)", $_; } print HEADER "\n\n"; +print HEADER "#define ALL_GL_CLIENT_EXTS"; +foreach (sort keys %gl_extensions) +{ + next unless is_exposed_extension($_); + printf HEADER " \\\n USE_GL_EXT(\%s)", $_; +} +print HEADER "\n\n"; +print HEADER "#define ALL_GL_EXTS ALL_GL_CLIENT_EXTS"; +foreach (sort keys %gl_extensions) +{ + next if is_exposed_extension($_); + printf HEADER " \\\n USE_GL_EXT(\%s)", $_; +} +print HEADER "\n\n"; print HEADER "#define ALL_GL_FUNCS"; foreach (sort keys %norm_functions) { diff --git a/include/wine/wgl.h b/include/wine/wgl.h index 2c456d1dd8a..94abbf30221 100644 --- a/include/wine/wgl.h +++ b/include/wine/wgl.h @@ -9541,6 +9541,32 @@ typedef BOOL (GLAPIENTRY *PFN_wglSetPbufferAttribARB)( HPBUFFERARB hPbuffe typedef BOOL (GLAPIENTRY *PFN_wglSetPixelFormatWINE)( HDC hdc, int format ); typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); +#define ALL_WGL_EXTS \ + USE_GL_EXT(WGL_ARB_create_context) \ + USE_GL_EXT(WGL_ARB_create_context_no_error) \ + USE_GL_EXT(WGL_ARB_create_context_profile) \ + USE_GL_EXT(WGL_ARB_extensions_string) \ + USE_GL_EXT(WGL_ARB_framebuffer_sRGB) \ + USE_GL_EXT(WGL_ARB_make_current_read) \ + USE_GL_EXT(WGL_ARB_multisample) \ + USE_GL_EXT(WGL_ARB_pbuffer) \ + USE_GL_EXT(WGL_ARB_pixel_format) \ + USE_GL_EXT(WGL_ARB_pixel_format_float) \ + USE_GL_EXT(WGL_ARB_render_texture) \ + USE_GL_EXT(WGL_ATI_pixel_format_float) \ + USE_GL_EXT(WGL_EXT_create_context_es2_profile) \ + USE_GL_EXT(WGL_EXT_extensions_string) \ + USE_GL_EXT(WGL_EXT_framebuffer_sRGB) \ + USE_GL_EXT(WGL_EXT_pixel_format_packed_float) \ + USE_GL_EXT(WGL_EXT_swap_control) \ + USE_GL_EXT(WGL_EXT_swap_control_tear) \ + USE_GL_EXT(WGL_NV_float_buffer) \ + USE_GL_EXT(WGL_NV_render_depth_texture) \ + USE_GL_EXT(WGL_NV_render_texture_rectangle) \ + USE_GL_EXT(WGL_NV_vertex_array_range) \ + USE_GL_EXT(WGL_WINE_pixel_format_passthrough) \ + USE_GL_EXT(WGL_WINE_query_renderer) + #define ALL_WGL_FUNCS \ USE_GL_FUNC(wglChoosePixelFormat) \ USE_GL_FUNC(wglCopyContext) \ @@ -9594,6 +9620,144 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(wglSetPixelFormatWINE) \ USE_GL_FUNC(wglSwapIntervalEXT) +#define ALL_EGL_EXTS \ + USE_GL_EXT(EGL_EXT_bind_to_front) \ + USE_GL_EXT(EGL_EXT_buffer_age) \ + USE_GL_EXT(EGL_EXT_client_extensions) \ + USE_GL_EXT(EGL_EXT_client_sync) \ + USE_GL_EXT(EGL_EXT_compositor) \ + USE_GL_EXT(EGL_EXT_config_select_group) \ + USE_GL_EXT(EGL_EXT_create_context_robustness) \ + USE_GL_EXT(EGL_EXT_device_base) \ + USE_GL_EXT(EGL_EXT_device_drm) \ + USE_GL_EXT(EGL_EXT_device_drm_render_node) \ + USE_GL_EXT(EGL_EXT_device_enumeration) \ + USE_GL_EXT(EGL_EXT_device_openwf) \ + USE_GL_EXT(EGL_EXT_device_persistent_id) \ + USE_GL_EXT(EGL_EXT_device_query) \ + USE_GL_EXT(EGL_EXT_device_query_name) \ + USE_GL_EXT(EGL_EXT_display_alloc) \ + USE_GL_EXT(EGL_EXT_explicit_device) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_bt2020_hlg) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_bt2020_linear) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_bt2020_pq) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_display_p3) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_display_p3_linear) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_display_p3_passthrough) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_scrgb) \ + USE_GL_EXT(EGL_EXT_gl_colorspace_scrgb_linear) \ + USE_GL_EXT(EGL_EXT_image_dma_buf_import) \ + USE_GL_EXT(EGL_EXT_image_dma_buf_import_modifiers) \ + USE_GL_EXT(EGL_EXT_image_gl_colorspace) \ + USE_GL_EXT(EGL_EXT_image_implicit_sync_control) \ + USE_GL_EXT(EGL_EXT_multiview_window) \ + USE_GL_EXT(EGL_EXT_output_base) \ + USE_GL_EXT(EGL_EXT_output_drm) \ + USE_GL_EXT(EGL_EXT_output_openwf) \ + USE_GL_EXT(EGL_EXT_pixel_format_float) \ + USE_GL_EXT(EGL_EXT_platform_base) \ + USE_GL_EXT(EGL_EXT_platform_device) \ + USE_GL_EXT(EGL_EXT_platform_wayland) \ + USE_GL_EXT(EGL_EXT_platform_x11) \ + USE_GL_EXT(EGL_EXT_platform_xcb) \ + USE_GL_EXT(EGL_EXT_present_opaque) \ + USE_GL_EXT(EGL_EXT_protected_content) \ + USE_GL_EXT(EGL_EXT_protected_surface) \ + USE_GL_EXT(EGL_EXT_query_reset_notification_strategy) \ + USE_GL_EXT(EGL_EXT_stream_consumer_egloutput) \ + USE_GL_EXT(EGL_EXT_surface_CTA861_3_metadata) \ + USE_GL_EXT(EGL_EXT_surface_SMPTE2086_metadata) \ + USE_GL_EXT(EGL_EXT_surface_compression) \ + USE_GL_EXT(EGL_EXT_swap_buffers_with_damage) \ + USE_GL_EXT(EGL_EXT_sync_reuse) \ + USE_GL_EXT(EGL_EXT_yuv_surface) \ + USE_GL_EXT(EGL_IMG_context_priority) \ + USE_GL_EXT(EGL_IMG_image_plane_attribs) \ + USE_GL_EXT(EGL_KHR_cl_event) \ + USE_GL_EXT(EGL_KHR_cl_event2) \ + USE_GL_EXT(EGL_KHR_client_get_all_proc_addresses) \ + USE_GL_EXT(EGL_KHR_config_attribs) \ + USE_GL_EXT(EGL_KHR_context_flush_control) \ + USE_GL_EXT(EGL_KHR_create_context) \ + USE_GL_EXT(EGL_KHR_create_context_no_error) \ + USE_GL_EXT(EGL_KHR_debug) \ + USE_GL_EXT(EGL_KHR_display_reference) \ + USE_GL_EXT(EGL_KHR_fence_sync) \ + USE_GL_EXT(EGL_KHR_get_all_proc_addresses) \ + USE_GL_EXT(EGL_KHR_gl_colorspace) \ + USE_GL_EXT(EGL_KHR_gl_renderbuffer_image) \ + USE_GL_EXT(EGL_KHR_gl_texture_2D_image) \ + USE_GL_EXT(EGL_KHR_gl_texture_3D_image) \ + USE_GL_EXT(EGL_KHR_gl_texture_cubemap_image) \ + USE_GL_EXT(EGL_KHR_image) \ + USE_GL_EXT(EGL_KHR_image_base) \ + USE_GL_EXT(EGL_KHR_image_pixmap) \ + USE_GL_EXT(EGL_KHR_lock_surface) \ + USE_GL_EXT(EGL_KHR_lock_surface2) \ + USE_GL_EXT(EGL_KHR_lock_surface3) \ + USE_GL_EXT(EGL_KHR_mutable_render_buffer) \ + USE_GL_EXT(EGL_KHR_no_config_context) \ + USE_GL_EXT(EGL_KHR_partial_update) \ + USE_GL_EXT(EGL_KHR_platform_android) \ + USE_GL_EXT(EGL_KHR_platform_gbm) \ + USE_GL_EXT(EGL_KHR_platform_wayland) \ + USE_GL_EXT(EGL_KHR_platform_x11) \ + USE_GL_EXT(EGL_KHR_reusable_sync) \ + USE_GL_EXT(EGL_KHR_stream) \ + USE_GL_EXT(EGL_KHR_stream_attrib) \ + USE_GL_EXT(EGL_KHR_stream_consumer_gltexture) \ + USE_GL_EXT(EGL_KHR_stream_cross_process_fd) \ + USE_GL_EXT(EGL_KHR_stream_fifo) \ + USE_GL_EXT(EGL_KHR_stream_producer_aldatalocator) \ + USE_GL_EXT(EGL_KHR_stream_producer_eglsurface) \ + USE_GL_EXT(EGL_KHR_surfaceless_context) \ + USE_GL_EXT(EGL_KHR_swap_buffers_with_damage) \ + USE_GL_EXT(EGL_KHR_vg_parent_image) \ + USE_GL_EXT(EGL_KHR_wait_sync) \ + USE_GL_EXT(EGL_MESA_drm_image) \ + USE_GL_EXT(EGL_MESA_image_dma_buf_export) \ + USE_GL_EXT(EGL_MESA_platform_gbm) \ + USE_GL_EXT(EGL_MESA_platform_surfaceless) \ + USE_GL_EXT(EGL_MESA_query_driver) \ + USE_GL_EXT(EGL_NV_3dvision_surface) \ + USE_GL_EXT(EGL_NV_context_priority_realtime) \ + USE_GL_EXT(EGL_NV_coverage_sample) \ + USE_GL_EXT(EGL_NV_coverage_sample_resolve) \ + USE_GL_EXT(EGL_NV_cuda_event) \ + USE_GL_EXT(EGL_NV_depth_nonlinear) \ + USE_GL_EXT(EGL_NV_device_cuda) \ + USE_GL_EXT(EGL_NV_native_query) \ + USE_GL_EXT(EGL_NV_post_convert_rounding) \ + USE_GL_EXT(EGL_NV_post_sub_buffer) \ + USE_GL_EXT(EGL_NV_quadruple_buffer) \ + USE_GL_EXT(EGL_NV_robustness_video_memory_purge) \ + USE_GL_EXT(EGL_NV_stream_consumer_eglimage) \ + USE_GL_EXT(EGL_NV_stream_consumer_eglimage_use_scanout_attrib) \ + USE_GL_EXT(EGL_NV_stream_consumer_gltexture_yuv) \ + USE_GL_EXT(EGL_NV_stream_cross_display) \ + USE_GL_EXT(EGL_NV_stream_cross_object) \ + USE_GL_EXT(EGL_NV_stream_cross_partition) \ + USE_GL_EXT(EGL_NV_stream_cross_process) \ + USE_GL_EXT(EGL_NV_stream_cross_system) \ + USE_GL_EXT(EGL_NV_stream_dma) \ + USE_GL_EXT(EGL_NV_stream_fifo_next) \ + USE_GL_EXT(EGL_NV_stream_fifo_synchronous) \ + USE_GL_EXT(EGL_NV_stream_flush) \ + USE_GL_EXT(EGL_NV_stream_frame_limits) \ + USE_GL_EXT(EGL_NV_stream_metadata) \ + USE_GL_EXT(EGL_NV_stream_origin) \ + USE_GL_EXT(EGL_NV_stream_remote) \ + USE_GL_EXT(EGL_NV_stream_reset) \ + USE_GL_EXT(EGL_NV_stream_socket) \ + USE_GL_EXT(EGL_NV_stream_socket_inet) \ + USE_GL_EXT(EGL_NV_stream_socket_unix) \ + USE_GL_EXT(EGL_NV_stream_sync) \ + USE_GL_EXT(EGL_NV_sync) \ + USE_GL_EXT(EGL_NV_system_time) \ + USE_GL_EXT(EGL_NV_triple_buffer) \ + USE_GL_EXT(EGL_WL_bind_wayland_display) \ + USE_GL_EXT(EGL_WL_create_wayland_buffer_from_image) + #define ALL_EGL_FUNCS \ USE_GL_FUNC(eglBindAPI) \ USE_GL_FUNC(eglBindTexImage) \ @@ -9741,6 +9905,636 @@ typedef BOOL (GLAPIENTRY *PFN_wglSwapIntervalEXT)( int interval ); USE_GL_FUNC(eglUnsignalSyncEXT) \ USE_GL_FUNC(eglWaitSyncKHR) +#define ALL_GL_CLIENT_EXTS \ + USE_GL_EXT(GL_3DFX_multisample) \ + USE_GL_EXT(GL_3DFX_tbuffer) \ + USE_GL_EXT(GL_3DFX_texture_compression_FXT1) \ + USE_GL_EXT(GL_AMD_blend_minmax_factor) \ + USE_GL_EXT(GL_AMD_conservative_depth) \ + USE_GL_EXT(GL_AMD_debug_output) \ + USE_GL_EXT(GL_AMD_depth_clamp_separate) \ + USE_GL_EXT(GL_AMD_draw_buffers_blend) \ + USE_GL_EXT(GL_AMD_framebuffer_multisample_advanced) \ + USE_GL_EXT(GL_AMD_framebuffer_sample_positions) \ + USE_GL_EXT(GL_AMD_gcn_shader) \ + USE_GL_EXT(GL_AMD_gpu_shader_half_float) \ + USE_GL_EXT(GL_AMD_gpu_shader_int16) \ + USE_GL_EXT(GL_AMD_gpu_shader_int64) \ + USE_GL_EXT(GL_AMD_interleaved_elements) \ + USE_GL_EXT(GL_AMD_multi_draw_indirect) \ + USE_GL_EXT(GL_AMD_name_gen_delete) \ + USE_GL_EXT(GL_AMD_occlusion_query_event) \ + USE_GL_EXT(GL_AMD_performance_monitor) \ + USE_GL_EXT(GL_AMD_pinned_memory) \ + USE_GL_EXT(GL_AMD_query_buffer_object) \ + USE_GL_EXT(GL_AMD_sample_positions) \ + USE_GL_EXT(GL_AMD_seamless_cubemap_per_texture) \ + USE_GL_EXT(GL_AMD_shader_atomic_counter_ops) \ + USE_GL_EXT(GL_AMD_shader_ballot) \ + USE_GL_EXT(GL_AMD_shader_explicit_vertex_parameter) \ + USE_GL_EXT(GL_AMD_shader_gpu_shader_half_float_fetch) \ + USE_GL_EXT(GL_AMD_shader_image_load_store_lod) \ + USE_GL_EXT(GL_AMD_shader_stencil_export) \ + USE_GL_EXT(GL_AMD_shader_trinary_minmax) \ + USE_GL_EXT(GL_AMD_sparse_texture) \ + USE_GL_EXT(GL_AMD_stencil_operation_extended) \ + USE_GL_EXT(GL_AMD_texture_gather_bias_lod) \ + USE_GL_EXT(GL_AMD_texture_texture4) \ + USE_GL_EXT(GL_AMD_transform_feedback3_lines_triangles) \ + USE_GL_EXT(GL_AMD_transform_feedback4) \ + USE_GL_EXT(GL_AMD_vertex_shader_layer) \ + USE_GL_EXT(GL_AMD_vertex_shader_tessellator) \ + USE_GL_EXT(GL_AMD_vertex_shader_viewport_index) \ + USE_GL_EXT(GL_ARB_ES2_compatibility) \ + USE_GL_EXT(GL_ARB_ES3_1_compatibility) \ + USE_GL_EXT(GL_ARB_ES3_2_compatibility) \ + USE_GL_EXT(GL_ARB_ES3_compatibility) \ + USE_GL_EXT(GL_ARB_arrays_of_arrays) \ + USE_GL_EXT(GL_ARB_base_instance) \ + USE_GL_EXT(GL_ARB_bindless_texture) \ + USE_GL_EXT(GL_ARB_blend_func_extended) \ + USE_GL_EXT(GL_ARB_buffer_storage) \ + USE_GL_EXT(GL_ARB_cl_event) \ + USE_GL_EXT(GL_ARB_clear_buffer_object) \ + USE_GL_EXT(GL_ARB_clear_texture) \ + USE_GL_EXT(GL_ARB_clip_control) \ + USE_GL_EXT(GL_ARB_color_buffer_float) \ + USE_GL_EXT(GL_ARB_compatibility) \ + USE_GL_EXT(GL_ARB_compressed_texture_pixel_storage) \ + USE_GL_EXT(GL_ARB_compute_shader) \ + USE_GL_EXT(GL_ARB_compute_variable_group_size) \ + USE_GL_EXT(GL_ARB_conditional_render_inverted) \ + USE_GL_EXT(GL_ARB_conservative_depth) \ + USE_GL_EXT(GL_ARB_copy_buffer) \ + USE_GL_EXT(GL_ARB_copy_image) \ + USE_GL_EXT(GL_ARB_cull_distance) \ + USE_GL_EXT(GL_ARB_debug_output) \ + USE_GL_EXT(GL_ARB_depth_buffer_float) \ + USE_GL_EXT(GL_ARB_depth_clamp) \ + USE_GL_EXT(GL_ARB_depth_texture) \ + USE_GL_EXT(GL_ARB_derivative_control) \ + USE_GL_EXT(GL_ARB_direct_state_access) \ + USE_GL_EXT(GL_ARB_draw_buffers) \ + USE_GL_EXT(GL_ARB_draw_buffers_blend) \ + USE_GL_EXT(GL_ARB_draw_elements_base_vertex) \ + USE_GL_EXT(GL_ARB_draw_indirect) \ + USE_GL_EXT(GL_ARB_draw_instanced) \ + USE_GL_EXT(GL_ARB_enhanced_layouts) \ + USE_GL_EXT(GL_ARB_explicit_attrib_location) \ + USE_GL_EXT(GL_ARB_explicit_uniform_location) \ + USE_GL_EXT(GL_ARB_fragment_coord_conventions) \ + USE_GL_EXT(GL_ARB_fragment_layer_viewport) \ + USE_GL_EXT(GL_ARB_fragment_program) \ + USE_GL_EXT(GL_ARB_fragment_program_shadow) \ + USE_GL_EXT(GL_ARB_fragment_shader) \ + USE_GL_EXT(GL_ARB_fragment_shader_interlock) \ + USE_GL_EXT(GL_ARB_framebuffer_no_attachments) \ + USE_GL_EXT(GL_ARB_framebuffer_object) \ + USE_GL_EXT(GL_ARB_framebuffer_sRGB) \ + USE_GL_EXT(GL_ARB_geometry_shader4) \ + USE_GL_EXT(GL_ARB_get_program_binary) \ + USE_GL_EXT(GL_ARB_get_texture_sub_image) \ + USE_GL_EXT(GL_ARB_gl_spirv) \ + USE_GL_EXT(GL_ARB_gpu_shader5) \ + USE_GL_EXT(GL_ARB_gpu_shader_fp64) \ + USE_GL_EXT(GL_ARB_gpu_shader_int64) \ + USE_GL_EXT(GL_ARB_half_float_pixel) \ + USE_GL_EXT(GL_ARB_half_float_vertex) \ + USE_GL_EXT(GL_ARB_imaging) \ + USE_GL_EXT(GL_ARB_indirect_parameters) \ + USE_GL_EXT(GL_ARB_instanced_arrays) \ + USE_GL_EXT(GL_ARB_internalformat_query) \ + USE_GL_EXT(GL_ARB_internalformat_query2) \ + USE_GL_EXT(GL_ARB_invalidate_subdata) \ + USE_GL_EXT(GL_ARB_map_buffer_alignment) \ + USE_GL_EXT(GL_ARB_map_buffer_range) \ + USE_GL_EXT(GL_ARB_matrix_palette) \ + USE_GL_EXT(GL_ARB_multi_bind) \ + USE_GL_EXT(GL_ARB_multi_draw_indirect) \ + USE_GL_EXT(GL_ARB_multisample) \ + USE_GL_EXT(GL_ARB_multitexture) \ + USE_GL_EXT(GL_ARB_occlusion_query) \ + USE_GL_EXT(GL_ARB_occlusion_query2) \ + USE_GL_EXT(GL_ARB_parallel_shader_compile) \ + USE_GL_EXT(GL_ARB_pipeline_statistics_query) \ + USE_GL_EXT(GL_ARB_pixel_buffer_object) \ + USE_GL_EXT(GL_ARB_point_parameters) \ + USE_GL_EXT(GL_ARB_point_sprite) \ + USE_GL_EXT(GL_ARB_polygon_offset_clamp) \ + USE_GL_EXT(GL_ARB_post_depth_coverage) \ + USE_GL_EXT(GL_ARB_program_interface_query) \ + USE_GL_EXT(GL_ARB_provoking_vertex) \ + USE_GL_EXT(GL_ARB_query_buffer_object) \ + USE_GL_EXT(GL_ARB_robust_buffer_access_behavior) \ + USE_GL_EXT(GL_ARB_robustness) \ + USE_GL_EXT(GL_ARB_robustness_isolation) \ + USE_GL_EXT(GL_ARB_sample_locations) \ + USE_GL_EXT(GL_ARB_sample_shading) \ + USE_GL_EXT(GL_ARB_sampler_objects) \ + USE_GL_EXT(GL_ARB_seamless_cube_map) \ + USE_GL_EXT(GL_ARB_seamless_cubemap_per_texture) \ + USE_GL_EXT(GL_ARB_separate_shader_objects) \ + USE_GL_EXT(GL_ARB_shader_atomic_counter_ops) \ + USE_GL_EXT(GL_ARB_shader_atomic_counters) \ + USE_GL_EXT(GL_ARB_shader_ballot) \ + USE_GL_EXT(GL_ARB_shader_bit_encoding) \ + USE_GL_EXT(GL_ARB_shader_clock) \ + USE_GL_EXT(GL_ARB_shader_draw_parameters) \ + USE_GL_EXT(GL_ARB_shader_group_vote) \ + USE_GL_EXT(GL_ARB_shader_image_load_store) \ + USE_GL_EXT(GL_ARB_shader_image_size) \ + USE_GL_EXT(GL_ARB_shader_objects) \ + USE_GL_EXT(GL_ARB_shader_precision) \ + USE_GL_EXT(GL_ARB_shader_stencil_export) \ + USE_GL_EXT(GL_ARB_shader_storage_buffer_object) \ + USE_GL_EXT(GL_ARB_shader_subroutine) \ + USE_GL_EXT(GL_ARB_shader_texture_image_samples) \ + USE_GL_EXT(GL_ARB_shader_texture_lod) \ + USE_GL_EXT(GL_ARB_shader_viewport_layer_array) \ + USE_GL_EXT(GL_ARB_shading_language_100) \ + USE_GL_EXT(GL_ARB_shading_language_420pack) \ + USE_GL_EXT(GL_ARB_shading_language_include) \ + USE_GL_EXT(GL_ARB_shading_language_packing) \ + USE_GL_EXT(GL_ARB_shadow) \ + USE_GL_EXT(GL_ARB_shadow_ambient) \ + USE_GL_EXT(GL_ARB_sparse_buffer) \ + USE_GL_EXT(GL_ARB_sparse_texture) \ + USE_GL_EXT(GL_ARB_sparse_texture2) \ + USE_GL_EXT(GL_ARB_sparse_texture_clamp) \ + USE_GL_EXT(GL_ARB_spirv_extensions) \ + USE_GL_EXT(GL_ARB_stencil_texturing) \ + USE_GL_EXT(GL_ARB_sync) \ + USE_GL_EXT(GL_ARB_tessellation_shader) \ + USE_GL_EXT(GL_ARB_texture_barrier) \ + USE_GL_EXT(GL_ARB_texture_border_clamp) \ + USE_GL_EXT(GL_ARB_texture_buffer_object) \ + USE_GL_EXT(GL_ARB_texture_buffer_object_rgb32) \ + USE_GL_EXT(GL_ARB_texture_buffer_range) \ + USE_GL_EXT(GL_ARB_texture_compression) \ + USE_GL_EXT(GL_ARB_texture_compression_bptc) \ + USE_GL_EXT(GL_ARB_texture_compression_rgtc) \ + USE_GL_EXT(GL_ARB_texture_cube_map) \ + USE_GL_EXT(GL_ARB_texture_cube_map_array) \ + USE_GL_EXT(GL_ARB_texture_env_add) \ + USE_GL_EXT(GL_ARB_texture_env_combine) \ + USE_GL_EXT(GL_ARB_texture_env_crossbar) \ + USE_GL_EXT(GL_ARB_texture_env_dot3) \ + USE_GL_EXT(GL_ARB_texture_filter_anisotropic) \ + USE_GL_EXT(GL_ARB_texture_filter_minmax) \ + USE_GL_EXT(GL_ARB_texture_float) \ + USE_GL_EXT(GL_ARB_texture_gather) \ + USE_GL_EXT(GL_ARB_texture_mirror_clamp_to_edge) \ + USE_GL_EXT(GL_ARB_texture_mirrored_repeat) \ + USE_GL_EXT(GL_ARB_texture_multisample) \ + USE_GL_EXT(GL_ARB_texture_non_power_of_two) \ + USE_GL_EXT(GL_ARB_texture_query_levels) \ + USE_GL_EXT(GL_ARB_texture_query_lod) \ + USE_GL_EXT(GL_ARB_texture_rectangle) \ + USE_GL_EXT(GL_ARB_texture_rg) \ + USE_GL_EXT(GL_ARB_texture_rgb10_a2ui) \ + USE_GL_EXT(GL_ARB_texture_stencil8) \ + USE_GL_EXT(GL_ARB_texture_storage) \ + USE_GL_EXT(GL_ARB_texture_storage_multisample) \ + USE_GL_EXT(GL_ARB_texture_swizzle) \ + USE_GL_EXT(GL_ARB_texture_view) \ + USE_GL_EXT(GL_ARB_timer_query) \ + USE_GL_EXT(GL_ARB_transform_feedback2) \ + USE_GL_EXT(GL_ARB_transform_feedback3) \ + USE_GL_EXT(GL_ARB_transform_feedback_instanced) \ + USE_GL_EXT(GL_ARB_transform_feedback_overflow_query) \ + USE_GL_EXT(GL_ARB_transpose_matrix) \ + USE_GL_EXT(GL_ARB_uniform_buffer_object) \ + USE_GL_EXT(GL_ARB_vertex_array_bgra) \ + USE_GL_EXT(GL_ARB_vertex_array_object) \ + USE_GL_EXT(GL_ARB_vertex_attrib_64bit) \ + USE_GL_EXT(GL_ARB_vertex_attrib_binding) \ + USE_GL_EXT(GL_ARB_vertex_blend) \ + USE_GL_EXT(GL_ARB_vertex_buffer_object) \ + USE_GL_EXT(GL_ARB_vertex_program) \ + USE_GL_EXT(GL_ARB_vertex_shader) \ + USE_GL_EXT(GL_ARB_vertex_type_10f_11f_11f_rev) \ + USE_GL_EXT(GL_ARB_vertex_type_2_10_10_10_rev) \ + USE_GL_EXT(GL_ARB_viewport_array) \ + USE_GL_EXT(GL_ARB_window_pos) \ + USE_GL_EXT(GL_ATI_blend_equation_separate) \ + USE_GL_EXT(GL_ATI_draw_buffers) \ + USE_GL_EXT(GL_ATI_element_array) \ + USE_GL_EXT(GL_ATI_envmap_bumpmap) \ + USE_GL_EXT(GL_ATI_fragment_shader) \ + USE_GL_EXT(GL_ATI_map_object_buffer) \ + USE_GL_EXT(GL_ATI_meminfo) \ + USE_GL_EXT(GL_ATI_pixel_format_float) \ + USE_GL_EXT(GL_ATI_pn_triangles) \ + USE_GL_EXT(GL_ATI_separate_stencil) \ + USE_GL_EXT(GL_ATI_text_fragment_shader) \ + USE_GL_EXT(GL_ATI_texture_env_combine3) \ + USE_GL_EXT(GL_ATI_texture_float) \ + USE_GL_EXT(GL_ATI_texture_mirror_once) \ + USE_GL_EXT(GL_ATI_vertex_array_object) \ + USE_GL_EXT(GL_ATI_vertex_attrib_array_object) \ + USE_GL_EXT(GL_ATI_vertex_streams) \ + USE_GL_EXT(GL_EXT_422_pixels) \ + USE_GL_EXT(GL_EXT_EGL_image_storage) \ + USE_GL_EXT(GL_EXT_EGL_sync) \ + USE_GL_EXT(GL_EXT_abgr) \ + USE_GL_EXT(GL_EXT_bgra) \ + USE_GL_EXT(GL_EXT_bindable_uniform) \ + USE_GL_EXT(GL_EXT_blend_color) \ + USE_GL_EXT(GL_EXT_blend_equation_separate) \ + USE_GL_EXT(GL_EXT_blend_func_separate) \ + USE_GL_EXT(GL_EXT_blend_logic_op) \ + USE_GL_EXT(GL_EXT_blend_minmax) \ + USE_GL_EXT(GL_EXT_blend_subtract) \ + USE_GL_EXT(GL_EXT_clip_volume_hint) \ + USE_GL_EXT(GL_EXT_cmyka) \ + USE_GL_EXT(GL_EXT_color_subtable) \ + USE_GL_EXT(GL_EXT_compiled_vertex_array) \ + USE_GL_EXT(GL_EXT_convolution) \ + USE_GL_EXT(GL_EXT_coordinate_frame) \ + USE_GL_EXT(GL_EXT_copy_texture) \ + USE_GL_EXT(GL_EXT_cull_vertex) \ + USE_GL_EXT(GL_EXT_debug_label) \ + USE_GL_EXT(GL_EXT_debug_marker) \ + USE_GL_EXT(GL_EXT_depth_bounds_test) \ + USE_GL_EXT(GL_EXT_direct_state_access) \ + USE_GL_EXT(GL_EXT_draw_buffers2) \ + USE_GL_EXT(GL_EXT_draw_instanced) \ + USE_GL_EXT(GL_EXT_draw_range_elements) \ + USE_GL_EXT(GL_EXT_external_buffer) \ + USE_GL_EXT(GL_EXT_fog_coord) \ + USE_GL_EXT(GL_EXT_framebuffer_blit) \ + USE_GL_EXT(GL_EXT_framebuffer_blit_layers) \ + USE_GL_EXT(GL_EXT_framebuffer_multisample) \ + USE_GL_EXT(GL_EXT_framebuffer_multisample_blit_scaled) \ + USE_GL_EXT(GL_EXT_framebuffer_object) \ + USE_GL_EXT(GL_EXT_framebuffer_sRGB) \ + USE_GL_EXT(GL_EXT_geometry_shader4) \ + USE_GL_EXT(GL_EXT_gpu_program_parameters) \ + USE_GL_EXT(GL_EXT_gpu_shader4) \ + USE_GL_EXT(GL_EXT_histogram) \ + USE_GL_EXT(GL_EXT_index_array_formats) \ + USE_GL_EXT(GL_EXT_index_func) \ + USE_GL_EXT(GL_EXT_index_material) \ + USE_GL_EXT(GL_EXT_index_texture) \ + USE_GL_EXT(GL_EXT_light_texture) \ + USE_GL_EXT(GL_EXT_memory_object) \ + USE_GL_EXT(GL_EXT_memory_object_win32) \ + USE_GL_EXT(GL_EXT_mesh_shader) \ + USE_GL_EXT(GL_EXT_misc_attribute) \ + USE_GL_EXT(GL_EXT_multi_draw_arrays) \ + USE_GL_EXT(GL_EXT_multisample) \ + USE_GL_EXT(GL_EXT_multiview_tessellation_geometry_shader) \ + USE_GL_EXT(GL_EXT_multiview_texture_multisample) \ + USE_GL_EXT(GL_EXT_multiview_timer_query) \ + USE_GL_EXT(GL_EXT_packed_depth_stencil) \ + USE_GL_EXT(GL_EXT_packed_float) \ + USE_GL_EXT(GL_EXT_packed_pixels) \ + USE_GL_EXT(GL_EXT_paletted_texture) \ + USE_GL_EXT(GL_EXT_pixel_buffer_object) \ + USE_GL_EXT(GL_EXT_pixel_transform) \ + USE_GL_EXT(GL_EXT_pixel_transform_color_table) \ + USE_GL_EXT(GL_EXT_point_parameters) \ + USE_GL_EXT(GL_EXT_polygon_offset) \ + USE_GL_EXT(GL_EXT_polygon_offset_clamp) \ + USE_GL_EXT(GL_EXT_post_depth_coverage) \ + USE_GL_EXT(GL_EXT_provoking_vertex) \ + USE_GL_EXT(GL_EXT_raster_multisample) \ + USE_GL_EXT(GL_EXT_rescale_normal) \ + USE_GL_EXT(GL_EXT_secondary_color) \ + USE_GL_EXT(GL_EXT_semaphore) \ + USE_GL_EXT(GL_EXT_semaphore_win32) \ + USE_GL_EXT(GL_EXT_separate_shader_objects) \ + USE_GL_EXT(GL_EXT_separate_specular_color) \ + USE_GL_EXT(GL_EXT_shader_framebuffer_fetch) \ + USE_GL_EXT(GL_EXT_shader_framebuffer_fetch_non_coherent) \ + USE_GL_EXT(GL_EXT_shader_image_load_formatted) \ + USE_GL_EXT(GL_EXT_shader_image_load_store) \ + USE_GL_EXT(GL_EXT_shader_integer_mix) \ + USE_GL_EXT(GL_EXT_shader_samples_identical) \ + USE_GL_EXT(GL_EXT_shadow_funcs) \ + USE_GL_EXT(GL_EXT_shared_texture_palette) \ + USE_GL_EXT(GL_EXT_sparse_texture2) \ + USE_GL_EXT(GL_EXT_stencil_clear_tag) \ + USE_GL_EXT(GL_EXT_stencil_two_side) \ + USE_GL_EXT(GL_EXT_stencil_wrap) \ + USE_GL_EXT(GL_EXT_subtexture) \ + USE_GL_EXT(GL_EXT_texture) \ + USE_GL_EXT(GL_EXT_texture3D) \ + USE_GL_EXT(GL_EXT_texture_array) \ + USE_GL_EXT(GL_EXT_texture_buffer_object) \ + USE_GL_EXT(GL_EXT_texture_compression_latc) \ + USE_GL_EXT(GL_EXT_texture_compression_rgtc) \ + USE_GL_EXT(GL_EXT_texture_compression_s3tc) \ + USE_GL_EXT(GL_EXT_texture_cube_map) \ + USE_GL_EXT(GL_EXT_texture_env_add) \ + USE_GL_EXT(GL_EXT_texture_env_combine) \ + USE_GL_EXT(GL_EXT_texture_env_dot3) \ + USE_GL_EXT(GL_EXT_texture_filter_anisotropic) \ + USE_GL_EXT(GL_EXT_texture_filter_minmax) \ + USE_GL_EXT(GL_EXT_texture_integer) \ + USE_GL_EXT(GL_EXT_texture_lod_bias) \ + USE_GL_EXT(GL_EXT_texture_mirror_clamp) \ + USE_GL_EXT(GL_EXT_texture_object) \ + USE_GL_EXT(GL_EXT_texture_perturb_normal) \ + USE_GL_EXT(GL_EXT_texture_sRGB) \ + USE_GL_EXT(GL_EXT_texture_sRGB_R8) \ + USE_GL_EXT(GL_EXT_texture_sRGB_RG8) \ + USE_GL_EXT(GL_EXT_texture_sRGB_decode) \ + USE_GL_EXT(GL_EXT_texture_shadow_lod) \ + USE_GL_EXT(GL_EXT_texture_shared_exponent) \ + USE_GL_EXT(GL_EXT_texture_snorm) \ + USE_GL_EXT(GL_EXT_texture_storage) \ + USE_GL_EXT(GL_EXT_texture_swizzle) \ + USE_GL_EXT(GL_EXT_timer_query) \ + USE_GL_EXT(GL_EXT_transform_feedback) \ + USE_GL_EXT(GL_EXT_vertex_array) \ + USE_GL_EXT(GL_EXT_vertex_array_bgra) \ + USE_GL_EXT(GL_EXT_vertex_attrib_64bit) \ + USE_GL_EXT(GL_EXT_vertex_shader) \ + USE_GL_EXT(GL_EXT_vertex_weighting) \ + USE_GL_EXT(GL_EXT_win32_keyed_mutex) \ + USE_GL_EXT(GL_EXT_window_rectangles) \ + USE_GL_EXT(GL_EXT_x11_sync_object) \ + USE_GL_EXT(GL_GREMEDY_frame_terminator) \ + USE_GL_EXT(GL_GREMEDY_string_marker) \ + USE_GL_EXT(GL_HP_convolution_border_modes) \ + USE_GL_EXT(GL_HP_image_transform) \ + USE_GL_EXT(GL_HP_occlusion_test) \ + USE_GL_EXT(GL_HP_texture_lighting) \ + USE_GL_EXT(GL_IBM_cull_vertex) \ + USE_GL_EXT(GL_IBM_multimode_draw_arrays) \ + USE_GL_EXT(GL_IBM_rasterpos_clip) \ + USE_GL_EXT(GL_IBM_static_data) \ + USE_GL_EXT(GL_IBM_texture_mirrored_repeat) \ + USE_GL_EXT(GL_IBM_vertex_array_lists) \ + USE_GL_EXT(GL_INGR_blend_func_separate) \ + USE_GL_EXT(GL_INGR_color_clamp) \ + USE_GL_EXT(GL_INGR_interlace_read) \ + USE_GL_EXT(GL_INTEL_blackhole_render) \ + USE_GL_EXT(GL_INTEL_conservative_rasterization) \ + USE_GL_EXT(GL_INTEL_fragment_shader_ordering) \ + USE_GL_EXT(GL_INTEL_framebuffer_CMAA) \ + USE_GL_EXT(GL_INTEL_map_texture) \ + USE_GL_EXT(GL_INTEL_parallel_arrays) \ + USE_GL_EXT(GL_INTEL_performance_query) \ + USE_GL_EXT(GL_KHR_blend_equation_advanced) \ + USE_GL_EXT(GL_KHR_blend_equation_advanced_coherent) \ + USE_GL_EXT(GL_KHR_context_flush_control) \ + USE_GL_EXT(GL_KHR_debug) \ + USE_GL_EXT(GL_KHR_no_error) \ + USE_GL_EXT(GL_KHR_parallel_shader_compile) \ + USE_GL_EXT(GL_KHR_robust_buffer_access_behavior) \ + USE_GL_EXT(GL_KHR_robustness) \ + USE_GL_EXT(GL_KHR_shader_subgroup) \ + USE_GL_EXT(GL_KHR_texture_compression_astc_hdr) \ + USE_GL_EXT(GL_KHR_texture_compression_astc_ldr) \ + USE_GL_EXT(GL_KHR_texture_compression_astc_sliced_3d) \ + USE_GL_EXT(GL_KTX_buffer_region) \ + USE_GL_EXT(GL_MESAX_texture_stack) \ + USE_GL_EXT(GL_MESA_framebuffer_flip_x) \ + USE_GL_EXT(GL_MESA_framebuffer_flip_y) \ + USE_GL_EXT(GL_MESA_framebuffer_swap_xy) \ + USE_GL_EXT(GL_MESA_pack_invert) \ + USE_GL_EXT(GL_MESA_program_binary_formats) \ + USE_GL_EXT(GL_MESA_resize_buffers) \ + USE_GL_EXT(GL_MESA_shader_integer_functions) \ + USE_GL_EXT(GL_MESA_texture_const_bandwidth) \ + USE_GL_EXT(GL_MESA_tile_raster_order) \ + USE_GL_EXT(GL_MESA_window_pos) \ + USE_GL_EXT(GL_MESA_ycbcr_texture) \ + USE_GL_EXT(GL_NVX_blend_equation_advanced_multi_draw_buffers) \ + USE_GL_EXT(GL_NVX_conditional_render) \ + USE_GL_EXT(GL_NVX_gpu_memory_info) \ + USE_GL_EXT(GL_NVX_gpu_multicast2) \ + USE_GL_EXT(GL_NVX_linked_gpu_multicast) \ + USE_GL_EXT(GL_NVX_progress_fence) \ + USE_GL_EXT(GL_NV_ES1_1_compatibility) \ + USE_GL_EXT(GL_NV_alpha_to_coverage_dither_control) \ + USE_GL_EXT(GL_NV_bindless_multi_draw_indirect) \ + USE_GL_EXT(GL_NV_bindless_multi_draw_indirect_count) \ + USE_GL_EXT(GL_NV_bindless_texture) \ + USE_GL_EXT(GL_NV_blend_equation_advanced) \ + USE_GL_EXT(GL_NV_blend_equation_advanced_coherent) \ + USE_GL_EXT(GL_NV_blend_minmax_factor) \ + USE_GL_EXT(GL_NV_blend_square) \ + USE_GL_EXT(GL_NV_clip_space_w_scaling) \ + USE_GL_EXT(GL_NV_command_list) \ + USE_GL_EXT(GL_NV_compute_program5) \ + USE_GL_EXT(GL_NV_compute_shader_derivatives) \ + USE_GL_EXT(GL_NV_conditional_render) \ + USE_GL_EXT(GL_NV_conservative_raster) \ + USE_GL_EXT(GL_NV_conservative_raster_dilate) \ + USE_GL_EXT(GL_NV_conservative_raster_pre_snap) \ + USE_GL_EXT(GL_NV_conservative_raster_pre_snap_triangles) \ + USE_GL_EXT(GL_NV_conservative_raster_underestimation) \ + USE_GL_EXT(GL_NV_copy_depth_to_color) \ + USE_GL_EXT(GL_NV_copy_image) \ + USE_GL_EXT(GL_NV_deep_texture3D) \ + USE_GL_EXT(GL_NV_depth_buffer_float) \ + USE_GL_EXT(GL_NV_depth_clamp) \ + USE_GL_EXT(GL_NV_draw_texture) \ + USE_GL_EXT(GL_NV_draw_vulkan_image) \ + USE_GL_EXT(GL_NV_evaluators) \ + USE_GL_EXT(GL_NV_explicit_multisample) \ + USE_GL_EXT(GL_NV_fence) \ + USE_GL_EXT(GL_NV_fill_rectangle) \ + USE_GL_EXT(GL_NV_float_buffer) \ + USE_GL_EXT(GL_NV_fog_distance) \ + USE_GL_EXT(GL_NV_fragment_coverage_to_color) \ + USE_GL_EXT(GL_NV_fragment_program) \ + USE_GL_EXT(GL_NV_fragment_program2) \ + USE_GL_EXT(GL_NV_fragment_program4) \ + USE_GL_EXT(GL_NV_fragment_program_option) \ + USE_GL_EXT(GL_NV_fragment_shader_barycentric) \ + USE_GL_EXT(GL_NV_fragment_shader_interlock) \ + USE_GL_EXT(GL_NV_framebuffer_mixed_samples) \ + USE_GL_EXT(GL_NV_framebuffer_multisample_coverage) \ + USE_GL_EXT(GL_NV_geometry_program4) \ + USE_GL_EXT(GL_NV_geometry_shader4) \ + USE_GL_EXT(GL_NV_geometry_shader_passthrough) \ + USE_GL_EXT(GL_NV_gpu_multicast) \ + USE_GL_EXT(GL_NV_gpu_program4) \ + USE_GL_EXT(GL_NV_gpu_program5) \ + USE_GL_EXT(GL_NV_gpu_program5_mem_extended) \ + USE_GL_EXT(GL_NV_gpu_shader5) \ + USE_GL_EXT(GL_NV_half_float) \ + USE_GL_EXT(GL_NV_internalformat_sample_query) \ + USE_GL_EXT(GL_NV_light_max_exponent) \ + USE_GL_EXT(GL_NV_memory_attachment) \ + USE_GL_EXT(GL_NV_memory_object_sparse) \ + USE_GL_EXT(GL_NV_mesh_shader) \ + USE_GL_EXT(GL_NV_multisample_coverage) \ + USE_GL_EXT(GL_NV_multisample_filter_hint) \ + USE_GL_EXT(GL_NV_occlusion_query) \ + USE_GL_EXT(GL_NV_packed_depth_stencil) \ + USE_GL_EXT(GL_NV_parameter_buffer_object) \ + USE_GL_EXT(GL_NV_parameter_buffer_object2) \ + USE_GL_EXT(GL_NV_path_rendering) \ + USE_GL_EXT(GL_NV_path_rendering_shared_edge) \ + USE_GL_EXT(GL_NV_pixel_data_range) \ + USE_GL_EXT(GL_NV_point_sprite) \ + USE_GL_EXT(GL_NV_present_video) \ + USE_GL_EXT(GL_NV_primitive_restart) \ + USE_GL_EXT(GL_NV_primitive_shading_rate) \ + USE_GL_EXT(GL_NV_query_resource) \ + USE_GL_EXT(GL_NV_query_resource_tag) \ + USE_GL_EXT(GL_NV_register_combiners) \ + USE_GL_EXT(GL_NV_register_combiners2) \ + USE_GL_EXT(GL_NV_representative_fragment_test) \ + USE_GL_EXT(GL_NV_robustness_video_memory_purge) \ + USE_GL_EXT(GL_NV_sample_locations) \ + USE_GL_EXT(GL_NV_sample_mask_override_coverage) \ + USE_GL_EXT(GL_NV_scissor_exclusive) \ + USE_GL_EXT(GL_NV_shader_atomic_counters) \ + USE_GL_EXT(GL_NV_shader_atomic_float) \ + USE_GL_EXT(GL_NV_shader_atomic_float64) \ + USE_GL_EXT(GL_NV_shader_atomic_fp16_vector) \ + USE_GL_EXT(GL_NV_shader_atomic_int64) \ + USE_GL_EXT(GL_NV_shader_buffer_load) \ + USE_GL_EXT(GL_NV_shader_buffer_store) \ + USE_GL_EXT(GL_NV_shader_storage_buffer_object) \ + USE_GL_EXT(GL_NV_shader_subgroup_partitioned) \ + USE_GL_EXT(GL_NV_shader_texture_footprint) \ + USE_GL_EXT(GL_NV_shader_thread_group) \ + USE_GL_EXT(GL_NV_shader_thread_shuffle) \ + USE_GL_EXT(GL_NV_shading_rate_image) \ + USE_GL_EXT(GL_NV_stereo_view_rendering) \ + USE_GL_EXT(GL_NV_tessellation_program5) \ + USE_GL_EXT(GL_NV_texgen_emboss) \ + USE_GL_EXT(GL_NV_texgen_reflection) \ + USE_GL_EXT(GL_NV_texture_barrier) \ + USE_GL_EXT(GL_NV_texture_compression_vtc) \ + USE_GL_EXT(GL_NV_texture_env_combine4) \ + USE_GL_EXT(GL_NV_texture_expand_normal) \ + USE_GL_EXT(GL_NV_texture_multisample) \ + USE_GL_EXT(GL_NV_texture_rectangle) \ + USE_GL_EXT(GL_NV_texture_rectangle_compressed) \ + USE_GL_EXT(GL_NV_texture_shader) \ + USE_GL_EXT(GL_NV_texture_shader2) \ + USE_GL_EXT(GL_NV_texture_shader3) \ + USE_GL_EXT(GL_NV_timeline_semaphore) \ + USE_GL_EXT(GL_NV_transform_feedback) \ + USE_GL_EXT(GL_NV_transform_feedback2) \ + USE_GL_EXT(GL_NV_uniform_buffer_std430_layout) \ + USE_GL_EXT(GL_NV_uniform_buffer_unified_memory) \ + USE_GL_EXT(GL_NV_vdpau_interop) \ + USE_GL_EXT(GL_NV_vdpau_interop2) \ + USE_GL_EXT(GL_NV_vertex_array_range) \ + USE_GL_EXT(GL_NV_vertex_array_range2) \ + USE_GL_EXT(GL_NV_vertex_attrib_integer_64bit) \ + USE_GL_EXT(GL_NV_vertex_buffer_unified_memory) \ + USE_GL_EXT(GL_NV_vertex_program) \ + USE_GL_EXT(GL_NV_vertex_program1_1) \ + USE_GL_EXT(GL_NV_vertex_program2) \ + USE_GL_EXT(GL_NV_vertex_program2_option) \ + USE_GL_EXT(GL_NV_vertex_program3) \ + USE_GL_EXT(GL_NV_vertex_program4) \ + USE_GL_EXT(GL_NV_video_capture) \ + USE_GL_EXT(GL_NV_viewport_array2) \ + USE_GL_EXT(GL_NV_viewport_swizzle) \ + USE_GL_EXT(GL_OES_byte_coordinates) \ + USE_GL_EXT(GL_OES_compressed_paletted_texture) \ + USE_GL_EXT(GL_OES_fixed_point) \ + USE_GL_EXT(GL_OES_query_matrix) \ + USE_GL_EXT(GL_OES_read_format) \ + USE_GL_EXT(GL_OES_single_precision) \ + USE_GL_EXT(GL_OML_interlace) \ + USE_GL_EXT(GL_OML_resample) \ + USE_GL_EXT(GL_OML_subsample) \ + USE_GL_EXT(GL_OVR_multiview) \ + USE_GL_EXT(GL_OVR_multiview2) \ + USE_GL_EXT(GL_PGI_misc_hints) \ + USE_GL_EXT(GL_PGI_vertex_hints) \ + USE_GL_EXT(GL_REND_screen_coordinates) \ + USE_GL_EXT(GL_S3_s3tc) \ + USE_GL_EXT(GL_SGIS_detail_texture) \ + USE_GL_EXT(GL_SGIS_fog_function) \ + USE_GL_EXT(GL_SGIS_generate_mipmap) \ + USE_GL_EXT(GL_SGIS_multisample) \ + USE_GL_EXT(GL_SGIS_multitexture) \ + USE_GL_EXT(GL_SGIS_pixel_texture) \ + USE_GL_EXT(GL_SGIS_point_line_texgen) \ + USE_GL_EXT(GL_SGIS_point_parameters) \ + USE_GL_EXT(GL_SGIS_sharpen_texture) \ + USE_GL_EXT(GL_SGIS_texture4D) \ + USE_GL_EXT(GL_SGIS_texture_border_clamp) \ + USE_GL_EXT(GL_SGIS_texture_color_mask) \ + USE_GL_EXT(GL_SGIS_texture_edge_clamp) \ + USE_GL_EXT(GL_SGIS_texture_filter4) \ + USE_GL_EXT(GL_SGIS_texture_lod) \ + USE_GL_EXT(GL_SGIS_texture_select) \ + USE_GL_EXT(GL_SGIX_async) \ + USE_GL_EXT(GL_SGIX_async_histogram) \ + USE_GL_EXT(GL_SGIX_async_pixel) \ + USE_GL_EXT(GL_SGIX_blend_alpha_minmax) \ + USE_GL_EXT(GL_SGIX_calligraphic_fragment) \ + USE_GL_EXT(GL_SGIX_clipmap) \ + USE_GL_EXT(GL_SGIX_convolution_accuracy) \ + USE_GL_EXT(GL_SGIX_depth_pass_instrument) \ + USE_GL_EXT(GL_SGIX_depth_texture) \ + USE_GL_EXT(GL_SGIX_flush_raster) \ + USE_GL_EXT(GL_SGIX_fog_offset) \ + USE_GL_EXT(GL_SGIX_fragment_lighting) \ + USE_GL_EXT(GL_SGIX_framezoom) \ + USE_GL_EXT(GL_SGIX_igloo_interface) \ + USE_GL_EXT(GL_SGIX_instruments) \ + USE_GL_EXT(GL_SGIX_interlace) \ + USE_GL_EXT(GL_SGIX_ir_instrument1) \ + USE_GL_EXT(GL_SGIX_list_priority) \ + USE_GL_EXT(GL_SGIX_pixel_texture) \ + USE_GL_EXT(GL_SGIX_pixel_tiles) \ + USE_GL_EXT(GL_SGIX_polynomial_ffd) \ + USE_GL_EXT(GL_SGIX_reference_plane) \ + USE_GL_EXT(GL_SGIX_resample) \ + USE_GL_EXT(GL_SGIX_scalebias_hint) \ + USE_GL_EXT(GL_SGIX_shadow) \ + USE_GL_EXT(GL_SGIX_shadow_ambient) \ + USE_GL_EXT(GL_SGIX_sprite) \ + USE_GL_EXT(GL_SGIX_subsample) \ + USE_GL_EXT(GL_SGIX_tag_sample_buffer) \ + USE_GL_EXT(GL_SGIX_texture_add_env) \ + USE_GL_EXT(GL_SGIX_texture_coordinate_clamp) \ + USE_GL_EXT(GL_SGIX_texture_lod_bias) \ + USE_GL_EXT(GL_SGIX_texture_multi_buffer) \ + USE_GL_EXT(GL_SGIX_texture_scale_bias) \ + USE_GL_EXT(GL_SGIX_vertex_preclip) \ + USE_GL_EXT(GL_SGIX_ycrcb) \ + USE_GL_EXT(GL_SGIX_ycrcb_subsample) \ + USE_GL_EXT(GL_SGIX_ycrcba) \ + USE_GL_EXT(GL_SGI_color_matrix) \ + USE_GL_EXT(GL_SGI_color_table) \ + USE_GL_EXT(GL_SGI_texture_color_table) \ + USE_GL_EXT(GL_SUNX_constant_data) \ + USE_GL_EXT(GL_SUN_convolution_border_modes) \ + USE_GL_EXT(GL_SUN_global_alpha) \ + USE_GL_EXT(GL_SUN_mesh_array) \ + USE_GL_EXT(GL_SUN_multi_draw_arrays) \ + USE_GL_EXT(GL_SUN_slice_accum) \ + USE_GL_EXT(GL_SUN_triangle_list) \ + USE_GL_EXT(GL_SUN_vertex) \ + USE_GL_EXT(GL_WIN_phong_shading) \ + USE_GL_EXT(GL_WIN_specular_fog) + +#define ALL_GL_EXTS ALL_GL_CLIENT_EXTS \ + USE_GL_EXT(GL_APPLE_aux_depth_stencil) \ + USE_GL_EXT(GL_APPLE_client_storage) \ + USE_GL_EXT(GL_APPLE_element_array) \ + USE_GL_EXT(GL_APPLE_fence) \ + USE_GL_EXT(GL_APPLE_float_pixels) \ + USE_GL_EXT(GL_APPLE_flush_buffer_range) \ + USE_GL_EXT(GL_APPLE_object_purgeable) \ + USE_GL_EXT(GL_APPLE_rgb_422) \ + USE_GL_EXT(GL_APPLE_row_bytes) \ + USE_GL_EXT(GL_APPLE_specular_vector) \ + USE_GL_EXT(GL_APPLE_texture_range) \ + USE_GL_EXT(GL_APPLE_transform_hint) \ + USE_GL_EXT(GL_APPLE_vertex_array_object) \ + USE_GL_EXT(GL_APPLE_vertex_array_range) \ + USE_GL_EXT(GL_APPLE_vertex_program_evaluators) \ + USE_GL_EXT(GL_APPLE_ycbcr_422) \ + USE_GL_EXT(GL_EXT_memory_object_fd) \ + USE_GL_EXT(GL_EXT_semaphore_fd) + #define ALL_GL_FUNCS \ USE_GL_FUNC(glAccum) \ USE_GL_FUNC(glAlphaFunc) \ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9982