refactor(rendering): formalize pipeline selection and engine asset discovery

This commit is contained in:
2026-04-19 04:31:48 +08:00
parent 78bcd2e9ca
commit 48bfde28e3
17 changed files with 294 additions and 121 deletions

View File

@@ -17,7 +17,8 @@ class GraphicsSettingsStateScope final {
public:
GraphicsSettingsStateScope()
: m_savedDescriptor(
GetGraphicsSettingsState().GetRenderPipelineAssetDescriptor())
GetGraphicsSettingsState()
.GetConfiguredRenderPipelineAssetDescriptor())
, m_savedBridge(
GetGraphicsSettingsState().GetManagedRenderPipelineBridge()) {
}
@@ -32,9 +33,9 @@ public:
if (m_savedDescriptor.IsValid() ||
m_savedDescriptor.managedAssetHandle != 0u) {
state.SetRenderPipelineAssetDescriptor(m_savedDescriptor);
state.SetConfiguredRenderPipelineAssetDescriptor(m_savedDescriptor);
} else {
state.ClearRenderPipelineAssetDescriptor();
state.ClearConfiguredRenderPipelineAssetDescriptor();
}
}
@@ -49,7 +50,7 @@ private:
TEST(GraphicsSettingsState_Test, StoresRenderPipelineAssetDescriptorAndBumpsEnvironmentGeneration) {
GraphicsSettingsStateScope scope;
GraphicsSettingsState& state = GetGraphicsSettingsState();
state.ClearRenderPipelineAssetDescriptor();
state.ClearConfiguredRenderPipelineAssetDescriptor();
const size_t generationBefore = state.GetEnvironmentGeneration();
const Pipelines::ManagedRenderPipelineAssetDescriptor descriptor = {
@@ -59,10 +60,10 @@ TEST(GraphicsSettingsState_Test, StoresRenderPipelineAssetDescriptorAndBumpsEnvi
42u
};
state.SetRenderPipelineAssetDescriptor(descriptor);
state.SetConfiguredRenderPipelineAssetDescriptor(descriptor);
const Pipelines::ManagedRenderPipelineAssetDescriptor resolved =
state.GetRenderPipelineAssetDescriptor();
state.GetConfiguredRenderPipelineAssetDescriptor();
EXPECT_EQ(resolved.assemblyName, descriptor.assemblyName);
EXPECT_EQ(resolved.namespaceName, descriptor.namespaceName);
EXPECT_EQ(resolved.className, descriptor.className);