refactor(srp): remove managed frame planning hook
- derive fullscreen stage planning from pipeline render-graph support - trim planning-only APIs from the managed SRP bridge and public surface - update probes and tests to lock the slimmer SRP API boundary
This commit is contained in:
@@ -1163,6 +1163,9 @@ TEST_F(
|
||||
bool hasPublicContextStageColorData = false;
|
||||
bool hasPublicCameraRequestContextHasDirectionalShadow = false;
|
||||
bool hasPublicCameraRequestContextClearDirectionalShadow = false;
|
||||
bool hasPublicPipelineAssetConfigureCameraFramePlan = false;
|
||||
bool hasPlanningContextType = false;
|
||||
bool hasRendererFeatureConfigureCameraFramePlan = false;
|
||||
bool hasRendererRecordingContextType = false;
|
||||
bool hasRendererCameraRequestContextType = false;
|
||||
|
||||
@@ -1214,6 +1217,18 @@ TEST_F(
|
||||
selectionScript,
|
||||
"HasPublicCameraRequestContextClearDirectionalShadow",
|
||||
hasPublicCameraRequestContextClearDirectionalShadow));
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
selectionScript,
|
||||
"HasPublicPipelineAssetConfigureCameraFramePlan",
|
||||
hasPublicPipelineAssetConfigureCameraFramePlan));
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
selectionScript,
|
||||
"HasPlanningContextType",
|
||||
hasPlanningContextType));
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
selectionScript,
|
||||
"HasRendererFeatureConfigureCameraFramePlan",
|
||||
hasRendererFeatureConfigureCameraFramePlan));
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
selectionScript,
|
||||
"HasRendererRecordingContextType",
|
||||
@@ -1235,6 +1250,9 @@ TEST_F(
|
||||
EXPECT_FALSE(hasPublicContextStageColorData);
|
||||
EXPECT_TRUE(hasPublicCameraRequestContextHasDirectionalShadow);
|
||||
EXPECT_TRUE(hasPublicCameraRequestContextClearDirectionalShadow);
|
||||
EXPECT_FALSE(hasPublicPipelineAssetConfigureCameraFramePlan);
|
||||
EXPECT_FALSE(hasPlanningContextType);
|
||||
EXPECT_FALSE(hasRendererFeatureConfigureCameraFramePlan);
|
||||
EXPECT_FALSE(hasRendererRecordingContextType);
|
||||
EXPECT_FALSE(hasRendererCameraRequestContextType);
|
||||
}
|
||||
@@ -2529,24 +2547,32 @@ TEST_F(
|
||||
|
||||
TEST_F(
|
||||
MonoScriptRuntimeTest,
|
||||
ManagedRenderPipelineAssetConfiguresFullscreenStagesThroughPlanningContext) {
|
||||
ManagedRenderPipelineAssetPlansFullscreenStagesFromPipelineStageSupport) {
|
||||
const XCEngine::Rendering::Pipelines::ManagedRenderPipelineAssetDescriptor descriptor = {
|
||||
"GameScripts",
|
||||
"Gameplay",
|
||||
"ManagedPlannedFullscreenRenderPipelineProbeAsset"
|
||||
};
|
||||
|
||||
XCEngine::Rendering::Pipelines::ManagedScriptableRenderPipelineAsset asset(
|
||||
descriptor);
|
||||
auto asset =
|
||||
std::make_shared<
|
||||
XCEngine::Rendering::Pipelines::ManagedScriptableRenderPipelineAsset>(
|
||||
descriptor);
|
||||
|
||||
XCEngine::Rendering::CameraRenderRequest request = {};
|
||||
request.context = {};
|
||||
request.surface = XCEngine::Rendering::RenderSurface(64u, 64u);
|
||||
request.surface.SetColorAttachment(
|
||||
reinterpret_cast<XCEngine::RHI::RHIResourceView*>(1));
|
||||
request.surface.SetDepthAttachment(
|
||||
reinterpret_cast<XCEngine::RHI::RHIResourceView*>(2));
|
||||
|
||||
XCEngine::Rendering::CameraFramePlan plan =
|
||||
XCEngine::Rendering::CameraFramePlan::FromRequest(request);
|
||||
asset.ConfigureCameraFramePlan(plan);
|
||||
XCEngine::Rendering::RenderPipelineHost host(asset);
|
||||
const std::vector<XCEngine::Rendering::CameraFramePlan> plans =
|
||||
host.BuildFramePlans({ request });
|
||||
|
||||
ASSERT_EQ(plans.size(), 1u);
|
||||
const XCEngine::Rendering::CameraFramePlan& plan = plans[0];
|
||||
|
||||
EXPECT_TRUE(
|
||||
plan.IsFullscreenStageRequested(
|
||||
|
||||
Reference in New Issue
Block a user