[glsl-in] Add support for buffer class

This commit is contained in:
João Capucho
2021-06-05 00:37:51 +01:00
committed by Dzmitry Malyshau
parent 0184e1c875
commit 803cb31fb0
3 changed files with 6 additions and 0 deletions

View File

@@ -62,6 +62,7 @@ impl<'a> Iterator for Lexer<'a> {
"in" => TokenValue::In,
"out" => TokenValue::Out,
"uniform" => TokenValue::Uniform,
"buffer" => TokenValue::Buffer,
"flat" => TokenValue::Interpolation(crate::Interpolation::Flat),
"noperspective" => TokenValue::Interpolation(crate::Interpolation::Linear),
"smooth" => TokenValue::Interpolation(crate::Interpolation::Perspective),

View File

@@ -173,6 +173,7 @@ impl<'source, 'program, 'options> Parser<'source, 'program, 'options> {
| TokenValue::In
| TokenValue::Out
| TokenValue::Uniform
| TokenValue::Buffer
| TokenValue::Layout => true,
_ => false,
})
@@ -199,6 +200,9 @@ impl<'source, 'program, 'options> Parser<'source, 'program, 'options> {
TokenValue::Uniform => TypeQualifier::StorageQualifier(
StorageQualifier::StorageClass(StorageClass::Uniform),
),
TokenValue::Buffer => TypeQualifier::StorageQualifier(
StorageQualifier::StorageClass(StorageClass::Storage),
),
TokenValue::Sampling(s) => TypeQualifier::Sampling(s),
_ => unreachable!(),

View File

@@ -53,6 +53,7 @@ pub enum TokenValue {
Out,
InOut,
Uniform,
Buffer,
Const,
Interpolation(Interpolation),
Sampling(Sampling),