Commit Graph

1606 Commits

Author SHA1 Message Date
ben woodhouse
e5e7916719 Add support for resizing the scene rendertargets by dynamically adjusting the max resolution based on a quantized version of the computed resolution fraction. This results in more efficient clears and resolves (since these now scale with resolution), and more efficient use of fast VRAM on platforms which use it.
Quantization can be controlled via r.DynamicRes.UpperBoundQuantization, which specifies the number of steps. The step size is given by (MaxScreenPercentage-MinScreenPercentage)/UpperBoundQuantization. Set this to 0 to disable.

Only recommended for use with the transient allocator (on supported platforms) with a large transient texture cache (e.g RHI.TransientAllocator.TextureCacheSize=512). A rule-of-thumb for cache size is 32 * r.DynamicRes.UpperBoundQuantization.

#rb guillaume.abadie

[CL 21585061 by ben woodhouse in ue5-main branch]
2022-08-26 01:43:49 -04:00
robert srinivasiah
7717a11e22 Remove Omni-Directional Stereo Capture (experimental)
#jira UE-147895
#preflight 630723b7c85b7fef22eccd17
#rb Jeff.Fisher Alejandro.Arango Juan.Canada

[CL 21567260 by robert srinivasiah in ue5-main branch]
2022-08-25 12:50:10 -04:00
benjamin rouveyrol
09c29cbee9 integration of ACES 1.3: the HDR tonemapper can now support parameterized maximum luminance.
Updated ACESOutputTransformsRGBD65 so ACESOutputTransformsRGBD65(0.18)=0.18, just like FilmToneMap does. This helped to get similar brightness between these 2 tonemappers and should be useful for people who would like to use ACES, even in SDR.

#rb eric.renaudhoude rod.bogart
#preflight 630652115366f61a42c3fbe7
#jira UE-151467

[CL 21559813 by benjamin rouveyrol in ue5-main branch]
2022-08-25 03:08:42 -04:00
dmitriy dyomin
ba4c590e33 Added ShadingModels mask.
r.Mobile.ShadingModelsMask can be used to mask out specific shading models on mobile platforms.
Masked shading models will fallback to DefaultLit

[CL 21540496 by dmitriy dyomin in ue5-main branch]
2022-08-24 10:40:03 -04:00
benjamin rouveyrol
525e5678a5 Add R9G9B9E5 format on platforms that support it
#rb will.damon christopher.waters eric.mcdaniel
#jira UE-124898
#preflight 63048c94a45b007ea268fda3

[CL 21536768 by benjamin rouveyrol in ue5-main branch]
2022-08-24 04:20:06 -04:00
serge bernier
77a2d486ea -Use Depth and velocity pass on Xb1 and Ps4 (VelocityParallel).
- Saves ~0.3ms on PS4/XB1 (Dynres = 100%).
-Add possibility to disable grass velocity output when WPO velocity is enable (only effective when r.velocity.enablevertexdeformation != 0 and r.OptimizedWPO = true)

#rb [at]jeremy.moore

[CL 21524947 by serge bernier in ue5-main branch]
2022-08-23 19:21:36 -04:00
zach bethel
830bee886c Fix for assert due to race with FRHIAsyncCommandList and GRHICommandList.OutstandingCmdListCount.
#rb luke.thatcher

[CL 21524937 by zach bethel in ue5-main branch]
2022-08-23 19:21:25 -04:00
zach bethel
b13d0cde04 Move light visibility calculations, fog setup, and capsule shadow setup into an async task during ComputeViewVisibility.
#preflight 62ffcb02c85b7fef22f7a8fe

[CL 21500215 by zach bethel in ue5-main branch]
2022-08-22 21:33:44 -04:00
zach bethel
8eac902180 Fixed parallel translate latency. With lock / unlock supported in queued async command lists, an RHI thread fence was being added conservatively with every async command list submission. When RDG parallel execution is enabled, the parallel translate jobs cannot launch until they are supposed to be submitted, which introduces massive stalls on the RHI thread and extends parallel translation into the next frame, clashing with InitViews. This change fixes the issue by introducing a tiny job that launches when all dependent command lists are finished recording (which happens quickly in RDG) and then scans for the latest RHI thread fence on any of the command lists.
#rb ben.woodhouse, christopher.waters

[CL 21499911 by zach bethel in ue5-main branch]
2022-08-22 21:21:08 -04:00
christopher waters
aee024fd71 Adding bindless support to more MDC parameter types. Removing unneeded data from MDC UB binding info.
#jira UE-139616
#rb zach.bethel
#preflight 6303ec020061f895d0edfe3d

[CL 21496103 by christopher waters in ue5-main branch]
2022-08-22 18:22:37 -04:00
christopher waters
e9a48d6897 Removing more uses of GMaxRHIFeatureLevel.
Focus started on GenerateMips and AddClearUAVPass.

#jira none
#rb mihnea.balta
#preflight 62fe768d200ff87e07c5e1ad

