summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/user-guide/02-conventional-features.md1
-rw-r--r--include/slang.h4
2 files changed, 5 insertions, 0 deletions
diff --git a/docs/user-guide/02-conventional-features.md b/docs/user-guide/02-conventional-features.md
index c59999ce3..aaeea4114 100644
--- a/docs/user-guide/02-conventional-features.md
+++ b/docs/user-guide/02-conventional-features.md
@@ -655,6 +655,7 @@ In this example, the `vertexMain` shader indicates that it is meant for the `ver
Rasterization, compute, and ray-tracing pipelines each define their own stages, and new versions of graphics APIs may introduce new stages.
For compatibility with legacy codebases, Slang supports code that leaves off `[shader(...)]` attributes; in these cases application developers must specify the names and stages for their entry points via explicit command-line or API options.
+Such entry points will not be found via `IModule::findEntryPointByName()`. Instead `IModule::findAndCheckEntryPoint()` must be used, and a stage must be specified.
It is recommended that new codebases always use `[shader(...)]` attributes both to simplify their workflow, and to make code more explicit and "self-documenting."
> #### Note ####
diff --git a/include/slang.h b/include/slang.h
index 54647b830..66fd317c6 100644
--- a/include/slang.h
+++ b/include/slang.h
@@ -4361,6 +4361,10 @@ struct IModule : public IComponentType
{
SLANG_COM_INTERFACE(0xc720e64, 0x8722, 0x4d31, {0x89, 0x90, 0x63, 0x8a, 0x98, 0xb1, 0xc2, 0x79})
+ /// Find and an entry point by name.
+ /// Note that this does not work in case the function is not explicitly designated as an entry
+ /// point, e.g. using a `[shader("...")]` attribute. In such cases, consider using
+ /// `IModule::findAndCheckEntryPoint` instead.
virtual SLANG_NO_THROW SlangResult SLANG_MCALL
findEntryPointByName(char const* name, IEntryPoint** outEntryPoint) = 0;