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.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp
index e0b964a45..23ee5e29d 100644
--- a/source/slang/slang-parser.cpp
+++ b/source/slang/slang-parser.cpp
@@ -8036,6 +8036,8 @@ namespace Slang
ModifierListBuilder listBuilder;
GLSLLayoutLocalSizeAttribute* numThreadsAttrib = nullptr;
+ GLSLLayoutDerivativeGroupQuadAttribute* derivativeGroupQuadAttrib = nullptr;
+ GLSLLayoutDerivativeGroupLinearAttribute* derivativeGroupLinearAttrib = nullptr;
ImageFormat format;
@@ -8082,6 +8084,14 @@ namespace Slang
numThreadsAttrib->args[localSizeIndex] = expr;
}
}
+ else if (nameText == "derivative_group_quadsNV")
+ {
+ derivativeGroupQuadAttrib = parser->astBuilder->create<GLSLLayoutDerivativeGroupQuadAttribute>();
+ }
+ else if (nameText == "derivative_group_linearNV")
+ {
+ derivativeGroupLinearAttrib = parser->astBuilder->create<GLSLLayoutDerivativeGroupLinearAttribute>();
+ }
else if (nameText == "binding" ||
nameText == "set")
{
@@ -8189,9 +8199,11 @@ namespace Slang
#undef CASE
if (numThreadsAttrib)
- {
listBuilder.add(numThreadsAttrib);
- }
+ if(derivativeGroupQuadAttrib)
+ listBuilder.add(derivativeGroupQuadAttrib);
+ if(derivativeGroupLinearAttrib)
+ listBuilder.add(derivativeGroupLinearAttrib);
listBuilder.add(parser->astBuilder->create<GLSLLayoutModifierGroupEnd>());