This also implements r.Translucency.ScreenPercentage.Basis to experiment controling the translucency resolution independently from the primary screen percentage
#rb none
#jira UE-152560
#preflight 6294fbc4e61254772f5834a6
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 20432059 via CL 20432067 via CL 20432069
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20434142 by guillaume abadie 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]
It will ease merging all shader print RW buffer into a single one.
#rb none
#jira none
#preflight 6294677f380652524eae7e28
[CL 20428909 by Charles deRousiers in ue5-main branch]
This logic took primitives with a material using static lighting and moved velocity writing to a second pass.
Seems like that is some old behavior and after asking around it isn't well known why we had it.
Anyway it's not good to pay the cost of that second pass, so removing that.
#preflight 628fd8f574630984fd4d4464
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 20392160 via CL 20392172 via CL 20392182
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20398501 by jeremy moore in ue5-main branch]
The code was never allocating the second sky render target because it was using the wrong index in the null check (ConvolvedSkyRenderTargetReadyIndex is 0 at that point).
#jira UE-149630
#rnx
#lockdown Michal.Valient
#preflight https://horde.devtools.epicgames.com/job/628f8239e17a02240dd06378
#rb Jason.Hoerner
#ROBOMERGE-AUTHOR: mihnea.balta
#ROBOMERGE-SOURCE: CL 20379597 in //UE5/Release-5.0/... via CL 20381835
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20385099 by mihnea balta in ue5-main branch]
- Decals materials are evaluated using callable shaders in PathTracingKernel.
- Decals are culled using a 2D grid similar to the existing light grid.
- In order to correctly handle decal blending order, decals are sorted using the same logic as the rasterizer on CPU. The compute shader that builds the decal grid maintains the correct order.
- Decal materials are wrapped in FRayTracingDecalMaterialShader. The instance parameters of each decal are bound using uniform buffers.
#preflight 628f3fed2f2409bc1e7a6414
#rb Yuriy.ODonnell, chris.kulla, Jeremy.Moore
[CL 20377336 by tiago costa in ue5-main branch]
This allows to define a new dynamic scaling in the renderer with low amount of boiler plate:
DynamicRenderScaling::FHeuristicSettings GetDynamicTranslucencyResolutionSettings()
{
RenderingDynamicScaling::FHeuristicSettings BucketSetting;
BucketSetting.Model = RenderingDynamicScaling::EHeuristicModel::Quadratic;
BucketSetting.bModelScalesWithPrimaryScreenPercentage = true;
BucketSetting.MinResolutionFraction = ...
...
return BucketSetting;
}
DynamicRenderScaling::FBudget GDynamicTranslucencyResolution(TEXT("DynamicTranslucencyResolution"), &GetDynamicTranslucencyResolutionSettings);
And then simply define a scope to measure the GPU timing as such:
{
DynamicRenderScaling::FRDGScope DynamicTranslucencyResolutionScope(GraphBuilder, GDynamicTranslucencyResolution);
// add passes to GraphBuilder
}
#rb zach.bethel
#jira UE-152561
#preflight 628f1219bb14235aa38c904c
[CL 20376428 by Guillaume Abadie in ue5-main branch]
Add a world dither. Not necessarily useful but can be somewhat analygous to PCF radius.
Add permutation to SMRT samples = 0 (and possibly more in the future).
#preflight 628eab6fc826bd5a7f1135ec
#rb ola.olsson
#ROBOMERGE-AUTHOR: andrew.lauritzen
#ROBOMERGE-SOURCE: CL 20372897 via CL 20372913 via CL 20372922
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20373677 by andrew lauritzen in ue5-main branch]
D3D12 ERROR: ID3D12Device1::CreateMeshShader_TopologyMismatch: Since the mesh shader specifies output topology of triangle, if the PSO desc ALSO specifies a primitive topology (even though not necessary to do), it must be D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE to match the mesh shader. Since the topologies don't match, behavior is undefined. Earlier runtimes didn't validate this, so this error isn't explicitly failing PSO create. But this really should be considered an application error. [ MISCELLANEOUS ERROR #1323: CREATEMESHSHADER_TOPOLOGY_MISMATCH]
D3D12: **BREAK** enabled for the previous message, which was: [ ERROR MISCELLANEOUS #1323: CREATEMESHSHADER_TOPOLOGY_MISMATCH ]
[FYI] christopher.waters, jamie.hayes
#preflight skip
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20372171 via CL 20372216 via CL 20372235
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20373424 by graham wihlidal in ue5-main branch]