Group camera frame fullscreen color chain intent
This commit is contained in:
@@ -1877,11 +1877,11 @@ TEST(CameraRenderer_Test, ResolvesGraphManagedFullscreenSequenceSourcesFromFrame
|
||||
request.finalOutput.destinationSurface = request.surface;
|
||||
|
||||
CameraFramePlan plan = CameraFramePlan::FromRequest(request);
|
||||
plan.usesGraphManagedMainSceneColor = true;
|
||||
plan.colorChain.usesGraphManagedMainSceneColor = true;
|
||||
plan.ConfigureGraphManagedMainSceneSurface();
|
||||
plan.usesGraphManagedPostProcessColor = true;
|
||||
plan.postProcessSource = CameraFrameColorSource::MainSceneColor;
|
||||
plan.finalOutputSource = CameraFrameColorSource::PostProcessColor;
|
||||
plan.colorChain.postProcess.usesGraphManagedOutputColor = true;
|
||||
plan.colorChain.postProcess.source = CameraFrameColorSource::MainSceneColor;
|
||||
plan.colorChain.finalOutput.source = CameraFrameColorSource::PostProcessColor;
|
||||
|
||||
ASSERT_TRUE(plan.IsPostProcessStageValid());
|
||||
ASSERT_TRUE(plan.IsFinalOutputStageValid());
|
||||
@@ -2877,9 +2877,11 @@ TEST(SceneRenderer_Test, BuildsCameraColorScalePostProcessRequestFromCameraPassS
|
||||
EXPECT_TRUE(plan.IsPostProcessStageValid());
|
||||
EXPECT_NE(plan.postProcess.passes, nullptr);
|
||||
ASSERT_EQ(plan.postProcess.passes->GetPassCount(), 2u);
|
||||
EXPECT_TRUE(plan.usesGraphManagedMainSceneColor);
|
||||
EXPECT_FALSE(plan.usesGraphManagedPostProcessColor);
|
||||
EXPECT_EQ(plan.postProcessSource, CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_TRUE(plan.UsesGraphManagedMainSceneColor());
|
||||
EXPECT_FALSE(plan.UsesGraphManagedOutputColor(CameraFrameStage::PostProcess));
|
||||
EXPECT_EQ(
|
||||
plan.ResolveStageColorSource(CameraFrameStage::PostProcess),
|
||||
CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(plan.postProcess.destinationSurface.GetColorAttachments()[0], backBufferColorView);
|
||||
EXPECT_EQ(plan.postProcess.destinationSurface.GetDepthAttachment(), depthView);
|
||||
EXPECT_EQ(
|
||||
@@ -3015,8 +3017,10 @@ TEST(SceneRenderer_Test, BuildsFinalOutputRequestFromResolvedFinalColorPolicy) {
|
||||
EXPECT_TRUE(plan.IsFinalOutputStageValid());
|
||||
ASSERT_NE(plan.finalOutput.passes, nullptr);
|
||||
EXPECT_EQ(plan.finalOutput.passes->GetPassCount(), 1u);
|
||||
EXPECT_TRUE(plan.usesGraphManagedMainSceneColor);
|
||||
EXPECT_EQ(plan.finalOutputSource, CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_TRUE(plan.UsesGraphManagedMainSceneColor());
|
||||
EXPECT_EQ(
|
||||
plan.ResolveStageColorSource(CameraFrameStage::FinalOutput),
|
||||
CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(plan.finalOutput.destinationSurface.GetColorAttachments()[0], backBufferColorView);
|
||||
EXPECT_EQ(plan.finalOutput.destinationSurface.GetDepthAttachment(), depthView);
|
||||
EXPECT_EQ(
|
||||
@@ -3106,10 +3110,14 @@ TEST(SceneRenderer_Test, RoutesPostProcessIntoIntermediateSurfaceBeforeFinalOutp
|
||||
ASSERT_NE(plan.finalOutput.passes, nullptr);
|
||||
EXPECT_EQ(plan.postProcess.passes->GetPassCount(), 1u);
|
||||
EXPECT_EQ(plan.finalOutput.passes->GetPassCount(), 1u);
|
||||
EXPECT_TRUE(plan.usesGraphManagedMainSceneColor);
|
||||
EXPECT_TRUE(plan.usesGraphManagedPostProcessColor);
|
||||
EXPECT_EQ(plan.postProcessSource, CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(plan.finalOutputSource, CameraFrameColorSource::PostProcessColor);
|
||||
EXPECT_TRUE(plan.UsesGraphManagedMainSceneColor());
|
||||
EXPECT_TRUE(plan.UsesGraphManagedOutputColor(CameraFrameStage::PostProcess));
|
||||
EXPECT_EQ(
|
||||
plan.ResolveStageColorSource(CameraFrameStage::PostProcess),
|
||||
CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(
|
||||
plan.ResolveStageColorSource(CameraFrameStage::FinalOutput),
|
||||
CameraFrameColorSource::PostProcessColor);
|
||||
|
||||
const CameraFrameStageSourceBinding postProcessSource =
|
||||
ResolveStageSourceBinding(CameraFrameStage::PostProcess, plan);
|
||||
@@ -3251,8 +3259,10 @@ TEST(SceneRenderer_Test, KeepsMainSceneGraphManagedWhenPostProcessIsEnabledAcros
|
||||
renderer.BuildFramePlans(scene, nullptr, context, surface);
|
||||
ASSERT_EQ(firstFramePlans.size(), 1u);
|
||||
CameraFramePlan firstFramePlan = firstFramePlans[0];
|
||||
EXPECT_TRUE(firstFramePlan.usesGraphManagedMainSceneColor);
|
||||
EXPECT_EQ(firstFramePlan.postProcessSource, CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_TRUE(firstFramePlan.UsesGraphManagedMainSceneColor());
|
||||
EXPECT_EQ(
|
||||
firstFramePlan.ResolveStageColorSource(CameraFrameStage::PostProcess),
|
||||
CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(
|
||||
firstFramePlan.GetMainSceneSurface().GetColorStateBefore(),
|
||||
XCEngine::RHI::ResourceStates::Common);
|
||||
@@ -3271,8 +3281,10 @@ TEST(SceneRenderer_Test, KeepsMainSceneGraphManagedWhenPostProcessIsEnabledAcros
|
||||
renderer.BuildFramePlans(scene, nullptr, context, surface);
|
||||
ASSERT_EQ(secondFramePlans.size(), 1u);
|
||||
const CameraFramePlan secondFramePlan = secondFramePlans[0];
|
||||
EXPECT_TRUE(secondFramePlan.usesGraphManagedMainSceneColor);
|
||||
EXPECT_EQ(secondFramePlan.postProcessSource, CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_TRUE(secondFramePlan.UsesGraphManagedMainSceneColor());
|
||||
EXPECT_EQ(
|
||||
secondFramePlan.ResolveStageColorSource(CameraFrameStage::PostProcess),
|
||||
CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(
|
||||
secondFramePlan.GetMainSceneSurface().GetColorStateBefore(),
|
||||
XCEngine::RHI::ResourceStates::Common);
|
||||
@@ -3334,10 +3346,14 @@ TEST(SceneRenderer_Test, KeepsPostProcessOutputGraphManagedWhenFinalOutputIsEnab
|
||||
CameraFramePlan firstFramePlan = firstFramePlans[0];
|
||||
EXPECT_TRUE(firstFramePlans[0].postProcess.IsRequested());
|
||||
EXPECT_TRUE(firstFramePlans[0].finalOutput.IsRequested());
|
||||
EXPECT_TRUE(firstFramePlan.usesGraphManagedMainSceneColor);
|
||||
EXPECT_TRUE(firstFramePlan.usesGraphManagedPostProcessColor);
|
||||
EXPECT_EQ(firstFramePlan.postProcessSource, CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(firstFramePlan.finalOutputSource, CameraFrameColorSource::PostProcessColor);
|
||||
EXPECT_TRUE(firstFramePlan.UsesGraphManagedMainSceneColor());
|
||||
EXPECT_TRUE(firstFramePlan.UsesGraphManagedOutputColor(CameraFrameStage::PostProcess));
|
||||
EXPECT_EQ(
|
||||
firstFramePlan.ResolveStageColorSource(CameraFrameStage::PostProcess),
|
||||
CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(
|
||||
firstFramePlan.ResolveStageColorSource(CameraFrameStage::FinalOutput),
|
||||
CameraFrameColorSource::PostProcessColor);
|
||||
EXPECT_EQ(
|
||||
firstFramePlan.GetMainSceneSurface().GetColorStateBefore(),
|
||||
XCEngine::RHI::ResourceStates::Common);
|
||||
@@ -3362,10 +3378,14 @@ TEST(SceneRenderer_Test, KeepsPostProcessOutputGraphManagedWhenFinalOutputIsEnab
|
||||
renderer.BuildFramePlans(scene, nullptr, context, surface);
|
||||
ASSERT_EQ(secondFramePlans.size(), 1u);
|
||||
const CameraFramePlan secondFramePlan = secondFramePlans[0];
|
||||
EXPECT_TRUE(secondFramePlan.usesGraphManagedMainSceneColor);
|
||||
EXPECT_TRUE(secondFramePlan.usesGraphManagedPostProcessColor);
|
||||
EXPECT_EQ(secondFramePlan.postProcessSource, CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(secondFramePlan.finalOutputSource, CameraFrameColorSource::PostProcessColor);
|
||||
EXPECT_TRUE(secondFramePlan.UsesGraphManagedMainSceneColor());
|
||||
EXPECT_TRUE(secondFramePlan.UsesGraphManagedOutputColor(CameraFrameStage::PostProcess));
|
||||
EXPECT_EQ(
|
||||
secondFramePlan.ResolveStageColorSource(CameraFrameStage::PostProcess),
|
||||
CameraFrameColorSource::MainSceneColor);
|
||||
EXPECT_EQ(
|
||||
secondFramePlan.ResolveStageColorSource(CameraFrameStage::FinalOutput),
|
||||
CameraFrameColorSource::PostProcessColor);
|
||||
EXPECT_EQ(
|
||||
secondFramePlan.GetMainSceneSurface().GetColorStateBefore(),
|
||||
XCEngine::RHI::ResourceStates::Common);
|
||||
|
||||
Reference in New Issue
Block a user