diff --git a/src/mapi/glapi/gen/KHR_shader_subgroup.xml b/src/mapi/glapi/gen/KHR_shader_subgroup.xml
new file mode 100644
index 00000000000..203d72efb78
--- /dev/null
+++ b/src/mapi/glapi/gen/KHR_shader_subgroup.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index b62914e59af..7e9d184b47a 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8491,6 +8491,10 @@
+
+
+
+
diff --git a/src/mapi/glapi/gen/meson.build b/src/mapi/glapi/gen/meson.build
index 45c0ec3c158..db5ac894d4a 100644
--- a/src/mapi/glapi/gen/meson.build
+++ b/src/mapi/glapi/gen/meson.build
@@ -118,6 +118,7 @@ api_xml_files = files(
'KHR_context_flush_control.xml',
'KHR_robustness.xml',
'KHR_robustness_es.xml',
+ 'KHR_shader_subgroup.xml',
'KHR_texture_compression_astc.xml',
'NV_alpha_to_coverage_dither_control.xml',
'NV_copy_image.xml',
diff --git a/src/mesa/main/consts_exts.h b/src/mesa/main/consts_exts.h
index 760d275bc24..62589b6aa1c 100644
--- a/src/mesa/main/consts_exts.h
+++ b/src/mesa/main/consts_exts.h
@@ -249,6 +249,7 @@ struct gl_extensions
GLboolean KHR_blend_equation_advanced;
GLboolean KHR_blend_equation_advanced_coherent;
GLboolean KHR_robustness;
+ GLboolean KHR_shader_subgroup;
GLboolean KHR_texture_compression_astc_hdr;
GLboolean KHR_texture_compression_astc_ldr;
GLboolean KHR_texture_compression_astc_sliced_3d;
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index 25e7bc99991..433ced540a5 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -381,6 +381,7 @@ EXT(KHR_no_error , dummy_true
EXT(KHR_parallel_shader_compile , dummy_true , GLL, GLC, x , ES2, 2017)
EXT(KHR_robust_buffer_access_behavior , ARB_robust_buffer_access_behavior , GLL, GLC, x , ES2, 2014)
EXT(KHR_robustness , KHR_robustness , GLL, GLC, x , ES2, 2012)
+EXT(KHR_shader_subgroup , KHR_shader_subgroup , 43, 43, x , 31, 2019)
EXT(KHR_texture_compression_astc_hdr , KHR_texture_compression_astc_hdr , GLL, GLC, x , ES2, 2012)
EXT(KHR_texture_compression_astc_ldr , KHR_texture_compression_astc_ldr , GLL, GLC, x , ES2, 2012)
EXT(KHR_texture_compression_astc_sliced_3d , KHR_texture_compression_astc_sliced_3d , GLL, GLC, x , ES2, 2015)
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index e03c6a0eb39..8dd586e47f8 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -843,6 +843,8 @@ void st_init_extensions(struct pipe_screen *screen,
{ o(EXT_transform_feedback), PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS },
{ o(EXT_window_rectangles), PIPE_CAP_MAX_WINDOW_RECTANGLES },
+ { o(KHR_shader_subgroup), PIPE_CAP_SHADER_SUBGROUP_SIZE },
+
{ o(AMD_depth_clamp_separate), PIPE_CAP_DEPTH_CLIP_DISABLE_SEPARATE },
{ o(AMD_framebuffer_multisample_advanced), PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTS },
{ o(AMD_gpu_shader_half_float), PIPE_CAP_FP16 },