@@ -996,10 +996,8 @@ pub enum PipelineCacheError {
996996
997997// TODO: This needs to be kept up to date with the capabilities in the `create_validator` function in wgpu-core
998998// https://github.com/gfx-rs/wgpu/blob/trunk/wgpu-core/src/device/mod.rs#L449
999- // We use a modified version of the `create_validator` function because `naga_oil`'s composer stores the capabilities
1000- // and subgroup shader stages instead of a `Validator`.
1001- // We also can't use that function because `wgpu-core` isn't included in WebGPU builds.
1002- /// Get the device capabilities and subgroup support for use in `naga_oil`.
999+ // We can't use the `wgpu-core` function to detect the device's capabilities because `wgpu-core` isn't included in WebGPU builds.
1000+ /// Get the device's capabilities for use in `naga_oil`.
10031001fn get_capabilities ( features : Features , downlevel : DownlevelFlags ) -> Capabilities {
10041002 let mut capabilities = Capabilities :: empty ( ) ;
10051003 capabilities. set (
@@ -1043,6 +1041,16 @@ fn get_capabilities(features: Features, downlevel: DownlevelFlags) -> Capabiliti
10431041 Capabilities :: SHADER_INT64 ,
10441042 features. contains ( Features :: SHADER_INT64 ) ,
10451043 ) ;
1044+ capabilities. set (
1045+ Capabilities :: SHADER_INT64_ATOMIC_MIN_MAX ,
1046+ features. intersects (
1047+ Features :: SHADER_INT64_ATOMIC_MIN_MAX | Features :: SHADER_INT64_ATOMIC_ALL_OPS ,
1048+ ) ,
1049+ ) ;
1050+ capabilities. set (
1051+ Capabilities :: SHADER_INT64_ATOMIC_ALL_OPS ,
1052+ features. contains ( Features :: SHADER_INT64_ATOMIC_ALL_OPS ) ,
1053+ ) ;
10461054 capabilities. set (
10471055 Capabilities :: MULTISAMPLED_SHADING ,
10481056 downlevel. contains ( DownlevelFlags :: MULTISAMPLED_SHADING ) ,
@@ -1063,6 +1071,10 @@ fn get_capabilities(features: Features, downlevel: DownlevelFlags) -> Capabiliti
10631071 Capabilities :: SUBGROUP_BARRIER ,
10641072 features. intersects ( Features :: SUBGROUP_BARRIER ) ,
10651073 ) ;
1074+ capabilities. set (
1075+ Capabilities :: SUBGROUP_VERTEX_STAGE ,
1076+ features. contains ( Features :: SUBGROUP_VERTEX ) ,
1077+ ) ;
10661078
10671079 capabilities
10681080}
0 commit comments