1. Reduce unnecessary UAV Clear with property velocity projection. Only subpass one UAV is cleared conditionally when separable tiles are detected.
2. Remove subsurface view copy and use tile based recombine.
3. Mipmaps are generated only when there are many Burley tiles ( default r.SSS.Burley.MinGenerateMipsTileCount to 4000)
[Minor] Rename pass and texture names, and use proper descriptors.
#jira UE-131573
#rb jian.ru
#ushell-cherrypick of 17979880 by Tiantian.Xie
#preflight 617c0c6b5dbdbc00016ea885
#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 17983475 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
[CL 17983481 by tiantian xie in ue5-release-engine-test branch]
1. use control variates to deal with dynamic lighting change.
2. use bilinear filtered lighting as the control variable.
Performance boost up to 2.4x (3.22->1.34) during dynamic change for large SSS sudden appearance.
#rb Juan.Canada
#preflight 61232ccbcc11eb0001674a7b
#ROBOMERGE-SOURCE: CL 17265082 via CL 17273152
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)
[CL 17274280 by tiantian xie in ue5-release-engine-test branch]
- Refactored RDG to support free-threaded execution of passes.
- Refactored renderer to use specific RHI command list variants in pass lambda. Immediate command list passes are forced to stay on the render thread, while other variants can be parallelized.
#rb christopher.waters
#ROBOMERGE-SOURCE: CL 16838717 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16838724 by zach bethel in ue5-release-engine-test branch]
Next will be to have buffers also be RDG transient buffers (and that should fix the last transition issue).
Tested strata enabled and disabled with rhivalidation.
#rb none
#fyi charles.derousiers
[CL 15858691 by Sebastien Hillaire in ue5-main branch]
This CL hooks the FStrataSubsurfaceData to the SSS passes, so that no Gbuffer data are no longer needed.
Tested on preflight & EngineTests
#rb sebastien.hillaire
[CL 15452131 by Charles deRousiers in ue5-main branch]
Problem was the passes to fill in the indirect args buffer was tagged to be on the AsyncCompute Pipe but all other passes are on the GFX pipe.
#jira UE-99741
#rb john.hable
#ROBOMERGE-SOURCE: CL 14535762 in //UE5/Release-5.0-M2/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-M2 -> Main) (v749-14533626)
[CL 14535769 by john white in ue5-main branch]
#rb John.Hable
#rnx
#ROBOMERGE-SOURCE: CL 11940564 via CL 11943474 via CL 11943776 via CL 11944054
#ROBOMERGE-BOT: (v656-11643781)
[CL 11946802 by kevin ortegren in Main branch]