[CL 21448320 by christopher waters in ue5-main branch]
2022-08-18 15:29:29 -04:00
dmitriy dyomin
6d1f9e0955 Skip caching MobileBasePassCSM commands when deferred shading is enabled (missed one file)
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 21439775 via CL 21439785 via CL 21439797 via CL 21439812
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21440286 by dmitriy dyomin in ue5-main branch]
2022-08-18 08:05:29 -04:00
nuno leiria
b09e8146cd Force inline functions that are often called.
The compiler on some platforms doesn't do this automatically.

#preflight 62fbe4c8cf7afa018bac3a67
#rb david.harvey

#ROBOMERGE-OWNER: nuno.leiria
#ROBOMERGE-AUTHOR: nuno.leiria
#ROBOMERGE-SOURCE: CL 21439197 via CL 21439204 via CL 21439208 via CL 21439325 via CL 21439330
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21439833 by nuno leiria in ue5-main branch]
2022-08-18 06:41:13 -04:00
christopher waters
be801cd728 Removing reference of a temporary.
#jira UE-158335
#rb mihnea.balta
#preflight 62face43af6329b3c3a0bba1

[CL 21430518 by christopher waters in ue5-main branch]
2022-08-17 15:52:12 -04:00
Wei Liu
c5b17c54eb Enable mobile ambient occlusin on LDR
#jira none

#rb Dmitriy.Dyomin
#preflight 62fc9828086f90bbc4664adf

[CL 21422099 by Wei Liu in ue5-main branch]
2022-08-17 03:40:59 -04:00
Guillaume Abadie
babd5c6738 Limits the size of staged buffer when dump large resources with DumpGPU
#rb none
#jira UE-160972
#preflight 62fad020e41faed68ae265c1

[CL 21404209 by Guillaume Abadie in ue5-main branch]
2022-08-16 09:41:50 -04:00
Sebastien Hillaire
f9701b8e16 Strata - Single Layer Water optimsation for when SeparatedDirLightLuminance is enabled for DFShadow on water surface. That extrata data goes into a render target. This can save 0.1ms on older platforms when water coverage gets large on screen.
#rb none
#preflight https://horde.devtools.epicgames.com/job/62fa65da1e61d1ba0e36afc5
#fyi charles.derousiers

[CL 21402176 by Sebastien Hillaire in ue5-main branch]
2022-08-16 03:12:47 -04:00
ben woodhouse
f01fc33a83 Make a new RenderthreadCriticalPath stat which includes dependent waits. The new stat still excludes GPU occlusion query waits, the present wait and non-critical path waits (waiting for the game thread or RHI thread). Waits for tasks kicked on the GT are included though (unlike the existing stat).
The implementation extends the existing FThreadIdleStats to track critical path vs non-critical path waits for a thread.

The cvar r.RenderThreadTimeIncludesDependentWaits forces the main renderthread stat to use the new behavior, but this is disabled by default for historical tracking reasons.

#rb Nuno Leiria

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21386702 via CL 21387159 via CL 21387356 via CL 21391039 via CL 21391830
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21394348 by ben woodhouse in ue5-main branch]
2022-08-15 17:15:00 -04:00
dmitriy dyomin
3f27739e32 Make "r.Mobile.ShadingPath" per-platform option. Require DXC for GL to enable deferred shading
#rb none

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 21385236 via CL 21387818 via CL 21388641
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21390254 by dmitriy dyomin in ue5-main branch]
2022-08-15 14:07:54 -04:00
Florin Pascu
960d2cf9d4 Filter Frequencies for mobile platforms(only allow vertex, pixel and compute)
#rb Dmitriy.Dyomin
#jira UE-159449
#preflight 62f50941086f90bbc415bb9d

[CL 21335708 by Florin Pascu in ue5-main branch]
2022-08-11 10:19:42 -04:00
TWAtGH
b793072199 PR #9455: Merged FASTBuild PR #8784 with recent UE5 changes (Contributed by TWAtGH)
#preflight 62f3fcc9f75a2a539c8d29dc

[CL 21323984 by TWAtGH in ue5-main branch]
2022-08-10 15:23:20 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
christopher waters
862033a6a3 Working around DXC issues that caused constant buffers to be marked used when we initialized bindless resources for Uniform Buffers.
Uniform Buffer struct initializing now just use a global resource/sampler to instead of calling the getter function.
Adding bindless support to FShaderResourceParameter.

#jira UE-139616
#rb yuriy.odonnell
#preflight 62d9da7fd54af4b9a222d9c5

[CL 21273494 by christopher waters in ue5-main branch]
2022-08-08 15:22:39 -04:00
arne schober
11bcaa521d Add extra debug info for FRenderResource lifetime.
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 21198085 via CL 21198090 via CL 21198094
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21198504 by arne schober in ue5-main branch]
2022-07-21 04:08:31 -04:00
arne schober
ba88ede4c6 Fix race in BatchReleasedResources
#RB lason.nadro

#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 21188727 via CL 21188736 via CL 21188745
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21194276 by arne schober in ue5-main branch]
2022-07-20 18:59:05 -04:00