Skip to content

Commit 3805768

Browse files
authored
[naga] mark readonly_and_readwrite_storage_textures & packed_4x8_integer_dot_product language extensions as implemented (gfx-rs#7543)
1 parent 78d05f5 commit 3805768

2 files changed

Lines changed: 18 additions & 14 deletions

File tree

naga/src/front/wgsl/parse/directive/language_extension.rs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ impl LanguageExtension {
2424
/// Convert from a sentinel word in WGSL into its associated [`LanguageExtension`], if possible.
2525
pub fn from_ident(s: &str) -> Option<Self> {
2626
Some(match s {
27-
Self::READONLY_AND_READWRITE_STORAGE_TEXTURES => Self::Unimplemented(
28-
UnimplementedLanguageExtension::ReadOnlyAndReadWriteStorageTextures,
29-
),
27+
Self::READONLY_AND_READWRITE_STORAGE_TEXTURES => {
28+
Self::Implemented(ImplementedLanguageExtension::ReadOnlyAndReadWriteStorageTextures)
29+
}
3030
Self::PACKED4X8_INTEGER_DOT_PRODUCT => {
31-
Self::Unimplemented(UnimplementedLanguageExtension::Packed4x8IntegerDotProduct)
31+
Self::Implemented(ImplementedLanguageExtension::Packed4x8IntegerDotProduct)
3232
}
3333
Self::UNRESTRICTED_POINTER_PARAMETERS => {
3434
Self::Unimplemented(UnimplementedLanguageExtension::UnrestrictedPointerParameters)
@@ -45,12 +45,6 @@ impl LanguageExtension {
4545
match self {
4646
Self::Implemented(kind) => kind.to_ident(),
4747
Self::Unimplemented(kind) => match kind {
48-
UnimplementedLanguageExtension::ReadOnlyAndReadWriteStorageTextures => {
49-
Self::READONLY_AND_READWRITE_STORAGE_TEXTURES
50-
}
51-
UnimplementedLanguageExtension::Packed4x8IntegerDotProduct => {
52-
Self::PACKED4X8_INTEGER_DOT_PRODUCT
53-
}
5448
UnimplementedLanguageExtension::UnrestrictedPointerParameters => {
5549
Self::UNRESTRICTED_POINTER_PARAMETERS
5650
}
@@ -62,6 +56,8 @@ impl LanguageExtension {
6256
/// A variant of [`LanguageExtension::Implemented`].
6357
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq, VariantArray)]
6458
pub enum ImplementedLanguageExtension {
59+
ReadOnlyAndReadWriteStorageTextures,
60+
Packed4x8IntegerDotProduct,
6561
PointerCompositeAccess,
6662
}
6763

@@ -74,6 +70,12 @@ impl ImplementedLanguageExtension {
7470
/// Maps this [`ImplementedLanguageExtension`] into the sentinel word associated with it in WGSL.
7571
pub const fn to_ident(self) -> &'static str {
7672
match self {
73+
ImplementedLanguageExtension::ReadOnlyAndReadWriteStorageTextures => {
74+
LanguageExtension::READONLY_AND_READWRITE_STORAGE_TEXTURES
75+
}
76+
ImplementedLanguageExtension::Packed4x8IntegerDotProduct => {
77+
LanguageExtension::PACKED4X8_INTEGER_DOT_PRODUCT
78+
}
7779
ImplementedLanguageExtension::PointerCompositeAccess => {
7880
LanguageExtension::POINTER_COMPOSITE_ACCESS
7981
}
@@ -84,16 +86,12 @@ impl ImplementedLanguageExtension {
8486
/// A variant of [`LanguageExtension::Unimplemented`].
8587
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
8688
pub enum UnimplementedLanguageExtension {
87-
ReadOnlyAndReadWriteStorageTextures,
88-
Packed4x8IntegerDotProduct,
8989
UnrestrictedPointerParameters,
9090
}
9191

9292
impl UnimplementedLanguageExtension {
9393
pub(crate) const fn tracking_issue_num(self) -> u16 {
9494
match self {
95-
Self::ReadOnlyAndReadWriteStorageTextures => 6204,
96-
Self::Packed4x8IntegerDotProduct => 6445,
9795
Self::UnrestrictedPointerParameters => 5158,
9896
}
9997
}

wgpu/src/backend/wgpu_core.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -888,6 +888,12 @@ impl dispatch::InstanceInterface for ContextWgpuCore {
888888
crate::WgslLanguageFeatures::empty(),
889889
|acc, wle| {
890890
acc | match wle {
891+
ImplementedLanguageExtension::ReadOnlyAndReadWriteStorageTextures => {
892+
crate::WgslLanguageFeatures::ReadOnlyAndReadWriteStorageTextures
893+
}
894+
ImplementedLanguageExtension::Packed4x8IntegerDotProduct => {
895+
crate::WgslLanguageFeatures::Packed4x8IntegerDotProduct
896+
}
891897
ImplementedLanguageExtension::PointerCompositeAccess => {
892898
crate::WgslLanguageFeatures::PointerCompositeAccess
893899
}

0 commit comments

Comments
 (0)