summaryrefslogtreecommitdiff
path: root/slang.h
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2020-10-14 13:55:45 -0700
committerGitHub <noreply@github.com>2020-10-14 13:55:45 -0700
commit4375cebc68d757238f3129f2472ec863dabc526b (patch)
tree97d155d86a9e9b1f759da22a044d0d653c0e696c /slang.h
parent9cb31747782d07111ded70664d46da4f568bea2f (diff)
Add reflection API access to global params type layout (#1577)
This change adds a single new entry point to our reflection API that allows an application to query the `TypeLayout` that represents the global-scope shader parameters. This can be used by the application in order to detect when the global parameters have required allocation of a default constant buffer, or simply to unify the handling of the global scope with handling of other kinds of parameters.
Diffstat (limited to 'slang.h')
-rw-r--r--slang.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/slang.h b/slang.h
index acbee3982..31daf2caa 100644
--- a/slang.h
+++ b/slang.h
@@ -2191,6 +2191,9 @@ extern "C"
/// Count should *NOT* include terminating zero.
SLANG_API int spComputeStringHash(const char* chars, size_t count);
+ SLANG_API SlangReflectionTypeLayout* spReflection_getGlobalParamsTypeLayout(
+ SlangReflection* reflection);
+
#ifdef __cplusplus
}
@@ -2856,6 +2859,12 @@ namespace slang
{
return spReflection_getHashedString((SlangReflection*)this, index, outCount);
}
+
+ TypeLayoutReflection* getGlobalParamsTypeLayout()
+ {
+ return (TypeLayoutReflection*) spReflection_getGlobalParamsTypeLayout((SlangReflection*) this);
+ }
+
};
typedef ISlangBlob IBlob;