From 69cb6e8f300d77e74bd2c7dfe15d12e10b38f512 Mon Sep 17 00:00:00 2001 From: Alexey Panteleev Date: Wed, 18 May 2022 10:57:37 -0700 Subject: Support for querying which parameters are used in emitted code (#2239) See https://github.com/shader-slang/slang/issues/2213 --- source/slang/slang.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'source/slang/slang.cpp') diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 7ce3594e5..7b22d04de 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -4147,6 +4147,11 @@ void EndToEndCompileRequest::setCompileFlags(SlangCompileFlags flags) getFrontEndReq()->compileFlags = flags; } +SlangCompileFlags EndToEndCompileRequest::getCompileFlags() +{ + return getFrontEndReq()->compileFlags; +} + void EndToEndCompileRequest::setDumpIntermediates(int enable) { shouldDumpIntermediates = (enable != 0); @@ -4909,4 +4914,14 @@ SlangResult EndToEndCompileRequest::getEntryPoint(SlangInt entryPointIndex, slan return SLANG_OK; } +SlangResult EndToEndCompileRequest::isParameterLocationUsed(Int entryPointIndex, Int targetIndex, SlangParameterCategory category, UInt spaceIndex, UInt registerIndex, bool& outUsed) +{ + CompileResult* compileResult = nullptr; + if (_getEntryPointResult(this, static_cast(entryPointIndex), static_cast(targetIndex), &compileResult) != SLANG_OK) + return SLANG_E_INVALID_ARG; + + return compileResult->isParameterLocationUsed(category, spaceIndex, registerIndex, outUsed); +} + + } // namespace Slang -- cgit v1.2.3