diff --git a/docs/user-guide/02-conventional-features.md b/docs/user-guide/02-conventional-features.md index c59999ce32..aaeea4114e 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 54647b830b..66fd317c64 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;