summaryrefslogtreecommitdiffstats
path: root/source/slang/check.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2018-07-31 11:03:53 -0400
committerGitHub <noreply@github.com>2018-07-31 11:03:53 -0400
commit9914ca800c92e9b3fe768dec4e913a302f3d678d (patch)
tree49544fb2c0387f39876fd99e112cfc32ed05302d /source/slang/check.cpp
parent171f524d7ca2922084a33f50c77a1e8797e80949 (diff)
Feature/attributed binding (#621)
* Typo fix, and added dxc to command line documentation. * Fix small typos. Added support for Scope to lexer. Fix bug in Token ctor. * Add support for attribute names that are scoped. * Added GLSLBindingAttribute. Make binding work through core.met.slang. * Allow [[gl::binding(binding, set)]] [[vk::binding(binding,set)]]
Diffstat (limited to 'source/slang/check.cpp')
-rw-r--r--source/slang/check.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/slang/check.cpp b/source/slang/check.cpp
index 1fa7f9b01..3c7bcaf84 100644
--- a/source/slang/check.cpp
+++ b/source/slang/check.cpp
@@ -1894,6 +1894,15 @@ namespace Slang
numThreadsAttr->y = (int32_t) yVal->value;
numThreadsAttr->z = (int32_t) zVal->value;
}
+ else if (auto bindingAttr = attr.As<GLSLBindingAttribute>())
+ {
+ SLANG_ASSERT(attr->args.Count() == 2);
+ auto binding = checkConstantIntVal(attr->args[0]);
+ auto set = checkConstantIntVal(attr->args[1]);
+
+ bindingAttr->binding = int32_t(binding->value);
+ bindingAttr->set = int32_t(set->value);
+ }
else if (auto maxVertexCountAttr = attr.As<MaxVertexCountAttribute>())
{
SLANG_ASSERT(attr->args.Count() == 1);