From a741e4b86dffb6839b5bdbec02c218e97987f3c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Capucho?= Date: Thu, 19 Aug 2021 22:43:17 +0100 Subject: [PATCH] [glsl-in] parse shared qualifier --- src/front/glsl/lex.rs | 1 + src/front/glsl/parser/types.rs | 4 ++++ src/front/glsl/token.rs | 1 + 3 files changed, 6 insertions(+) diff --git a/src/front/glsl/lex.rs b/src/front/glsl/lex.rs index e054217a70..3400e06266 100644 --- a/src/front/glsl/lex.rs +++ b/src/front/glsl/lex.rs @@ -71,6 +71,7 @@ impl<'a> Iterator for Lexer<'a> { "out" => TokenValue::Out, "uniform" => TokenValue::Uniform, "buffer" => TokenValue::Buffer, + "shared" => TokenValue::Shared, "flat" => TokenValue::Interpolation(crate::Interpolation::Flat), "noperspective" => TokenValue::Interpolation(crate::Interpolation::Linear), "smooth" => TokenValue::Interpolation(crate::Interpolation::Perspective), diff --git a/src/front/glsl/parser/types.rs b/src/front/glsl/parser/types.rs index 0d1e0441f1..dcde9bacbd 100644 --- a/src/front/glsl/parser/types.rs +++ b/src/front/glsl/parser/types.rs @@ -120,6 +120,7 @@ impl<'source> ParsingContext<'source> { | TokenValue::In | TokenValue::Out | TokenValue::Uniform + | TokenValue::Shared | TokenValue::Buffer | TokenValue::Restrict | TokenValue::StorageAccess(_) @@ -152,6 +153,9 @@ impl<'source> ParsingContext<'source> { TokenValue::Uniform => TypeQualifier::StorageQualifier( StorageQualifier::StorageClass(StorageClass::Uniform), ), + TokenValue::Shared => TypeQualifier::StorageQualifier( + StorageQualifier::StorageClass(StorageClass::WorkGroup), + ), TokenValue::Buffer => TypeQualifier::StorageQualifier( StorageQualifier::StorageClass(StorageClass::Storage { access: crate::StorageAccess::default(), diff --git a/src/front/glsl/token.rs b/src/front/glsl/token.rs index 0aa6a6d709..2303627944 100644 --- a/src/front/glsl/token.rs +++ b/src/front/glsl/token.rs @@ -106,6 +106,7 @@ pub enum TokenValue { Uniform, Buffer, Const, + Shared, Restrict, StorageAccess(crate::StorageAccess),