Reland image storage with fixes.
Revert "Revert "Initial OpenGL Image support.""
This reverts commit 59dc41175d99d0a31c046aec0c26c4d82a3a3574.
BUG=skia:
Change-Id: Ibe3c87ce7f746f065fdbcc5a518388cc291112f5
Reviewed-on: https://skia-review.googlesource.com/5131
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/sksl/SkSLParser.cpp b/src/sksl/SkSLParser.cpp
index 3920b00..cd0ae6a 100644
--- a/src/sksl/SkSLParser.cpp
+++ b/src/sksl/SkSLParser.cpp
@@ -601,7 +601,8 @@
pushConstant);
}
-/* layout? (UNIFORM | CONST | IN | OUT | INOUT | LOWP | MEDIUMP | HIGHP | FLAT | NOPERSPECTIVE)* */
+/* layout? (UNIFORM | CONST | IN | OUT | INOUT | LOWP | MEDIUMP | HIGHP | FLAT | NOPERSPECTIVE |
+ READONLY | WRITEONLY | COHERENT | VOLATILE | RESTRICT)* */
Modifiers Parser::modifiers() {
Layout layout = this->layout();
int flags = 0;
@@ -649,6 +650,26 @@
this->nextToken();
flags |= Modifiers::kNoPerspective_Flag;
break;
+ case Token::READONLY:
+ this->nextToken();
+ flags |= Modifiers::kReadOnly_Flag;
+ break;
+ case Token::WRITEONLY:
+ this->nextToken();
+ flags |= Modifiers::kWriteOnly_Flag;
+ break;
+ case Token::COHERENT:
+ this->nextToken();
+ flags |= Modifiers::kCoherent_Flag;
+ break;
+ case Token::VOLATILE:
+ this->nextToken();
+ flags |= Modifiers::kVolatile_Flag;
+ break;
+ case Token::RESTRICT:
+ this->nextToken();
+ flags |= Modifiers::kRestrict_Flag;
+ break;
default:
return Modifiers(layout, flags);
}