The following list are all the extension that can be used inside the glsl shaders for OpenGL exclusivity. That can be enable or disabled as well conditionally check if present to determine if a set of code can be used or not during compilation. There are some additional that are glsl-specific that can be used both for Vulkan and OpenGL
OVR
ANDROID
ARB
- GL_ARB_ES3_2_compatibility
- GL_ARB_texture_multisample
- GL_ARB_fragment_layer_viewport
- GL_ARB_shader_storage_buffer_object
- GL_ARB_bindless_texture
- GL_ARB_geometry_shader4
- GL_ARB_explicit_uniform_location
- GL_ARB_fragment_coord_conventions
- GL_ARB_fragment_shader_interlock
- GL_ARB_vertex_attrib_64bit
- GL_ARB_shader_atomic_counters
- GL_ARB_draw_instanced
- GL_ARB_shader_precision
- GL_ARB_gpu_shader_fp64
- GL_ARB_sparse_texture_clamp
- GL_ARB_shader_subroutine
- GL_ARB_tessellation_shader
- GL_ARB_uniform_buffer_object
- GL_ARB_derivative_control
- GL_ARB_shader_group_vote
- GL_ARB_post_depth_coverage
- GL_ARB_gpu_shader5
- GL_ARB_shading_language_packing
- GL_ARB_sparse_texture2
- GL_ARB_separate_shader_objects
- GL_ARB_shader_viewport_layer_array
- GL_ARB_enhanced_layouts
- GL_ARB_compute_variable_group_size
- GL_ARB_texture_cube_map_array
- GL_ARB_shader_draw_parameters
- GL_ARB_shader_image_load_store
- GL_ARB_conservative_depth
- GL_ARB_shader_clock
- GL_ARB_cull_distance
- GL_ARB_shading_language_include
- GL_ARB_gpu_shader_int64
- GL_ARB_explicit_attrib_location
- GL_ARB_shading_language_420pack
- GL_ARB_ES3_1_compatibility
- GL_ARB_shader_ballot
- GL_ARB_shader_texture_lod
OES
- GL_OES_texture_cube_map_array
- GL_OES_geometry_shader
- GL_OES_primitive_bounding_box
- GL_OES_shader_image_atomic
- GL_OES_texture_buffer
- GL_OES_gpu_shader5
- GL_OES_tessellation_shader
- GL_OES_texture_storage_multisample_2d_array
- GL_OES_shader_io_blocks
- GL_OES_shader_multisample_interpolation
NV
- GL_NV_bindless_texture
- GL_NV_non_square_matrices
- GL_NV_uniform_buffer_std430_layout
- GL_NV_conservative_raster_underestimation
- GL_NV_shader_thread_group
- GL_NV_explicit_attrib_location
- GL_NV_shader_atomic_float64
- GL_NV_stereo_view_rendering
- GL_NV_shader_atomic_float
- GL_NV_shader_atomic_fp16_vector
- GL_NV_viewport_array2
- GL_NV_shader_noperspective_interpolation
- GL_NV_geometry_shader_passthrough
- GL_NV_shader_atomic_int64
- GL_NV_image_formats
- GL_NV_draw_instanced
- GL_NV_command_list
- GL_NV_gpu_shader5
- GL_NV_sample_mask_override_coverage
- GL_NV_explicit_multisample
- GL_NV_shader_thread_shuffle
- GL_NV_fragment_shader_interlock
MESA
ARM
INTEL
- GL_INTEL_conservative_rasterization
- GL_INTEL_shader_integer_functions2
- GL_INTEL_fragment_shader_ordering
KHR
QCOM
- GL_QCOM_texture_foveated_subsampled_layout
- GL_QCOM_YUV_texture_gather
- GL_QCOM_shader_framebuffer_fetch_rate
AMD
- GL_AMD_shader_explicit_vertex_parameter
- GL_AMD_shader_ballot
- GL_AMD_gpu_shader_half_float_fetch
- GL_AMD_shader_image_load_store_lod
- GL_AMD_gpu_shader_half_float
- GL_AMD_conservative_depth
- GL_AMD_texture_gather_bias_lod
- GL_AMD_gpu_shader_int64
- GL_AMD_vertex_shader_tessellator
- GL_AMD_gpu_shader_int16
EXT
- GL_EXT_shader_integer_mix
- GL_EXT_shader_io_blocks
- GL_EXT_geometry_shader
- GL_EXT_geometry_shader4
- GL_EXT_texture_shadow_lod
- GL_EXT_gpu_shader4
- GL_EXT_shader_image_load_store
- GL_EXT_multiview_tessellation_geometry_shader
- GL_EXT_texture_array
- GL_EXT_shader_pixel_local_storage2
- GL_EXT_shader_pixel_local_storage
- GL_EXT_gpu_shader5
- GL_EXT_blend_func_extended
- GL_EXT_draw_instanced
- GL_EXT_separate_shader_objects
- GL_EXT_shader_group_vote
- GL_EXT_vertex_attrib_64bit
- GL_EXT_conservative_depth
- GL_EXT_texture_buffer
- GL_EXT_primitive_bounding_box
- GL_EXT_shader_clock
- GL_EXT_shader_texture_lod
- GL_EXT_sparse_texture2
- GL_EXT_texture_cube_map_array
- GL_EXT_shader_image_load_formatted
- GL_EXT_bindable_uniform
- GL_EXT_shader_framebuffer_fetch
- GL_EXT_shader_implicit_conversions
- GL_EXT_tessellation_shader
- GL_EXT_shader_non_constant_global_initializers
- GL_EXT_clip_cull_distance
- GL_EXT_post_depth_coverage
APPLE
IMG
Note that the list is derivative from an algorithm that search all OpenGL registry of all its extensions, and find if it might mention about GLSL extension. However, sometime they are not consistent and therefore it might find incorrect extensions.
Support me by donation or by using the Affiliate links for your next purchase to help maintain this website.

Free/Open software developer, Linux user, Graphic C/C++ software developer, network & hardware enthusiast.




