diff --git a/ffi/wgpu.h b/ffi/wgpu.h index 28a51f62..15197a4d 100644 --- a/ffi/wgpu.h +++ b/ffi/wgpu.h @@ -53,6 +53,9 @@ typedef enum WGPUNativeFeature { WGPUNativeFeature_ShaderI16 = 0x0003001E, WGPUNativeFeature_ShaderPrimitiveIndex = 0x0003001F, WGPUNativeFeature_ShaderEarlyDepthTest = 0x00030020, + WGPUNativeFeature_Subgroup = 0x00030021, + WGPUNativeFeature_SubgroupVertex = 0x00030022, + WGPUNativeFeature_SubgroupBarrier = 0x00030023, WGPUNativeFeature_Force32 = 0x7FFFFFFF } WGPUNativeFeature; diff --git a/src/conv.rs b/src/conv.rs index 9ac434ba..53a5b8b6 100644 --- a/src/conv.rs +++ b/src/conv.rs @@ -1217,6 +1217,15 @@ pub fn features_to_native(features: wgt::Features) -> Vec Option { native::WGPUNativeFeature_ShaderF64 => Some(Features::SHADER_F64), native::WGPUNativeFeature_ShaderPrimitiveIndex => Some(Features::SHADER_PRIMITIVE_INDEX), native::WGPUNativeFeature_ShaderEarlyDepthTest => Some(Features::SHADER_EARLY_DEPTH_TEST), + native::WGPUNativeFeature_Subgroup => Some(Features::SUBGROUP), + native::WGPUNativeFeature_SubgroupVertex => Some(Features::SUBGROUP_VERTEX), + native::WGPUNativeFeature_SubgroupBarrier => Some(Features::SUBGROUP_BARRIER), // fallback, probably not available in wgpu-core _ => None, }