@@ -1043,8 +1043,8 @@ macro_rules! check_one_validation {
10431043/// programs earlier.
10441044///
10451045/// Multiple capabilities can be specified in the macro argument in the case
1046- /// where any one of them grants access to a feature (e.g. `SUBGROUP ` and
1047- /// `SUBGROUP_BARRIER ` for `subgroupBarrier`). When passing multiple capabilities,
1046+ /// where any one of them grants access to a feature (e.g. `SUBGROUPS ` and
1047+ /// `SUBGROUPS_BARRIER ` for `subgroupBarrier`). When passing multiple capabilities,
10481048/// all of the passed capabilities must be covered by the same enable-extension.
10491049///
10501050/// NOTE: The only reason we don't use a function for this is because we need to syntactically
@@ -3912,7 +3912,7 @@ fn subgroup_capability() {
39123912
39133913 // Non-barrier subgroup operations...
39143914
3915- // ...in fragment and compute shaders require [`Capabilities::SUBGROUP `]`.
3915+ // ...in fragment and compute shaders require [`Capabilities::SUBGROUPS `]`.
39163916 for stage in [ naga:: ShaderStage :: Fragment , naga:: ShaderStage :: Compute ] {
39173917 let stage_attr = match stage {
39183918 naga:: ShaderStage :: Fragment => "@fragment" ,
@@ -3929,14 +3929,14 @@ fn subgroup_capability() {
39293929 Err ( naga:: valid:: ValidationError :: EntryPoint {
39303930 stage: err_stage,
39313931 source: naga:: valid:: EntryPointError :: Function (
3932- naga:: valid:: FunctionError :: MissingCapability ( Capabilities :: SUBGROUP )
3932+ naga:: valid:: FunctionError :: MissingCapability ( Capabilities :: SUBGROUPS )
39333933 ) ,
39343934 ..
39353935 } ) if * err_stage == stage
39363936 }
39373937 }
39383938
3939- // ...in fragment and compute shaders require *only* [`Capabilities::SUBGROUP `]`.
3939+ // ...in fragment and compute shaders require *only* [`Capabilities::SUBGROUPS `]`.
39403940 for stage in [ naga:: ShaderStage :: Fragment , naga:: ShaderStage :: Compute ] {
39413941 let stage_attr = match stage {
39423942 naga:: ShaderStage :: Fragment => "@fragment" ,
@@ -3952,15 +3952,18 @@ fn subgroup_capability() {
39523952 }}
39533953 "
39543954 ) ,
3955- Capabilities :: SUBGROUP ,
3955+ Capabilities :: SUBGROUPS ,
39563956 ) ;
39573957 }
39583958
3959- // ...in vertex shaders require both [`Capabilities::SUBGROUP`] and
3960- // [`Capabilities::SUBGROUP_VERTEX_STAGE`]`. (But note that
3961- // `create_validator` automatically sets `Capabilities::SUBGROUP` whenever
3962- // `Features::SUBGROUP_VERTEX` is available.)
3963- for cap in [ Capabilities :: SUBGROUP , Capabilities :: SUBGROUP_VERTEX_STAGE ] {
3959+ // ...in vertex shaders require both [`Capabilities::SUBGROUPS`] and
3960+ // [`Capabilities::SUBGROUPS_VERTEX_STAGE`]`. (But note that
3961+ // `create_validator` automatically sets `Capabilities::SUBGROUPS` whenever
3962+ // `Features::SUBGROUPS_VERTEX` is available.)
3963+ for cap in [
3964+ Capabilities :: SUBGROUPS ,
3965+ Capabilities :: SUBGROUPS_VERTEX_STAGE ,
3966+ ] {
39643967 check_validation ! {
39653968 "
39663969 @vertex
@@ -3981,13 +3984,13 @@ fn subgroup_capability() {
39813984 return vec4();
39823985 }}
39833986 " ,
3984- Capabilities :: SUBGROUP | Capabilities :: SUBGROUP_VERTEX_STAGE ,
3987+ Capabilities :: SUBGROUPS | Capabilities :: SUBGROUPS_VERTEX_STAGE ,
39853988 ) ;
39863989
39873990 // Subgroup barriers...
39883991
3989- // ...require both SUBGROUP and SUBGROUP_BARRIER .
3990- for cap in [ Capabilities :: SUBGROUP , Capabilities :: SUBGROUP_BARRIER ] {
3992+ // ...require both SUBGROUPS and SUBGROUPS_BARRIER .
3993+ for cap in [ Capabilities :: SUBGROUPS , Capabilities :: SUBGROUPS_BARRIER ] {
39913994 check_validation ! {
39923995 r#"
39933996 @compute @workgroup_size(1)
@@ -4001,7 +4004,7 @@ fn subgroup_capability() {
40014004 naga:: valid:: FunctionError :: MissingCapability ( required_caps)
40024005 ) ,
40034006 ..
4004- } ) if * required_caps == Capabilities :: SUBGROUP | Capabilities :: SUBGROUP_BARRIER ,
4007+ } ) if * required_caps == Capabilities :: SUBGROUPS | Capabilities :: SUBGROUPS_BARRIER ,
40054008 cap
40064009 }
40074010 }
@@ -4020,7 +4023,7 @@ fn subgroup_capability() {
40204023 source: naga:: valid:: EntryPointError :: ForbiddenStageOperations ,
40214024 ..
40224025 } ) ,
4023- Capabilities :: SUBGROUP | Capabilities :: SUBGROUP_BARRIER | Capabilities :: SUBGROUP_VERTEX_STAGE
4026+ Capabilities :: SUBGROUPS | Capabilities :: SUBGROUPS_BARRIER | Capabilities :: SUBGROUPS_VERTEX_STAGE
40244027 }
40254028
40264029 // ...are never supported in fragment shaders.
@@ -4036,12 +4039,12 @@ fn subgroup_capability() {
40364039 source: naga:: valid:: EntryPointError :: ForbiddenStageOperations ,
40374040 ..
40384041 } ) ,
4039- Capabilities :: SUBGROUP | Capabilities :: SUBGROUP_BARRIER
4042+ Capabilities :: SUBGROUPS | Capabilities :: SUBGROUPS_BARRIER
40404043 }
40414044
40424045 // The `subgroup_id` built-in...
40434046
4044- // ...in compute shaders requires [`Capabilities::SUBGROUP `]`.
4047+ // ...in compute shaders requires [`Capabilities::SUBGROUPS `]`.
40454048 check_one_validation ! {
40464049 "
40474050 @compute @workgroup_size(1)
@@ -4052,20 +4055,20 @@ fn subgroup_capability() {
40524055 stage: naga:: ShaderStage :: Compute ,
40534056 source: naga:: valid:: EntryPointError :: Argument (
40544057 _,
4055- naga:: valid:: VaryingError :: UnsupportedCapability ( Capabilities :: SUBGROUP )
4058+ naga:: valid:: VaryingError :: UnsupportedCapability ( Capabilities :: SUBGROUPS )
40564059 ) ,
40574060 ..
40584061 } )
40594062 }
40604063
4061- // ...in compute shaders requires *only* [`Capabilities::SUBGROUP `]`.
4064+ // ...in compute shaders requires *only* [`Capabilities::SUBGROUPS `]`.
40624065 no_validation_error (
40634066 "
40644067 @compute @workgroup_size(1)
40654068 fn main(@builtin(subgroup_id) subgroup_id: u32) {{
40664069 }}
40674070 " ,
4068- Capabilities :: SUBGROUP ,
4071+ Capabilities :: SUBGROUPS ,
40694072 ) ;
40704073}
40714074
@@ -4083,7 +4086,7 @@ fn subgroup_invalid_broadcast() {
40834086 ) ,
40844087 ..
40854088 } ) ,
4086- naga:: valid:: Capabilities :: SUBGROUP
4089+ naga:: valid:: Capabilities :: SUBGROUPS
40874090 }
40884091 check_validation ! {
40894092 r#"
@@ -4097,7 +4100,7 @@ fn subgroup_invalid_broadcast() {
40974100 ) ,
40984101 ..
40994102 } ) ,
4100- naga:: valid:: Capabilities :: SUBGROUP
4103+ naga:: valid:: Capabilities :: SUBGROUPS
41014104 }
41024105}
41034106
0 commit comments