summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-parser.cpp')
-rw-r--r--source/slang/slang-parser.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp
index 0a2076fd0..52c91cfbe 100644
--- a/source/slang/slang-parser.cpp
+++ b/source/slang/slang-parser.cpp
@@ -6494,6 +6494,21 @@ namespace Slang
parser->ReadMatchingToken(TokenType::RParent);
return SPIRVAsmOperand{SPIRVAsmOperand::SampledType, Token{}, typeExpr};
}
+ // The __imageType function
+ if (AdvanceIf(parser, "__imageType"))
+ {
+ parser->ReadToken(TokenType::LParent);
+ const auto typeExpr = parser->ParseExpression();
+ parser->ReadMatchingToken(TokenType::RParent);
+ return SPIRVAsmOperand{ SPIRVAsmOperand::ImageType, Token{}, typeExpr };
+ }
+ if (AdvanceIf(parser, "__sampledImageType"))
+ {
+ parser->ReadToken(TokenType::LParent);
+ const auto typeExpr = parser->ParseExpression();
+ parser->ReadMatchingToken(TokenType::RParent);
+ return SPIRVAsmOperand{ SPIRVAsmOperand::SampledImageType, Token{}, typeExpr };
+ }
// The pseudo-operand for component truncation
else if(parser->LookAheadToken("__truncate"))
{