[FYI] Serge.Bernier
Original CL Desc
-----------------------------------------------------------------
Wrap TAA downsample optimization around cvar, and disable on XboxOneGDK (small gain: 0.04ms)
Did profiling on a Xbox One X with emulation mode (XboxOneS) setting. Not representative of the XboxOneS perf..., doing the first downsample in the TAA shader is faster.
#rb [at]guillaume.abadie
#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 21415015 via CL 21415083 via CL 21419035 via CL 21419076 via CL 21419112
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)
[CL 21419896 by serge bernier in ue5-main branch]
2. Supports CustomDepth in translucency pass on mobile LDR.
#jira none
#rb Dmitriy.Dyomin
#preflight 62be9894d94b57687c68aed1
[CL 20911586 by Wei Liu in ue5-main branch]
- Adds a separate temporal accumulation pass for strand based hair if Temporal Layering is enabled - this greatly reduces temporal artifacts (flickering and ghosting) when Temporal Layering is enabled.
- And fixes a bug in Continuous LOD screen size calculation.
#jira none
#rb Charles.deRousiers
#fyi jarl.ostensen
#preflight 62bb0e8c30036d0db926c3ed
[CL 20858553 by Ray Tran in ue5-main branch]
- The output should use the same encoding as the input.
- Also set r.Bloom.ApplyLocalExposure to false by default for now.
#rb yuriy.odonnell
#preflight 62ba1ae0176b16bd384eebf4
[CL 20840158 by tiago costa in ue5-main branch]
- Otherwise bloom intensity will not properly match the bright regions of the final image.
- Can be disabled using r.Bloom.ApplyLocalExposure.
- For gaussian bloom, local exposure is applied during the setup pass.
- For FFT bloom, local exposure is applied using an extra pass before convolution.
- Implemented AddApplyLocalExposurePass which apply local exposure to an input texture.
#rb Guillaume.Abadie
#preflight 62b5f2e8bd4bf89e21c78caa
#jira FORT-460700
[CL 20812852 by tiago costa in ue5-main branch]
Clean obsolete codes in mobile postprocess.
#jira UE-156188
#rb Dmitriy.Dyomin
#preflight 62b274f08e5ee14ea77b8d10
[CL 20769595 by Wei Liu in ue5-main branch]
IsEnabled() should just be if the system is turned on.
SetEnabled() is to turn the system on and off.
There is a per view variation of IsEnabled() which determines if it is set to capture output.
There is a new per view variation of IsValid() which determines if we can bind shader print parameters at all.
IsValid() is for use to avoid crashes and IsEnabled() is for use to early out or avoid work.
#preflight 629a64b36879a2ac679de20b
[CL 20491754 by Jeremy Moore in ue5-main branch]
* When RT debug is enabled we disable translucency but some of the postprocessing materials might use that texture so we need to set correct ViewRect as well.
#jira UE-144066
#rb Tiago.Costa
#preflight 6290d21ad24a7fc585f2c9f4
[CL 20429352 by aleksander netzel in ue5-main branch]
* Existing calls to CreateSceneTextureShaderParameters and similar functions use "GetSceneTexturesChecked", which allows for the possibility that they are reached in a code path where scene textures haven't been initialized, and nullptr is returned instead of asserting. The shader parameter setup functions then fill in dummy defaults for that case. The goal was to precisely match the original behavior, which queried the RDG blackboard, and gracefully handled null if scene textures weren't there. This definitely appears to occur in FNiagaraGpuComputeDispatch::ProcessPendingTicksFlush, which can be called with a dummy scene with no scene textures. In the future, I may change this so dummy defaults are filled in for FSceneTextures at construction time, so the structure is never in an uninitialized state, but I would like to set up a test case for the Niagara code path before doing that, and the checks aren't harmful in the meantime.
* I marked as deprecated global functions which query values from FSceneTexturesConfig, but they'll still work with the caveat that if you use multi-view-family rendering, the results will be indeterminate (whatever view family rendered last). There was only one case outside the scene renderer that accessed the globals (depth clear value), which I removed, noting that there is nowhere in the code where we modify the depth clear value from its global default. I would like to permanently deprecate or remove these at some point. Display Cluster is the only code that's currently using the multi-view-family code path, and as a new (still incomplete) feature, third party code can't be using it, and won't be affected.
#jira NONE
#rb chris.kulla zach.bethel mihnea.balta
#preflight 6261aca76119a1a496bd2644
[CL 19873983 by jason hoerner in ue5-main branch]
[Engine] Enable color Calibration Material Visualization for shipping
-Enabled the calibration flags
-Removed the no-shipping guards around associated logic
#rb [at]philip.buuck [at]christina.tempelaarl
[FYI] arturo.oppen, alex.gonzalez
#ushell-cherrypick of 19536400 by antonio.delascarrer
#ROBOMERGE-AUTHOR: antonio.delascarrer
#ROBOMERGE-SOURCE: CL 19536397 via CL 19536663 via CL 19536680
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)
[CL 19537137 by marc audy in ue5-main branch]