GLSL and ESSL are Khronos high-level shading languages.
Khronos Registries are available for
Extension specifications in this repository are listed below.
This GLSL shading language project contains the following for the GLSL and ESSL Khronos shading languages:
- issue tracking for the core specifications
- issue tracking for shading language extensions (however, vendor-specific extension issues should be discussed with the vendor)
- new shading language extension proposals and discussions
- shading language extensions that do not live in the Khronos registries for OpenGL or OpenGL ES (e.g., those created to enable access to Vulkan features)
Note this family of languages is used by (at least) the following APIs:
- OpenGL: consumes GLSL and ESSL
- OpenGL ES: consumes ESSL
- Vulkan: makes use of GLSL and ESSL, via SPIR-V
While OpenGL and OpenGL ES normatively accept GLSL and ESSL as input into their APIs, this is not true of core Vulkan, which normatively accepts SPIR-V but does not normatively consume a high-level shading language.
- GL_KHR_vulkan_glsl
- GL_EXT_control_flow_attributes
- GL_EXT_device_group
- GL_EXT_multiview
- GL_AMD_shader_fragment_mask
- GL_NVX_multiview_per_view_attributes
- GL_KHR_shader_subgroup
- GL_NV_shader_subgroup_partitioned
- GL_EXT_nonuniform_qualifier
- GL_EXT_samplerless_texture_functions
- GL_EXT_shader_16bit_storage
- GL_KHR_memory_scope_semantics
- GL_NV_compute_shader_derivatives
- GL_NV_fragment_shader_barycentric
- GL_NV_mesh_shader
- GL_NV_shader_texture_footprint
- GL_NV_shading_rate_image
- GL_NV_ray_tracing
- GL_EXT_subgroupuniform_qualifier
- GL_EXT_scalar_block_layout
- GL_EXT_fragment_invocation_density
- GL_EXT_shader_explicit_arithmetic_types
- GL_EXT_buffer_reference
- GL_NV_cooperative_matrix
- GL_EXT_buffer_reference2
- GL_NV_shader_sm_builtins
- GL_EXT_demote_to_helper_invocation
- GL_EXT_shader_realtime_clock
- GLSL_EXT_buffer_reference_uvec2
- GL_EXT_shader_subgroup_extended_types
- GL_EXT_debug_printf