summaryrefslogtreecommitdiffstats
path: root/include/slang.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/slang.h')
-rw-r--r--include/slang.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/slang.h b/include/slang.h
index 782c4a082..4a3af7de1 100644
--- a/include/slang.h
+++ b/include/slang.h
@@ -2291,9 +2291,9 @@ struct TypeReflection
}
// only useful if `getKind() == Kind::Array`
- size_t getElementCount()
+ size_t getElementCount(SlangReflection* reflection = nullptr)
{
- return spReflectionType_GetElementCount((SlangReflectionType*)this);
+ return spReflectionType_GetSpecializedElementCount((SlangReflectionType*)this, reflection);
}
size_t getTotalArrayElementCount()
@@ -2454,6 +2454,8 @@ enum class BindingType : SlangBindingTypeIntegral
ExtMask = SLANG_BINDING_TYPE_EXT_MASK,
};
+struct ShaderReflection;
+
struct TypeLayoutReflection
{
TypeReflection* getType()
@@ -2543,7 +2545,10 @@ struct TypeLayoutReflection
}
// only useful if `getKind() == Kind::Array`
- size_t getElementCount() { return getType()->getElementCount(); }
+ size_t getElementCount(ShaderReflection* reflection = nullptr)
+ {
+ return getType()->getElementCount((SlangReflection*)reflection);
+ }
size_t getTotalArrayElementCount() { return getType()->getTotalArrayElementCount(); }