summaryrefslogtreecommitdiffstats
path: root/source/slang/reflection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/reflection.cpp')
-rw-r--r--source/slang/reflection.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/slang/reflection.cpp b/source/slang/reflection.cpp
index 435b4db3f..d7e8820c0 100644
--- a/source/slang/reflection.cpp
+++ b/source/slang/reflection.cpp
@@ -623,6 +623,28 @@ SLANG_API size_t spReflectionVariableLayout_GetSpace(SlangReflectionVariableLayo
return info->space;
}
+SLANG_API char const* spReflectionVariableLayout_GetSemanticName(SlangReflectionVariableLayout* inVarLayout)
+{
+ auto varLayout = convert(inVarLayout);
+ if(!varLayout) return 0;
+
+ if (!(varLayout->flags & Slang::VarLayoutFlag::HasSemantic))
+ return 0;
+
+ return varLayout->semanticName.Buffer();
+}
+
+SLANG_API size_t spReflectionVariableLayout_GetSemanticIndex(SlangReflectionVariableLayout* inVarLayout)
+{
+ auto varLayout = convert(inVarLayout);
+ if(!varLayout) return 0;
+
+ if (!(varLayout->flags & Slang::VarLayoutFlag::HasSemantic))
+ return 0;
+
+ return varLayout->semanticIndex;
+}
+
// Shader Parameter Reflection