Further fixes for pause with temporal aa

[CL 2606272 by Brian Karis in Main branch]
This commit is contained in:
Brian Karis
2015-06-30 15:19:01 -04:00
committed by Brian.Karis@epicgames.com
parent 5a413c25c7
commit d533e50bc2
2 changed files with 13 additions and 10 deletions

View File

@@ -703,15 +703,15 @@ void FRCPassPostProcessTemporalAA::Process(FRenderingCompositePassContext& Conte
}
Context.RHICmdList.CopyToResolveTarget(DestRenderTarget.TargetableTexture, DestRenderTarget.ShaderResourceTexture, false, FResolveParams());
if( !CVarTemporalAAPauseCorrect.GetValueOnRenderThread() )
if( CVarTemporalAAPauseCorrect.GetValueOnRenderThread() )
{
// Release to potentially reuse memory.
// Otherwise keep around so that pause looks correct.
ViewState->TemporalAAHistoryRT.SafeRelease();
ViewState->PendingTemporalAAHistoryRT = PassOutputs[0].PooledRenderTarget;
}
else
{
ViewState->TemporalAAHistoryRT = PassOutputs[0].PooledRenderTarget;
}
ViewState->PendingTemporalAAHistoryRT = PassOutputs[0].PooledRenderTarget;
check( ViewState->PendingTemporalAAHistoryRT );
// TODO draw separate translucency after jitter has been removed
@@ -734,7 +734,7 @@ FPooledRenderTargetDesc FRCPassPostProcessTemporalAA::ComputeOutputDesc(EPassOut
FPooledRenderTargetDesc Ret = PassInputs[0].GetOutput()->RenderTargetDesc;
Ret.Reset();
Ret.Format = PF_FloatRGBA;
//Ret.Format = PF_FloatRGBA;
Ret.DebugName = TEXT("TemporalAA");
return Ret;

View File

@@ -1584,8 +1584,11 @@ void FSceneRenderer::PreVisibilityFrameSetup(FRHICommandListImmediate& RHICmdLis
if(!ViewFamily.bWorldIsPaused)
{
ViewState->PrevViewMatrices = ViewState->PendingPrevViewMatrices;
ViewState->TemporalAAHistoryRT = ViewState->PendingTemporalAAHistoryRT;
ViewState->PendingTemporalAAHistoryRT.SafeRelease();
if( ViewState->PendingTemporalAAHistoryRT.GetRefCount() )
{
ViewState->TemporalAAHistoryRT = ViewState->PendingTemporalAAHistoryRT;
ViewState->PendingTemporalAAHistoryRT.SafeRelease();
}
// pending is needed as we are in init view and still need to render.
ViewState->PendingPrevViewMatrices = View.ViewMatrices;