summaryrefslogtreecommitdiffstats
path: root/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h')
-rw-r--r--3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h
index 95589988885..cb6c9e7234f 100644
--- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h
+++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h
@@ -52,6 +52,10 @@ namespace glslang {
bool acceptTokenClass(EHlslTokenClass);
EHlslTokenClass peek() const;
bool peekTokenClass(EHlslTokenClass) const;
+ glslang::TBuiltInVariable mapSemantic(const char* upperCase) { return scanner.mapSemantic(upperCase); }
+
+ void pushTokenStream(const TVector<HlslToken>* tokens);
+ void popTokenStream();
protected:
HlslToken token; // the token we are currently looking at, but have not yet accepted
@@ -60,7 +64,10 @@ namespace glslang {
HlslTokenStream();
HlslTokenStream& operator=(const HlslTokenStream&);
- HlslScanContext& scanner; // lexical scanner, to get next token
+ HlslScanContext& scanner; // lexical scanner, to get next token from source file
+ TVector<const TVector<HlslToken>*> tokenStreamStack; // for getting the next token from an existing vector of tokens
+ TVector<int> tokenPosition;
+ TVector<HlslToken> currentTokenStack;
// This is the number of tokens we can recedeToken() over.
static const int tokenBufferSize = 2;