README.adoc

May 26, 2026 ยท View on GitHub

// Copyright 2008-2026 The Khronos Group Inc. // SPDX-License-Identifier: CC-BY-4.0

= GLSL

This repository contains source for the GLSL Specification and GLSL extensions.

It is notably for Vulkan related GLSL extensions, but technically for those that do not live in the Khronos registries for OpenGL or OpenGL ES.

== Differences between Gitlab and GitHub repositories

  • The Khronos internal gitlab version of this repository is a (lagging) mirror of the public repository at https://github.com/KhronosGroup/GLSL, and additionally contains GLSL spec source that is not yet published.
  • Once something moves to GitHub, the GitHub version will be considered the true source of the extension.

== This Project Contains

  • new shading language extension proposals and discussions
  • issue tracking for these unreleased extensions

== Extension Specifications in this Repository

:repo: https://github.com/KhronosGroup/GLSL/blob/main/extensions

  • link:{repo}/khr/GL_KHR_vulkan_glsl.txt[GL_KHR_vulkan_glsl]
  • link:{repo}/ext/GL_EXT_vulkan_glsl_relaxed.txt[GL_EXT_vulkan_glsl_relaxed]
  • link:{repo}/ext/GL_EXT_control_flow_attributes.txt[GL_EXT_control_flow_attributes]
  • link:{repo}/ext/GL_EXT_device_group.txt[GL_EXT_device_group]
  • link:{repo}/ext/GL_EXT_multiview.txt[GL_EXT_multiview]
  • link:{repo}/amd/GL_AMD_shader_fragment_mask.txt[GL_AMD_shader_fragment_mask]
  • link:{repo}/nvx/GL_NVX_multiview_per_view_attributes.txt[GL_NVX_multiview_per_view_attributes]
  • link:{repo}/khr/GL_KHR_shader_subgroup.txt[GL_KHR_shader_subgroup]
  • link:{repo}/nv/GL_NV_shader_subgroup_partitioned.txt[GL_NV_shader_subgroup_partitioned]
  • link:{repo}/ext/GL_EXT_nonuniform_qualifier.txt[GL_EXT_nonuniform_qualifier]
  • link:{repo}/ext/GL_EXT_samplerless_texture_functions.txt[GL_EXT_samplerless_texture_functions]
  • link:{repo}/ext/GL_EXT_shader_16bit_storage.txt[GL_EXT_shader_16bit_storage]
  • link:{repo}/khr/GL_KHR_memory_scope_semantics.txt[GL_KHR_memory_scope_semantics]
  • link:{repo}/nv/GLSL_NV_compute_shader_derivatives.txt[GL_NV_compute_shader_derivatives]
  • link:{repo}/nv/GLSL_NV_fragment_shader_barycentric.txt[GL_NV_fragment_shader_barycentric]
  • link:{repo}/nv/GLSL_NV_mesh_shader.txt[GL_NV_mesh_shader]
  • link:{repo}/nv/GLSL_NV_shader_texture_footprint.txt[GL_NV_shader_texture_footprint]
  • link:{repo}/nv/GLSL_NV_shading_rate_image.txt[GL_NV_shading_rate_image]
  • link:{repo}/nv/GLSL_NV_ray_tracing.txt[GL_NV_ray_tracing]
  • link:{repo}/ext/GL_EXT_subgroupuniform_qualifier.txt[GL_EXT_subgroupuniform_qualifier]
  • link:{repo}/ext/GL_EXT_scalar_block_layout.txt[GL_EXT_scalar_block_layout]
  • link:{repo}/ext/GLSL_EXT_fragment_invocation_density.txt[GL_EXT_fragment_invocation_density]
  • link:{repo}/ext/GL_EXT_shader_explicit_arithmetic_types.txt[GL_EXT_shader_explicit_arithmetic_types]
  • link:{repo}/ext/GLSL_EXT_buffer_reference.txt[GL_EXT_buffer_reference]
  • link:{repo}/nv/GLSL_NV_cooperative_matrix.txt[GL_NV_cooperative_matrix]
  • link:{repo}/ext/GLSL_EXT_buffer_reference2.txt[GL_EXT_buffer_reference2]
  • link:{repo}/nv/GLSL_NV_shader_sm_builtins.txt[GL_NV_shader_sm_builtins]
  • link:{repo}/ext/GLSL_EXT_demote_to_helper_invocation.txt[GL_EXT_demote_to_helper_invocation]
  • link:{repo}/ext/GL_EXT_shader_realtime_clock.txt[GL_EXT_shader_realtime_clock]
  • link:{repo}/ext/GLSL_EXT_buffer_reference_uvec2.txt[GL_EXT_buffer_reference_uvec2]
  • link:{repo}/ext/GLSL_EXT_shader_subgroup_extended_types.txt[GL_EXT_shader_subgroup_extended_types]
  • link:{repo}/ext/GLSL_EXT_debug_printf.txt[GL_EXT_debug_printf]
  • link:{repo}/ext/GLSL_EXT_ray_tracing.txt[GL_EXT_ray_tracing]
  • link:{repo}/ext/GLSL_EXT_ray_query.txt[GL_EXT_ray_query]
  • link:{repo}/ext/GLSL_EXT_ray_flags_primitive_culling.txt[GL_EXT_ray_flags_primitive_culling]
  • link:{repo}/ext/GLSL_EXT_shader_atomic_float.txt[GL_EXT_shader_atomic_float]
  • link:{repo}/ext/GLSL_EXT_fragment_shading_rate.txt[GL_EXT_fragment_shading_rate]
  • link:{repo}/ext/GLSL_EXT_shader_image_int64.txt[GL_EXT_shader_image_int64]
  • link:{repo}/nv/GLSL_NV_primitive_shading_rate.txt[GL_NV_primitive_shading_rate]
  • link:{repo}/ext/GL_EXT_shared_memory_block.txt[GL_EXT_shared_memory_block]
  • link:{repo}/huawei/GLSL_HUAWEI_subpass_shading.txt[GL_HUAWEI_subpass_shading]
  • link:{repo}/ext/GL_EXT_subgroup_uniform_control_flow.txt[GL_EXT_subgroup_uniform_control_flow]
  • link:{repo}/nv/GLSL_NV_ray_tracing_motion_blur.txt[GL_NV_ray_tracing_motion_blur]
  • link:{repo}/ext/GLSL_EXT_ray_cull_mask.txt[GL_EXT_ray_cull_mask]
  • link:{repo}/ext/GLSL_EXT_fragment_shader_barycentric.txt[GL_EXT_fragment_shader_barycentric]
  • link:{repo}/ext/GLSL_EXT_mesh_shader.txt[GL_EXT_mesh_shader]
  • link:{repo}/ext/GLSL_EXT_opacity_micromap.txt[GL_EXT_opacity_micromap]
  • link:{repo}/nv/GLSL_NV_shader_invocation_reorder.txt[GL_NV_shader_invocation_reorder]
  • link:{repo}/arm/GLSL_ARM_shader_core_builtins.txt[GL_ARM_shader_core_builtins]
  • link:{repo}/huawei/GLSL_HUAWEI_cluster_culling_shader.txt[GL_HUAWEI_cluster_culling_shader]
  • link:{repo}/qcom/GLSL_QCOM_image_processing.txt[GL_QCOM_image_processing]
  • link:{repo}/ext/GLSL_EXT_ray_tracing_position_fetch.txt[GL_EXT_ray_tracing_position_fetch]
  • link:{repo}/ext/GL_EXT_null_initializer.txt[GL_EXT_null_initializer]
  • link:{repo}/ext/GL_EXT_terminate_invocation.txt[GL_EXT_terminate_invocation]
  • link:{repo}/khr/GLSL_KHR_cooperative_matrix.txt[GL_KHR_cooperative_matrix]
  • link:{repo}/nv/GLSL_NV_displacement_micromap.txt[GL_NV_displacement_micromap]
  • link:{repo}/ext/GL_EXT_maximal_reconvergence.txt[GL_EXT_maximal_reconvergence]
  • link:{repo}/ext/GLSL_EXT_spec_constant_composites.txt[GL_EXT_spec_constant_composites]
  • link:{repo}/ext/GLSL_EXT_shader_atomic_float2.txt[GLSL_EXT_shader_atomic_float2]
  • link:{repo}/ext/GLSL_EXT_shader_tile_image.txt[GLSL_EXT_shader_tile_image]
  • link:{repo}/ext/GLSL_EXT_spirv_intrinsics.txt[GLSL_EXT_spirv_intrinsics]
  • link:{repo}/ext/GL_EXT_control_flow_attributes2.txt[GL_EXT_control_flow_attributes2]
  • link:{repo}/ext/GL_EXT_shader_atomic_int64.txt[GL_EXT_shader_atomic_int64]
  • link:{repo}/ext/GL_EXT_expect_assume.txt[GL_EXT_expect_assume]
  • link:{repo}/qcom/GLSL_QCOM_image_processing2.txt[GL_QCOM_image_processing2]
  • link:{repo}/khr/GL_KHR_shader_subgroup_rotate.txt[GL_KHR_shader_subgroup_rotate]
  • link:{repo}/arm/GL_ARM_cooperative_matrix_layouts.txt[GL_ARM_cooperative_matrix_layouts]
  • link:{repo}/ext/GL_EXT_texture_offset_non_const.txt[GL_EXT_texture_offset_non_const]
  • link:{repo}/nv/GLSL_NV_cooperative_matrix2.txt[GL_NV_cooperative_matrix2]
  • link:{repo}/ext/GLSL_EXT_shader_quad_control.txt[GL_EXT_shader_quad_control]
  • link:{repo}/ext/GLSL_EXT_integer_dot_product.txt[GL_EXT_integer_dot_product]
  • link:{repo}/nv/GLSL_NV_cooperative_vector.txt[GL_NV_cooperative_vector]
  • link:{repo}/nv/GLSL_NV_cluster_acceleration_structure.txt[GL_NV_cluster_acceleration_structure]
  • link:{repo}/nv/GLSL_NV_linear_swept_spheres.txt[GL_NV_linear_swept_spheres]
  • link:{repo}/ext/GLSL_EXT_nontemporal_keyword.txt[GL_EXT_nontemporal_keyword]
  • link:{repo}/qcom/GLSL_QCOM_tile_shading.txt[GL_QCOM_tile_shading]
  • link:{repo}/ext/GL_EXT_float8_e5m2_e4m3.txt[GL_EXT_float8_e5m2_e4m3]
  • link:{repo}/ext/GL_EXT_shader_64bit_indexing.txt[GL_EXT_shader_64bit_indexing]
  • link:{repo}/ext/GLSL_EXT_shader_invocation_reorder.txt[GL_EXT_shader_invocation_reorder]
  • link:{repo}/ext/GLSL_EXT_long_vector.txt[GL_EXT_long_vector]
  • link:{repo}/ext/GLSL_EXT_uniform_buffer_unsized_array.txt[GL_EXT_uniform_buffer_unsized_array]
  • link:{repo}/nv/GLSL_NV_push_constant_bank.txt[GL_NV_push_constant_bank]
  • link:{repo}/ext/GLSL_EXT_descriptor_heap.txt[GL_EXT_descriptor_heap]
  • link:{repo}/nv/GLSL_NV_explicit_typecast.txt[GL_NV_explicit_typecast]
  • link:{repo}/nv/GLSL_NV_cooperative_matrix_decode_vector.txt[GLSL_NV_cooperative_matrix_decode_vector]