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]
This improves how the editor deals with displays that have different capabilities (some with HDR, others without).
Centralize where the CVars are accessed
Have the swapchain created in SDR when shown on a SDR display
Make sure color gamut matches the one supported by the platform/swapchain.
Allow Movie scene capture to override the gamut/output format to keep existing behaviour (MovieSceneCapture relies on swapchain data)
#preflight 628baef5183c1e13462a504d
#jira UE-150952
#rb luke.thatcher
[CL 20347067 by benjamin rouveyrol in ue5-main branch]
- added bSupportsRayTracingCallableShaders to DDPI.
- only Windows D3D12 RHI supports callable shaders at the moment.
#rb yuriy.odonnell
#preflight 628bb493693c5e1de282983f
[CL 20331097 by tiago costa in ue5-main branch]
Hooked the value used by instanced static meshes into it to get nanite ISMs to respect the cull distance.
#rb brian.karis
#preflight 6287d8a21e478b95c7345866
#ROBOMERGE-AUTHOR: jamie.hayes
#ROBOMERGE-SOURCE: CL 20301693 via CL 20301776 via CL 20301792
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)
[CL 20305738 by jamie hayes in ue5-main branch]
- GetRayTracingCallableLibrary() similar to how we handle hitgroups.
FindRayTracingCallableIndex(...) to query callable shader index in RTPSO.
#rb yuriy.odonnell
#preflight 628620c99016c6dd8974b510
[CL 20278150 by tiago costa in ue5-main branch]
- Parameter binding is now enabled when possible, i.e. no legacy data interfaces / external cbuffer / view uniform buffer
#rb rob.krajcarski
#jira UE-151234
#preflight 62844015f669ec5902688727
[CL 20266965 by Stu McKenna in ue5-main branch]
- Adding support for bindless resources/samplers. The loose resources have to be wrapped in a macro that generates an index and proxy resource when bindless is enabled. Reflection has to parse these differently from other resources since they're parsed as uint parameters. The runtime also has to bind these differently since they end up needing to find their real resource in the binding data and then update a constant buffer.
- To assist in conversions, the shader compiler will detect if a shader is compiled with both bindless and non-bindless resources/samplers and will emit errors if that is the case.
- Adding support for bindless Uniform Buffer resources/samplers. Because Uniform Buffers aren't per-shader, they'll always update their constants with the bindless indices of their resources.
- Adding more flags to FShaderCodePackedResourceCounts required changing all the array initializations to individual parameters since not all the new flags are used everywhere.
- No shaders have been configured to support bindless resources/samplers. Yet.
#jira UE-139616
#rb zach.bethel, arciel.rekman
#preflight 6282b8ec44349a6581a21a39
[CL 20250348 by christopher waters in ue5-main branch]
- Simplified RDG transition logic to only use subresource transitions.
- Don't allow unmergeable states to be merged during pass setup.
#preflight 627ebfadca3b90fc14fb9b85
#fyi jeannoe.morissette
[CL 20224647 by zach bethel in ue5-main branch]
- Adding structured buffer output support to media capture
#jira UE-150229, UE-150230
#rb geoffrey.douglas, eric.renaudhoude, ruslan.idrisov
- Adding Rivermax output support wiht custom conversions to support
YCbCr10
RGB8
RGB10
RGB16f
- Fixing chunk configuration for output stream
- Fixing crash when dragging a rivermax player in the scene
#jira UE-146135, UE-150475
#preflight 627562a78a31599132bf87f2
[CL 20081599 by Simon Therriault in ue5-main branch]
- Data Interface should now opt into the new binding path by setting UseLegacyShaderBindings to false
- BuildShaderParameters / SetShaderParameters replaces BindParameters / SetParameters / UnsetParameters
- CreateShaderStorage / GetShaderStorageType replaces CreateComputeParameters / GetComputeParametersTypeDesc.
- Shader storage should no longer be required for the majority of cases, only those which require data based on bound functions will need additional data, everything else should be statically set.
#rb michael.galetzka
#jira none
#preflight 627061b1220f89f0ad5aff22
[CL 20027313 by Stu McKenna in ue5-main branch]