CitySample PC cook stats (recompile all shaders in both runs):
Baseline: 75384 shaders compiled, Cook time 1h 35m 47s
WithChange: 71431 shaders compiled, Cook time 1h 25m 23s
Shader reduction 5.24%, Cook time reduction 10mins
#jira UE-157665
#rb kriss.gossart
#preflight 6329e724331ace46b5125a27
[CL 22112922 by josie yang in ue5-main branch]
This makes the dbuffer pass 0.05ms faster, but the makes the classification slower by 0.1ms. So no win for now, but further optimization are coming. Disabled for now.
#rb none
#jira none
#preflight 632979ec9840225da24fc245
#fyi sebastien.hillaire
[CL 22091302 by Charles deRousiers in ue5-main branch]
Remove r.Shadow.CSM.MaxMobileCascades, use r.Shadow.CSM.MaxCascades to limit number of cascades
#jira UE-142377
#rb jack.porter
#preflight 632843baf258fccf9879925a
[CL 22084614 by dmitriy dyomin in ue5-main branch]
- The VolumetricAdvancedInput node still ahs its first output be a float3 to make sure we do not break any existing content and do not really a heavy conversion step.
- Another VolumetricAdvancedInput node output is float4.
- Conservative density of VolumetricAdvancedOutput node takes any floatX and force cast to float4 to be compatible with the code assuming conservative dnrsity is always a float4.
Tested with multiple assets.
#rb none
#preflight https://horde.devtools.epicgames.com/job/63207fc48838676d10e82d25
[FYI] daniel.elliott
[CL 22053290 by sebastien hillaire in ue5-main branch]
Skip reflectio for simple translucent materials for both mobile forward and deferred.
Translucent materials fall back to single reflection or sky capture on mobile deferred if clustered reflection is disabled.
#jira none
#rb Dmitriy.Dyomin
#preflight 632427b88c3def91aa6545ed
[CL 22050309 by wei liu in ue5-main branch]
This CL uses stentil buffer bit to mark the material decal responsness, which is later use during the DBuffer pass to blend decals material data.
#rb none
#jira none
#preflight 632493d3ea1c94f4c5c7785a
#fyi sebastien.hillaire
[CL 22050151 by Charles deRousiers in ue5-main branch]
The post base-pass dbuffer blending only works for simple and single materials. Complex material are still apply during the base pass. This pass is disabled by default, and will be enabled only per-platform. Following needs to happen making unpacking/packing modulare and reusable.
On lower-platform this allows to reduce significatly the cost of base pass (BasePass:-1.2ms DBufferPass+0.4ms = -0.8ms net), as the compiler can better prune code, and allows to increase occupancy.
#rb none
#jira none
#preflight 6324633b74361465145e0f75
#fyi sebastien.hillaire
[CL 22048223 by Charles deRousiers in ue5-main branch]
[FYI] wei.liu
Original CL Desc
#lockdown JeanFrancois.Dube
-----------------------------------------------------------------
Change the reflection capture's encoded HDR data to RG11B10 format.
Skip reflectio for simple translucent materials for both mobile forward and deferred.
Translucent materials fall back to single reflection or sky capture on mobile deferred if clustered reflection is disabled.
#jira none
#[robomerge] 5.1
#rb Dmitriy.Dyomin
#preflight 6322cc7ae93a80888ce672a1
#ushell-cherrypick of 22025079 by Wei.Liu
[CL 22030745 by marc audy in ue5-main branch]
Skip reflectio for simple translucent materials for both mobile forward and deferred.
Translucent materials fall back to single reflection or sky capture on mobile deferred if clustered reflection is disabled.
#jira none
#rb Dmitriy.Dyomin
#preflight 6322cc7ae93a80888ce672a1
[CL 22025079 by Wei Liu in ue5-main branch]
The logic for fetching RandomID from instances was only active when instancing was setup for the vertex factory, which is not the case for raytracing (which handles instancing natively). I followed the pattern used for per instance custom data which was already supported. Since the per instance random value is constant per primitive, I simplified the logic and moved it out of the interpolated quantity PerInstanceParams (which is now a float3 instead of a float4).
Tweaked the logic that enables the RandomID field to only populate it when either PerInstanceRandom or dither fade is enabled (which are the only two cases that use it currently).
#jira UE-163215
#rb Yuriy.ODonnell,Graham.Wihlidal
#preflight 63223eb58838676d105e2d92
[CL 22016969 by chris kulla in ue5-main branch]
- Renderers all pack vertices in LWC tile space and apply the tile inside the VS
- Changed ApplyWorldOffset to reset the system as it fails for various emitter types
#rb simon.tovey
#jira UE-162263, UE-141665, UE-157623, UE-161786, UE-161865, UE-142180, UE-142222, UE-140639, UE-137668, UE-139845
#preflight 632100478838676d100c2d61
[CL 22010004 by Stu McKenna in ue5-main branch]