refactor(srp): remove managed camera-frame policy key bridge

This commit is contained in:
2026-04-21 13:56:52 +08:00
parent 2c9e8dad49
commit 7775b42d31
5 changed files with 56 additions and 155 deletions

View File

@@ -1366,10 +1366,6 @@ public:
GetPipelineRendererAsset() const override;
std::shared_ptr<const Rendering::RenderPipelineAsset>
GetPipelineRendererAsset(int32_t rendererIndex) const override;
std::string GetCameraFramePlanPolicyAssetKey() const
override;
std::string GetCameraFramePlanPolicyAssetKey(
int32_t rendererIndex) const override;
bool UsesNativeCameraFramePlanBaseline() const override;
bool UsesNativeCameraFramePlanBaseline(
int32_t rendererIndex) const override;
@@ -1422,10 +1418,6 @@ private:
MonoObject* assetObject) const;
MonoMethod* ResolveGetPipelineRendererAssetKeyContextualMethod(
MonoObject* assetObject) const;
MonoMethod* ResolveGetCameraFramePlanPolicyAssetKeyMethod(
MonoObject* assetObject) const;
MonoMethod* ResolveGetCameraFramePlanPolicyAssetKeyContextualMethod(
MonoObject* assetObject) const;
MonoMethod* ResolveUsesNativeCameraFramePlanBaselineMethod(
MonoObject* assetObject) const;
MonoMethod* ResolveUsesNativeCameraFramePlanBaselineContextualMethod(
@@ -1462,11 +1454,6 @@ private:
mutable MonoMethod* m_getPipelineRendererAssetKeyMethod = nullptr;
mutable MonoMethod* m_getPipelineRendererAssetKeyContextualMethod =
nullptr;
mutable MonoMethod* m_getCameraFramePlanPolicyAssetKeyMethod =
nullptr;
mutable MonoMethod*
m_getCameraFramePlanPolicyAssetKeyContextualMethod =
nullptr;
mutable MonoMethod* m_usesNativeCameraFramePlanBaselineMethod =
nullptr;
mutable MonoMethod*
@@ -2135,61 +2122,6 @@ MonoManagedRenderPipelineAssetRuntime::GetPipelineRendererAsset(
return m_pipelineRendererAsset;
}
std::string MonoManagedRenderPipelineAssetRuntime::
GetCameraFramePlanPolicyAssetKey() const {
return GetCameraFramePlanPolicyAssetKey(-1);
}
std::string MonoManagedRenderPipelineAssetRuntime::
GetCameraFramePlanPolicyAssetKey(
int32_t rendererIndex) const {
if (!SyncManagedAssetRuntimeState()) {
return {};
}
MonoObject* const assetObject = GetManagedAssetObject();
if (assetObject == nullptr) {
return {};
}
MonoMethod* const contextualMethod =
ResolveGetCameraFramePlanPolicyAssetKeyContextualMethod(
assetObject);
if (contextualMethod != nullptr) {
void* args[1] = { &rendererIndex };
MonoObject* managedKeyObject = nullptr;
if (!m_runtime->InvokeManagedMethod(
assetObject,
contextualMethod,
args,
&managedKeyObject)) {
return {};
}
return MonoStringToUtf8(
reinterpret_cast<MonoString*>(managedKeyObject));
}
MonoMethod* const method =
ResolveGetCameraFramePlanPolicyAssetKeyMethod(
assetObject);
if (method == nullptr) {
return {};
}
MonoObject* managedKeyObject = nullptr;
if (!m_runtime->InvokeManagedMethod(
assetObject,
method,
nullptr,
&managedKeyObject)) {
return {};
}
return MonoStringToUtf8(
reinterpret_cast<MonoString*>(managedKeyObject));
}
bool MonoManagedRenderPipelineAssetRuntime::UsesNativeCameraFramePlanBaseline()
const {
return UsesNativeCameraFramePlanBaseline(-1);
@@ -2664,8 +2596,6 @@ void MonoManagedRenderPipelineAssetRuntime::ReleaseManagedAsset() const {
m_getRuntimeResourceVersionMethod = nullptr;
m_getPipelineRendererAssetKeyMethod = nullptr;
m_getPipelineRendererAssetKeyContextualMethod = nullptr;
m_getCameraFramePlanPolicyAssetKeyMethod = nullptr;
m_getCameraFramePlanPolicyAssetKeyContextualMethod = nullptr;
m_usesNativeCameraFramePlanBaselineMethod = nullptr;
m_usesNativeCameraFramePlanBaselineContextualMethod = nullptr;
m_getRenderSceneSetupPolicyAssetKeyMethod = nullptr;
@@ -2824,37 +2754,6 @@ MonoManagedRenderPipelineAssetRuntime::ResolveGetPipelineRendererAssetKeyContext
return m_getPipelineRendererAssetKeyContextualMethod;
}
MonoMethod*
MonoManagedRenderPipelineAssetRuntime::
ResolveGetCameraFramePlanPolicyAssetKeyMethod(
MonoObject* assetObject) const {
if (m_getCameraFramePlanPolicyAssetKeyMethod == nullptr) {
m_getCameraFramePlanPolicyAssetKeyMethod =
m_runtime->ResolveManagedMethod(
assetObject,
"GetCameraFramePlanPolicyAssetKey",
0);
}
return m_getCameraFramePlanPolicyAssetKeyMethod;
}
MonoMethod*
MonoManagedRenderPipelineAssetRuntime::
ResolveGetCameraFramePlanPolicyAssetKeyContextualMethod(
MonoObject* assetObject) const {
if (m_getCameraFramePlanPolicyAssetKeyContextualMethod ==
nullptr) {
m_getCameraFramePlanPolicyAssetKeyContextualMethod =
m_runtime->ResolveManagedMethod(
assetObject,
"GetCameraFramePlanPolicyAssetKeyContextual",
1);
}
return m_getCameraFramePlanPolicyAssetKeyContextualMethod;
}
MonoMethod*
MonoManagedRenderPipelineAssetRuntime::
ResolveUsesNativeCameraFramePlanBaselineMethod(