diff options
Diffstat (limited to 'source/slang/slang-parser.cpp')
| -rw-r--r-- | source/slang/slang-parser.cpp | 16 |
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>()); |
