summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-modifier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-modifier.cpp')
-rw-r--r--source/slang/slang-check-modifier.cpp18
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);