diff options
Diffstat (limited to 'source/slang/slang-check-modifier.cpp')
| -rw-r--r-- | source/slang/slang-check-modifier.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/slang/slang-check-modifier.cpp b/source/slang/slang-check-modifier.cpp index 66be88a1e..169b4696e 100644 --- a/source/slang/slang-check-modifier.cpp +++ b/source/slang/slang-check-modifier.cpp @@ -269,6 +269,24 @@ namespace Slang bindingAttr->binding = int32_t(binding->value); bindingAttr->set = int32_t(set->value); } + else if (auto simpleLayoutAttr = as<GLSLSimpleIntegerLayoutAttribute>(attr)) + { + // This case handles GLSL-oriented layout attributes + // that take a single integer argument. + + if (attr->args.getCount() != 1) + { + return false; + } + + auto value = checkConstantIntVal(attr->args[0]); + if (value == nullptr) + { + return false; + } + + simpleLayoutAttr->value = int32_t(value->value); + } else if (auto maxVertexCountAttr = as<MaxVertexCountAttribute>(attr)) { SLANG_ASSERT(attr->args.getCount() == 1); |
