r.VelocityOutputPass supports the 3 valid settings: depth pass, base pass, after base pass.
#rb rob.krajcarski
#preflight 61f86031114ec25fe0b87dab
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18799499 in //UE5/Release-5.0/... via CL 18801888 via CL 18802482
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18808175 by jeremy moore in ue5-main branch]
Adds 20us to TSR's DilateVelocity, but eliminate MotionBlur's velocity flatten that is 120us on console.
#rb josie.yang
#lockdown michal.valient
#preflight 616dabef6e12ff0001056c70, 616db80708cf4d000146e526
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17850441 via CL 18003913 via CL 18369657 via CL 18369719
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18369796 by jon nabozny in ue5-release-engine-test branch]
1) Allows motion blur to output half and/or quarter res based on what the following passes needs. This avoids adding downsampling passes after
2) Runs FFT bloom on async compute to overlap with all the histogram exposure and local pre exposure stuf
3) Fixes a bug where r.Bloom.HalfResolutionFFT resolution was also dependent r.PostProcessing.QuarterResolutionDownsample
Frosty configurations:
1) Configures to use simple 2x2 dowsampling in post processing to be able to use the fast motion blur code path
2) Configures histogram exposure and local exposure to quarter res.
#rb none
#preflight 616b3f3cf36f7c00011ec1d5
#lockdown michal.valient
[FYI] tiago.costa, josie.wang, brian.karis
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17838792 via CL 18003486 via CL 18369468 via CL 18369549
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18369594 by guillaume abadie in ue5-release-engine-test branch]
1) Motionblur have tile classification to improve VGPR pressure on fast motion blur gathering tiles
2) Motionblur tile classification can lower the gathering resolution to half res with r.MotionBlur.HalfResGather=1 on part of the screen with large motion vectors to reduce VALU costs under large movements, but still can compose with full res scene color without round trip to main memory to avoid adding memory bandwidth costs
3) TSR output a half res scene color in Mip1 so motion blur can dynamically sample half res under largement movements with r.MotionBlur.HalfResInput=1 to save memory bandwidth in the motion blur convolution
4) Number of direction samples becomes dynamic (and clamped to exisiting motion blur quality) based on length of motion vector to saves VALU with slow pixel velocities
5) Motion blur automatically avoid sampling full res center if the blur kernel completly occlude its to completly stop fetching full res to save memory bandwidth cost under large motions
Drops motion blur costs from 753us to 339us of motion blur costs + 40us additional cost in TSR to output half res in sandbox under movements.
And saves an average 0.3ms in the entire chase gameplay sequence.
#rb josie.yang
[FYI] brian.karis
#preflight 616960548b364e0001807ac7, 616998724cf7190001d2e6f2
#lockdown michal.valient
#ROBOMERGE-OWNER: guillaume.abadie
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17830244 via CL 18002937 via CL 18369356 via CL 18369373
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18369376 by guillaume abadie in ue5-release-engine-test branch]
This change is only move code arround to make the following changes easier to diff.
#rb none
#lockdown michal.valient
#preflight 614ca76788dbdb0001778b1a, 614cb58b74f7e70001d2264e
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17611881 via CL 17962937 via CL 18364977 via CL 18365034
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18365104 by jon nabozny 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]