@@ -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 ) ]
6458pub 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 ) ]
8688pub enum UnimplementedLanguageExtension {
87- ReadOnlyAndReadWriteStorageTextures ,
88- Packed4x8IntegerDotProduct ,
8989 UnrestrictedPointerParameters ,
9090}
9191
9292impl 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 }
0 commit comments