diff --git a/src/front/wgsl.rs b/src/front/wgsl.rs index a8004b26ef..6ebf0aea02 100644 --- a/src/front/wgsl.rs +++ b/src/front/wgsl.rs @@ -1046,6 +1046,33 @@ impl Parser { width, } } + Token::Word("mat2x3") => { + let (kind, width) = lexer.next_scalar_generic()?; + crate::TypeInner::Matrix { + columns: crate::VectorSize::Bi, + rows: crate::VectorSize::Tri, + kind, + width, + } + } + Token::Word("mat2x4") => { + let (kind, width) = lexer.next_scalar_generic()?; + crate::TypeInner::Matrix { + columns: crate::VectorSize::Bi, + rows: crate::VectorSize::Quad, + kind, + width, + } + } + Token::Word("mat3x2") => { + let (kind, width) = lexer.next_scalar_generic()?; + crate::TypeInner::Matrix { + columns: crate::VectorSize::Tri, + rows: crate::VectorSize::Bi, + kind, + width, + } + } Token::Word("mat3x3") => { let (kind, width) = lexer.next_scalar_generic()?; crate::TypeInner::Matrix { @@ -1055,6 +1082,33 @@ impl Parser { width, } } + Token::Word("mat3x4") => { + let (kind, width) = lexer.next_scalar_generic()?; + crate::TypeInner::Matrix { + columns: crate::VectorSize::Tri, + rows: crate::VectorSize::Quad, + kind, + width, + } + } + Token::Word("mat4x2") => { + let (kind, width) = lexer.next_scalar_generic()?; + crate::TypeInner::Matrix { + columns: crate::VectorSize::Quad, + rows: crate::VectorSize::Bi, + kind, + width, + } + } + Token::Word("mat4x3") => { + let (kind, width) = lexer.next_scalar_generic()?; + crate::TypeInner::Matrix { + columns: crate::VectorSize::Quad, + rows: crate::VectorSize::Tri, + kind, + width, + } + } Token::Word("mat4x4") => { let (kind, width) = lexer.next_scalar_generic()?; crate::TypeInner::Matrix {