Harden render graph pass capture and feature source-color contract
This commit is contained in:
@@ -172,11 +172,13 @@ bool RecordRasterRenderPass(
|
||||
const RenderPassGraphIO& io) {
|
||||
RenderPass* const renderPass = &pass;
|
||||
const Containers::String passName = context.passName;
|
||||
const RenderContext* const renderContext = &context.renderContext;
|
||||
const RenderContext renderContext = context.renderContext;
|
||||
const std::shared_ptr<const RenderSceneData> sceneData =
|
||||
std::make_shared<RenderSceneData>(context.sceneData);
|
||||
const RenderSurface surface = context.surface;
|
||||
const RenderSurface* const sourceSurface = context.sourceSurface;
|
||||
const bool hasSourceSurface = context.sourceSurface != nullptr;
|
||||
const RenderSurface sourceSurface =
|
||||
hasSourceSurface ? *context.sourceSurface : RenderSurface();
|
||||
RHI::RHIResourceView* const sourceColorView = context.sourceColorView;
|
||||
const RHI::ResourceStates sourceColorState = context.sourceColorState;
|
||||
const RenderGraphTextureHandle sourceColorTexture = context.sourceColorTexture;
|
||||
@@ -192,6 +194,7 @@ bool RecordRasterRenderPass(
|
||||
renderContext,
|
||||
sceneData,
|
||||
surface,
|
||||
hasSourceSurface,
|
||||
sourceSurface,
|
||||
sourceColorView,
|
||||
sourceColorState,
|
||||
@@ -224,6 +227,7 @@ bool RecordRasterRenderPass(
|
||||
renderContext,
|
||||
sceneData,
|
||||
surface,
|
||||
hasSourceSurface,
|
||||
sourceSurface,
|
||||
sourceColorView,
|
||||
sourceColorState,
|
||||
@@ -239,12 +243,13 @@ bool RecordRasterRenderPass(
|
||||
return;
|
||||
}
|
||||
|
||||
const RenderSurface* resolvedSourceSurface = sourceSurface;
|
||||
const RenderSurface* resolvedSourceSurface =
|
||||
hasSourceSurface ? &sourceSurface : nullptr;
|
||||
RHI::RHIResourceView* resolvedSourceColorView = sourceColorView;
|
||||
RHI::ResourceStates resolvedSourceColorState = sourceColorState;
|
||||
RenderSurface graphManagedSourceSurface = {};
|
||||
if (!ResolveGraphManagedSourceSurface(
|
||||
sourceSurface,
|
||||
hasSourceSurface ? &sourceSurface : nullptr,
|
||||
sourceColorView,
|
||||
sourceColorState,
|
||||
sourceColorTexture,
|
||||
@@ -277,7 +282,7 @@ bool RecordRasterRenderPass(
|
||||
}
|
||||
|
||||
const RenderPassContext passContext = {
|
||||
*renderContext,
|
||||
renderContext,
|
||||
*resolvedSurface,
|
||||
*sceneData,
|
||||
resolvedSourceSurface,
|
||||
|
||||
Reference in New Issue
Block a user