jason hoerner
0267d53323
DisplayCluster: Virtual Shadow Map cache can optionally be allocated per view, and enabled that feature for Virtual Production. Significant performance win by avoiding constant cache thrashing when rendering multiple families. Frame time goes from ~45 ms to ~26 ms for Valley test scene (Node 2), GPU bound in both cases. Separate cache per view isn't implemented for split screen views (single view family with multiple views), but Virtual Production doesn't use that, and support for that could be added in the future.
...
#jira UE-142732
#rb andrew.lauritzen ola.olsson
#preflight 628d06a45c3ef99a7b2fffa3
[CL 20351116 by jason hoerner in ue5-main branch]
2022-05-24 13:17:13 -04:00
Rune Stubbe
88ad07242e
Fix for crash when FHZBOcclusionTester::MapResults is called before FHZBOcclusionTester::Submit
...
#rb ola.olsson
#preflight 62826c3ccf7e4667a996c14c
[CL 20225767 by Rune Stubbe in ue5-main branch]
2022-05-16 11:55:28 -04:00
jason hoerner
b19bb6be2f
UE5_MAIN: Multi-view-family scene renderer refactor, part 1. Major structural change to allow scene renderer to accept multiple view families, with otherwise negligible changes in internal behavior.
...
* Added "BeginRenderingViewFamilies" render interface call that accepts multiple view families. Original "BeginRenderingViewFamily" falls through to this.
* FSceneRenderer modified to include an array of view families, plus an active view family and the Views for that family.
* Swap ViewFamily to ActiveViewFamily.
* Swap Views array from TArray<FViewInfo> to TArrayView<FViewInfo>, including where the Views array is passed to functions.
* FSceneRenderer iterates over the view families, rendering each one at a time, as separate render graph executions.
* Some frame setup and cleanup logic outside the render graph runs once.
* Moved stateful FSceneRenderer members to FViewFamilyInfo, to preserve existing one-at-a-time view family rendering behavior.
* Display Cluster (Virtual Production) uses new API.
Next step will push everything into one render graph, which requires handling per-family external resources and cleaning up singletons (like FSceneTextures and FSceneTexturesConfig). Once that's done, we'll be in a position to further interleave rendering, properly handle once per frame work, and solve artifacts in various systems.
#jira none
#rnx
#rb zach.bethel
#preflight 625df821b21bb49791d377c9
[CL 19813996 by jason hoerner in ue5-main branch]
2022-04-19 14:45:26 -04:00
jason hoerner
3cb3050f56
UE5: Fix for occlusion query startup assert when using the mobile renderer. Reverting occlusion query fence implementation to original code for all use cases besides DisplayCluster, the case we needed to optimize for multiple view family rendering (the optimization saves 8 ms in the Virtual Production City demo). Longer term, we might want a more robust refactor of the code to handle both cases, but we need to unblock mobile in the short term.
...
#rb mihnea.balta
#rnx
#lockdown mihnea.balta
#jira UE-140955
#preflight 61fb05bb9a71b11fd3933e2c
#ROBOMERGE-AUTHOR: jason.hoerner
#ROBOMERGE-SOURCE: CL 18842191 in //UE5/Release-5.0/... via CL 18842205 via CL 18842495
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18842520 by jason hoerner in ue5-main branch]
2022-02-03 09:24:29 -05:00
fred kimberley
7fbfaf57c8
Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
...
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build
#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18824721 by fred kimberley in ue5-main branch]
2022-02-02 07:59:31 -05:00
jason hoerner
3a9944fb7c
DisplayCluster perf: made it so scene occlusion queries are added to a queue based on the UniqueID of the first View in the ViewState, so in scenarios where there are multiple view families rendering, a given view family can wait on its own query fence (next frame), rather than the fence for the previously rendered view family in the current frame. This avoids an unnecessary stall waiting on results that aren't actually going to be used, saving up to 8 ms in stalls in a Virtual Production test case. If the queue fills up, one fence is automatically pulled off the queue and waited on, so there is room to push a new fence.
...
#rb zach.bethel mihnea.balta
#rnx
#jira none
#preflight 61f43aa0f628752a5691887b
#ROBOMERGE-AUTHOR: jason.hoerner
#ROBOMERGE-SOURCE: CL 18776815 in //UE5/Release-5.0/... via CL 18778367 via CL 18778739
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18778753 by jason hoerner in ue5-main branch]
2022-01-28 16:35:40 -05:00
ola olsson
b5219b04e6
Remove Geometry Shader path for point-light shadow rendering, disable point light shadows if VertexShaderLayer is not supported (at runtime).
...
- Add r.Shadow.DetectVertexShaderLayerAtRuntime to make it possible to force (for DX11/12/SM5/Vulkan) compilation of vslayer despite RHISupportsVertexShaderLayer being false.
- Set r.Shadow.DetectVertexShaderLayerAtRuntime in WindowsEngine.ini,WinGDKEngine.ini & LinuxEngine.ini.
- Add DoesRuntimeSupportOnePassPointLightShadows to determine support at runtime.
- Fix bug excluding Nanite meshes from DF shadows for local lights if VSM is enabled (now only affects directional lights).
- Add OnGetOnScreenMessages to enable modular generation of on-screen messages in the scene renderer (aimed at transient rendering processes).
#rb arciel.rekman,andrew.lauritzen
#jira UE-138933
#preflight 61f3c967da54035207f6e560
#ROBOMERGE-AUTHOR: ola.olsson
#ROBOMERGE-SOURCE: CL 18769670 in //UE5/Release-5.0/... via CL 18769671 via CL 18769765
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18769767 by ola olsson in ue5-main branch]
2022-01-28 06:36:41 -05:00
ben ingram
d1124c2e41
Move a bunch of lighting calculations to translated world space, fixes various problems at LWC scale
...
#preflight 61f1760afd5285142b43178a
#rb Daniel.Wright, tiago.costa, Andrew.Lauritzen, charles.derousiers
#jira UE-139831
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 18738670 in //UE5/Release-5.0/... via CL 18738820 via CL 18739464
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18740039 by ben ingram in ue5-main branch]
2022-01-26 13:56:31 -05:00
ola olsson
fe999f870c
Fixes for HZB culling readback (part-contributed by Ernesto Corvi through UDN) & update shader parameters
...
#rb Guillaume.Abadie,jason.hoerner
#preflight 61bb15ab58796f05e158e312
#ROBOMERGE-AUTHOR: ola.olsson
#ROBOMERGE-SOURCE: CL 18474585 in //UE5/Release-5.0/... via CL 18480635
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18480717 by ola olsson in ue5-release-engine-test branch]
2021-12-16 18:22:06 -05:00
jon nabozny
cdc65f654f
Reland: Fixes motion blur lengths when using time dilation
...
#rb josie.yang
#lockdown michal.valient
#preflight 614a44526c96990001c47143
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17606608 via CL 17962735 via CL 18364937 via CL 18364960
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18365023 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:53:56 -05:00
jon nabozny
9693ad4915
Undo //UE5/Private-Frosty/Engine/... changelist 17586431
...
#lockdown michal.valient
#preflight revert for build breakage
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17587410 via CL 17948832 via CL 18364580 via CL 18364616
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18364712 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:34:52 -05:00
jon nabozny
c418c40de0
Fixes motion blur lengths when using time dilation
...
#rb josie.yang
#lockdown michal.valient
#preflight 614a1e3259380f0001888d92
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17586431 via CL 17948712 via CL 18364381 via CL 18364522
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18364604 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:30:35 -05:00
aurel cordonnier
fc542f6cfd
Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
...
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
andrew davidson
57beb335f2
Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
...
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
christopher waters
6c4b4a91a4
Adding a required StencilRef argument to SetGraphicsPipelineState.
...
#jira none
#rb zach.bethel, mihnea.balta, florin.pascu
#preflight 61312f4a79ce170001d4a79e
#ROBOMERGE-SOURCE: CL 17422777 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
#ROBOMERGE[bot1]: emt
[CL 17422941 by christopher waters in ue5-release-engine-test branch]
2021-09-03 12:04:52 -04:00
zach bethel
a44fbef833
Incremental fix-up to add names to RDG passes and use the correct RHI command list.
...
#rb christopher.waters
#ROBOMERGE-SOURCE: CL 16923748 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16923764 by zach bethel in ue5-release-engine-test branch]
2021-07-22 11:00:18 -04:00
christopher waters
c59eec22ea
Minor cleanup of shadow passes focused on removing unnecessary command list and feature level arguments.
...
#jira none
#rb zach.bethel
#preflight 60f6f3a3a6959a00014e7388
#ROBOMERGE-SOURCE: CL 16898650 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16898660 by christopher waters in ue5-release-engine-test branch]
2021-07-20 13:31:10 -04:00
jeff newquist
f562a412a6
Pass ownership of FHZBOcclusionTester::Primitives to RDG pass and let it release when the pass ends. Fixes crashes due to thread race conditions when FHZBOcclusionTester kept ownership.
...
#rb Zach.Bethel
#jira none
#ROBOMERGE-SOURCE: CL 16745876 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16745906 by jeff newquist in ue5-release-engine-test branch]
2021-06-22 13:58:32 -04:00
aurel cordonnier
02c0f425e8
Copy up from Release-Engine-Staging @ 16738359
...
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719
[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
Andrew Davidson
3ddc3a4da3
Merge up from //UE5/Dev-LargeWorldCoordinates
...
#rb none
[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
aurel cordonnier
50944fd712
Merge UE5/RES @ 16162155 to UE5/Main
...
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156
[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
dmytro vovk
eab8b64ef1
Removed Scene Software Occlusion
...
#jira none
#rb Dmitriy.Dyomin
[CL 16158927 by dmytro vovk in ue5-main branch]
2021-04-29 13:14:48 -04:00
dmitriy dyomin
8e508176a9
Fixed: auto-instancing on mobile
...
#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 15757659 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)
#ROBOMERGE-CONFLICT from-shelf
[CL 15772431 by dmitriy dyomin in ue5-main branch]
2021-03-22 22:21:46 -04:00
Yuriy ODonnell
da38c78f19
Added TRACE_CPUPROFILER_EVENT_SCOPE-s in various parts of rendering code that can take non-trivial time.
...
#preflight 60578088c118270001c6367f
[CL 15756286 by Yuriy ODonnell in ue5-main branch]
2021-03-21 13:53:35 -04:00
Marc Audy
0cbbc781ca
Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
...
This represents UE4/Main @ 15709114
[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00