From 4375cebc68d757238f3129f2472ec863dabc526b Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Wed, 14 Oct 2020 13:55:45 -0700 Subject: 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. --- slang.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'slang.h') 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; -- cgit v1.2.3