refactor(srp): replace native scene feature strings with ids

This commit is contained in:
2026-04-21 22:52:08 +08:00
parent d75bd95e89
commit f1d7e879ac
18 changed files with 161 additions and 33 deletions

View File

@@ -5390,7 +5390,7 @@ InternalCall_Rendering_ScriptableRenderContext_RecordSceneInjectionPoint(
mono_bool
InternalCall_Rendering_ScriptableRenderContext_RecordNativeSceneFeaturePass(
uint64_t nativeHandle,
MonoString* featurePassName) {
int32_t featurePassId) {
ManagedScriptableRenderContextState* const state =
FindManagedScriptableRenderContextState(nativeHandle);
if (state == nullptr ||
@@ -5400,14 +5400,17 @@ InternalCall_Rendering_ScriptableRenderContext_RecordNativeSceneFeaturePass(
return 0;
}
const std::string featurePassNameUtf8 =
MonoStringToUtf8(featurePassName);
if (featurePassNameUtf8.empty()) {
const Rendering::NativeSceneFeaturePassId
resolvedFeaturePassId =
static_cast<Rendering::NativeSceneFeaturePassId>(
featurePassId);
if (resolvedFeaturePassId ==
Rendering::NativeSceneFeaturePassId::Invalid) {
return 0;
}
return state->sceneRecorder->RecordFeaturePass(
Containers::String(featurePassNameUtf8.c_str()))
resolvedFeaturePassId)
? 1
: 0;
}