rendering: close out backend contract phase 4.1
This commit is contained in:
@@ -1702,9 +1702,6 @@ private:
|
||||
mutable int32_t m_runtimeResourceVersion = 0;
|
||||
mutable uint32_t m_pipelineHandle = 0;
|
||||
mutable bool m_pipelineCreationAttempted = false;
|
||||
mutable bool m_sharedPipelineBackendAssetResolved = false;
|
||||
mutable std::shared_ptr<const Rendering::RenderPipelineAsset>
|
||||
m_sharedPipelineBackendAsset = nullptr;
|
||||
};
|
||||
|
||||
class MonoManagedRenderPipelineStageRecorder final
|
||||
@@ -2043,21 +2040,15 @@ private:
|
||||
return m_boundSceneDrawBackend;
|
||||
}
|
||||
|
||||
const std::shared_ptr<const Rendering::RenderPipelineAsset>
|
||||
sharedPipelineBackendAsset =
|
||||
m_assetRuntime != nullptr
|
||||
? m_assetRuntime->GetPipelineRendererAsset()
|
||||
: nullptr;
|
||||
const std::shared_ptr<const Rendering::RenderPipelineAsset>
|
||||
resolvedPipelineBackendAsset =
|
||||
sharedPipelineBackendAsset != nullptr
|
||||
? sharedPipelineBackendAsset
|
||||
: m_assetRuntime != nullptr &&
|
||||
m_assetRuntime->GetPipelineRendererAssetPolicy() ==
|
||||
m_assetRuntime == nullptr
|
||||
? nullptr
|
||||
: m_assetRuntime->GetPipelineRendererAssetPolicy() ==
|
||||
Rendering::Pipelines::ManagedPipelineRendererAssetPolicy::
|
||||
DefaultNativeBackend
|
||||
? Rendering::Internal::CreateDefaultPipelineBackendAsset()
|
||||
: nullptr;
|
||||
: m_assetRuntime->GetSharedPipelineBackendAsset();
|
||||
if (resolvedPipelineBackendAsset == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -2335,21 +2326,15 @@ MonoManagedRenderPipelineAssetRuntime::GetPipelineRendererAsset() const {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (m_sharedPipelineBackendAssetResolved) {
|
||||
return m_sharedPipelineBackendAsset;
|
||||
}
|
||||
|
||||
if (GetManagedAssetObject() == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
m_sharedPipelineBackendAssetResolved = true;
|
||||
return m_sharedPipelineBackendAsset;
|
||||
// Current Mono-backed SRP assets do not materialize a shared native
|
||||
// backend asset. They bind the engine default native backend explicitly
|
||||
// through DefaultNativeBackend.
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Rendering::Pipelines::ManagedPipelineRendererAssetPolicy
|
||||
MonoManagedRenderPipelineAssetRuntime::GetPipelineRendererAssetPolicy() const {
|
||||
return EnsureManagedAsset()
|
||||
return SyncManagedAssetRuntimeState()
|
||||
? Rendering::Pipelines::ManagedPipelineRendererAssetPolicy::DefaultNativeBackend
|
||||
: Rendering::Pipelines::ManagedPipelineRendererAssetPolicy::Unspecified;
|
||||
}
|
||||
@@ -2491,8 +2476,6 @@ bool MonoManagedRenderPipelineAssetRuntime::SyncManagedAssetRuntimeState() const
|
||||
}
|
||||
|
||||
ReleaseManagedPipeline();
|
||||
m_sharedPipelineBackendAsset.reset();
|
||||
m_sharedPipelineBackendAssetResolved = false;
|
||||
m_runtimeResourceVersion = runtimeResourceVersion;
|
||||
return true;
|
||||
}
|
||||
@@ -2560,8 +2543,6 @@ void MonoManagedRenderPipelineAssetRuntime::ReleaseManagedAsset() const {
|
||||
m_getRuntimeResourceVersionMethod = nullptr;
|
||||
m_configureRenderSceneSetupMethod = nullptr;
|
||||
m_configureDirectionalShadowExecutionStateMethod = nullptr;
|
||||
m_sharedPipelineBackendAsset.reset();
|
||||
m_sharedPipelineBackendAssetResolved = false;
|
||||
m_runtimeResourceVersionResolved = false;
|
||||
m_runtimeResourceVersion = 0;
|
||||
const bool ownsManagedAssetHandle = m_ownsManagedAssetHandle;
|
||||
|
||||
Reference in New Issue
Block a user