From 8b7734a057b80c53b71a9428685ede89e13d9686 Mon Sep 17 00:00:00 2001 From: Jiawei Shao Date: Wed, 24 Jun 2026 14:21:40 +0800 Subject: [PATCH 1/2] Add "subgroup-size-control" feature This patch adds the "subgroup-size-control" feature added in gpuweb/gpuweb#5578. --- webgpu.h | 9 +++++---- webgpu.json | 4 ++++ webgpu.yml | 3 +++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/webgpu.h b/webgpu.h index 73a3e0e..2687cf0 100644 --- a/webgpu.h +++ b/webgpu.h @@ -657,10 +657,11 @@ typedef enum WGPUFeatureName { WGPUFeatureName_ClipDistances = 0x00000010, WGPUFeatureName_DualSourceBlending = 0x00000011, WGPUFeatureName_Subgroups = 0x00000012, - WGPUFeatureName_TextureFormatsTier1 = 0x00000013, - WGPUFeatureName_TextureFormatsTier2 = 0x00000014, - WGPUFeatureName_PrimitiveIndex = 0x00000015, - WGPUFeatureName_TextureComponentSwizzle = 0x00000016, + WGPUFeatureName_SubgroupSizeControl = 0x00000013, + WGPUFeatureName_TextureFormatsTier1 = 0x00000014, + WGPUFeatureName_TextureFormatsTier2 = 0x00000015, + WGPUFeatureName_PrimitiveIndex = 0x00000016, + WGPUFeatureName_TextureComponentSwizzle = 0x00000017, WGPUFeatureName_Force32 = 0x7FFFFFFF } WGPUFeatureName WGPU_ENUM_ATTRIBUTE; diff --git a/webgpu.json b/webgpu.json index 26c7750..fb0c411 100644 --- a/webgpu.json +++ b/webgpu.json @@ -1051,6 +1051,10 @@ "doc": "TODO\n", "name": "subgroups" }, + { + "doc": "TODO\n", + "name": "subgroup_size_control" + }, { "doc": "TODO\n", "name": "texture_formats_tier_1" diff --git a/webgpu.yml b/webgpu.yml index 7af5f8b..69be624 100644 --- a/webgpu.yml +++ b/webgpu.yml @@ -520,6 +520,9 @@ enums: - name: subgroups doc: | TODO + - name: subgroup_size_control + doc: | + TODO - name: texture_formats_tier_1 doc: | TODO From 6b4bf7eb1c3db6e2dd7dbdc3d7611e8a63e3a336 Mon Sep 17 00:00:00 2001 From: Jiawei Shao Date: Wed, 24 Jun 2026 16:45:25 +0800 Subject: [PATCH 2/2] Move "subgroup-size-control" to the last one --- webgpu.h | 10 +++++----- webgpu.json | 8 ++++---- webgpu.yml | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/webgpu.h b/webgpu.h index 2687cf0..71f61f1 100644 --- a/webgpu.h +++ b/webgpu.h @@ -657,11 +657,11 @@ typedef enum WGPUFeatureName { WGPUFeatureName_ClipDistances = 0x00000010, WGPUFeatureName_DualSourceBlending = 0x00000011, WGPUFeatureName_Subgroups = 0x00000012, - WGPUFeatureName_SubgroupSizeControl = 0x00000013, - WGPUFeatureName_TextureFormatsTier1 = 0x00000014, - WGPUFeatureName_TextureFormatsTier2 = 0x00000015, - WGPUFeatureName_PrimitiveIndex = 0x00000016, - WGPUFeatureName_TextureComponentSwizzle = 0x00000017, + WGPUFeatureName_TextureFormatsTier1 = 0x00000013, + WGPUFeatureName_TextureFormatsTier2 = 0x00000014, + WGPUFeatureName_PrimitiveIndex = 0x00000015, + WGPUFeatureName_TextureComponentSwizzle = 0x00000016, + WGPUFeatureName_SubgroupSizeControl = 0x00000017, WGPUFeatureName_Force32 = 0x7FFFFFFF } WGPUFeatureName WGPU_ENUM_ATTRIBUTE; diff --git a/webgpu.json b/webgpu.json index fb0c411..a772a4e 100644 --- a/webgpu.json +++ b/webgpu.json @@ -1051,10 +1051,6 @@ "doc": "TODO\n", "name": "subgroups" }, - { - "doc": "TODO\n", - "name": "subgroup_size_control" - }, { "doc": "TODO\n", "name": "texture_formats_tier_1" @@ -1070,6 +1066,10 @@ { "doc": "TODO\n", "name": "texture_component_swizzle" + }, + { + "doc": "TODO\n", + "name": "subgroup_size_control" } ], "name": "feature_name" diff --git a/webgpu.yml b/webgpu.yml index 69be624..bb9c264 100644 --- a/webgpu.yml +++ b/webgpu.yml @@ -520,9 +520,6 @@ enums: - name: subgroups doc: | TODO - - name: subgroup_size_control - doc: | - TODO - name: texture_formats_tier_1 doc: | TODO @@ -535,6 +532,9 @@ enums: - name: texture_component_swizzle doc: | TODO + - name: subgroup_size_control + doc: | + TODO - name: filter_mode doc: | TODO