refactor(rendering): formalize compatible raster pass recording helpers

This commit is contained in:
2026-04-15 13:12:07 +08:00
parent 3f0f279000
commit b97f9a1555
3 changed files with 123 additions and 23 deletions

View File

@@ -12,15 +12,6 @@ namespace Rendering {
namespace {
bool RecordCameraFrameCompatibleGraphPass(
RenderPass& pass,
const RenderPassRenderGraphContext& context,
const RenderPassGraphIO& io) {
return pass.SupportsRenderGraph()
? pass.RecordRenderGraph(context)
: RecordRasterRenderPass(pass, context, io);
}
bool ExecuteCameraFrameScenePassRequestStage(
RenderPass* pass,
const ScenePassRenderRequest& request,
@@ -289,7 +280,7 @@ bool RecordCameraFrameRegularSequenceStageRenderGraphPass(
const RenderGraphImportedSurface& outputSurface,
const RenderPassGraphBeginCallback& beginPassCallback,
RenderPass& pass) {
return RecordCameraFrameCompatibleGraphPass(
return RecordCompatibleDeclaredRasterPass(
pass,
BuildRenderPassRenderGraphContext(
BuildCameraFrameStageGraphRecordingContext(
@@ -300,12 +291,7 @@ bool RecordCameraFrameRegularSequenceStageRenderGraphPass(
BuildCameraFrameStageGraphSourceBinding(stageState),
outputSurface.colorTextures,
outputSurface.depthTexture),
beginPassCallback),
{
false,
GetPrimaryColorTexture(outputSurface).IsValid(),
outputSurface.depthTexture.IsValid()
});
beginPassCallback));
}
CameraFrameRenderGraphSourceBinding ResolveCameraFrameFullscreenStageGraphSourceBinding(
@@ -447,7 +433,7 @@ bool RecordCameraFrameFullscreenSequenceStageGraphPass(
currentSourceColor
};
const bool recordSucceeded =
RecordCameraFrameCompatibleGraphPass(
RecordCompatibleSourceColorFullscreenRasterPass(
pass,
BuildRenderPassRenderGraphContext(
BuildCameraFrameStageGraphRecordingContext(
@@ -458,12 +444,7 @@ bool RecordCameraFrameFullscreenSequenceStageGraphPass(
passSourceBinding,
std::vector<RenderGraphTextureHandle>{ passOutputColor },
{}),
beginPassCallback),
{
true,
true,
false
});
beginPassCallback));
if (recordSucceeded) {
currentSourceColor = passOutputColor;
}