Align SRP selection with asset refs
This commit is contained in:
@@ -55,6 +55,15 @@ CreateBuiltinForwardPipelineRendererAssetForTest() {
|
||||
return std::make_shared<Pipelines::BuiltinForwardPipelineAsset>();
|
||||
}
|
||||
|
||||
XCEngine::Resources::AssetRef MakeRenderPipelineAssetRefForTest() {
|
||||
XCEngine::Resources::AssetRef assetRef = {};
|
||||
assetRef.assetGuid = XCEngine::Resources::AssetGUID(11u, 29u);
|
||||
assetRef.localID = XCEngine::Resources::kMainAssetLocalID;
|
||||
assetRef.resourceType =
|
||||
XCEngine::Resources::ResourceType::RenderPipelineAsset;
|
||||
return assetRef;
|
||||
}
|
||||
|
||||
class ScopedPipelineRendererAssetFactoryRegistration final {
|
||||
public:
|
||||
ScopedPipelineRendererAssetFactoryRegistration(
|
||||
@@ -4761,6 +4770,41 @@ TEST(ManagedScriptableRenderPipelineAsset_Test, CreatesHostWithStageRecorderFrom
|
||||
Pipelines::ClearManagedRenderPipelineBridge();
|
||||
}
|
||||
|
||||
TEST(
|
||||
ManagedScriptableRenderPipelineAsset_Test,
|
||||
PassesConfiguredAssetRefToManagedBridgeAsRuntimeCacheIdentity) {
|
||||
Pipelines::ClearManagedRenderPipelineBridge();
|
||||
|
||||
Pipelines::ManagedRenderPipelineAssetDescriptor descriptor = {
|
||||
"GameScripts",
|
||||
"Gameplay",
|
||||
"ManagedRenderPipelineProbeAsset"
|
||||
};
|
||||
const XCEngine::Resources::AssetRef assetRef =
|
||||
MakeRenderPipelineAssetRefForTest();
|
||||
descriptor.assetRef = assetRef;
|
||||
|
||||
auto bridgeState = std::make_shared<MockManagedRenderPipelineBridgeState>();
|
||||
Pipelines::SetManagedRenderPipelineBridge(
|
||||
std::make_shared<MockManagedRenderPipelineBridge>(bridgeState));
|
||||
|
||||
Pipelines::ManagedScriptableRenderPipelineAsset asset(descriptor);
|
||||
std::unique_ptr<RenderPipeline> pipeline = asset.CreatePipeline();
|
||||
ASSERT_NE(pipeline, nullptr);
|
||||
ASSERT_TRUE(bridgeState->lastDescriptor.assetRef.IsValid());
|
||||
EXPECT_EQ(
|
||||
bridgeState->lastDescriptor.assetRef.assetGuid,
|
||||
assetRef.assetGuid);
|
||||
EXPECT_EQ(
|
||||
bridgeState->lastDescriptor.assetRef.localID,
|
||||
assetRef.localID);
|
||||
EXPECT_EQ(
|
||||
bridgeState->lastDescriptor.assetRef.resourceType,
|
||||
assetRef.resourceType);
|
||||
|
||||
Pipelines::ClearManagedRenderPipelineBridge();
|
||||
}
|
||||
|
||||
TEST(
|
||||
ManagedScriptableRenderPipelineAsset_Test,
|
||||
UsesRuntimeProvidedPipelineRendererAssetForHostComposition) {
|
||||
|
||||
Reference in New Issue
Block a user