Commit Graph

676 Commits

Author SHA1 Message Date
charles derousiers
61d2cdf491 Convert Standard deferred lights shader to use FParameters shader parameters and native RDG resources.
#rb none
#jira none
#preflight 61b285734111d88202f94c0e

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18429384 in //UE5/Release-5.0/... via CL 18429385
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18429387 by charles derousiers in ue5-release-engine-test branch]
2021-12-10 03:43:29 -05:00
semion piskarev
870a9f0cf0 Allow disabling hardware occlusion queries on a per-scene basis in editor.
#rb Andrew.Lauritzen, Christina.TempelaarL
#rnx
#jira none
#preflight 61b02acea746977eacb1a56d

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18407913 in //UE5/Release-5.0/... via CL 18407928
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18407939 by semion piskarev in ue5-release-engine-test branch]
2021-12-08 12:47:43 -05:00
jamie hayes
15da3d166d * Updates to GPU Scene and the GPUSceneCollector to support handling the upload of multiple instances and instance payload data for dynamic primitives
* Updates to the VirtualShadowMapArrayCacheManager to support the invalidation of cache pages upon removal of dynamic primitives
* Various updates and fixes to support writing dynamic primitives' instance scene data and instance payload data from the GPU
* All these changes are needed by a few existing systems that will be using them soon to render via GPU Scene

(NOTE: This change is a resubmit of 18375369 with CIS fixes that caused it to be backed out)

#rb ola.olsson
#preflight 61ae4176353890ce23d75a95

#ROBOMERGE-AUTHOR: jamie.hayes
#ROBOMERGE-SOURCE: CL 18384716 in //UE5/Release-5.0/... via CL 18384780
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18384814 by jamie hayes in ue5-release-engine-test branch]
2021-12-06 13:18:17 -05:00
charles derousiers
98d2a13df4 Clean how active hair instances are queried.
#rb none
#jira none

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18378598 in //UE5/Release-5.0/... via CL 18378605
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18378606 by charles derousiers in ue5-release-engine-test branch]
2021-12-05 11:05:34 -05:00
aurel cordonnier
46a2f40da2 [Backout] - CL18359911 (due to CIS errors)
[FYI] jamie.hayes
Original CL Desc
-----------------------------------------------------------------
* Updates to GPU Scene and the GPUSceneCollector to support handling the upload of multiple instances and instance payload data for dynamic primitives
* Updates to the VirtualShadowMapArrayCacheManager to support the invalidation of cache pages upon removal of dynamic primitives
* Various updates and fixes to support writing dynamic primitives' instance scene data and instance payload data from the GPU
* All these changes are needed by a few existing systems that will be using them soon to render via GPU Scene

#rb ola.olsson

#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 18375767 via CL 18375771 via CL 18375781
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18375783 by aurel cordonnier in ue5-release-engine-test branch]
2021-12-03 19:54:06 -05:00
jamie hayes
4523c7cecd * Updates to GPU Scene and the GPUSceneCollector to support handling the upload of multiple instances and instance payload data for dynamic primitives
* Updates to the VirtualShadowMapArrayCacheManager to support the invalidation of cache pages upon removal of dynamic primitives
* Various updates and fixes to support writing dynamic primitives' instance scene data and instance payload data from the GPU
* All these changes are needed by a few existing systems that will be using them soon to render via GPU Scene

#rb ola.olsson

#ROBOMERGE-AUTHOR: jamie.hayes
#ROBOMERGE-SOURCE: CL 18359911 via CL 18375369 via CL 18375397
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18375424 by jamie hayes in ue5-release-engine-test branch]
2021-12-03 17:54:14 -05:00
andrew lauritzen
1dfa763b1f - Generalize one pass projection shadow mask to support up to 32 lights/pixel with 4bpp quantization
- Add some dither noise to both the SMRT result and the shadow mask lookup to minimize banding
- Fall back to a single sample VSM lookup (with a generous static bias) when overflowing the number of lights in one pass projection path
- Fix clamping issue with page dilation that was setting extraneous pages with point lights
- Fix SMRT issue with local lights jammed right next to geometry viewed at a distance
- Separate settings for page dilation for local and directional lights
- Add simple debug output for # lights in one pass projection
- Remove some dead code/parameters

#ROBOMERGE-AUTHOR: andrew.lauritzen
#ROBOMERGE-SOURCE: CL 18279117 via CL 18373418 via CL 18373449
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373485 by andrew lauritzen in ue5-release-engine-test branch]
2021-12-03 16:23:04 -05:00
jon nabozny
63f90982a6 Merge //UE5/Release-5.0 (CL-18181837 + compile fixes)
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 18182753 via CL 18372122 via CL 18372157
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18372264 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 15:32:11 -05:00
jon nabozny
9a0f62bf5b Merge //UE5/Release-5.0 into //UE5/Private-Frosty-To-5.0-Staging
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 18065367 via CL 18371198 via CL 18371203
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18371221 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 14:24:33 -05:00
jon nabozny
9efdf04301 Added a common Nanite::FSharedContext type that contains data and settings used by culling and raster contexts and passes. This will provide a place to do a large scale refactor and cleanup later that brings more common stuff into this stuff, and helps provide a much cleaner public API to users of Nanite. This change uses this to (temporarily) disable mesh shaders during VSMs while keeping it enabled on other pipelines.
#rb brian.karis, andrew.lauritzen
#preflight 618054de56ec0b00017311dd
#lockdown michal.valient
[FYI] jeff.farris, andrew.firth

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 18022098 via CL 18022691 via CL 18370649 via CL 18370684
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18370735 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 13:57:28 -05:00
jon nabozny
c912cf18f8 Fix uninitialized pointer in DeferredShadingRenderer.cpp
#preflight 616ea6dabd4df4000186db9e
#rb Dave.Barrett
#lockdown Andrew.Firth

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: luke.thatcher
#ROBOMERGE-SOURCE: CL 17866208 via CL 18004307 via CL 18370056 via CL 18370144
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18370167 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 13:27:28 -05:00
charles derousiers
180185f171 Fix resources transition issue related to hair and skel. mesh geometry.
This mainly solved missing body geometry during one/two frame during the WU sequence.

#rb michael.forot, krzysztof.narkowicz
#preflight 616ddefb93c2340001aa67ad
#lockdown michal.valient

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 17852907 via CL 18003995 via CL 18369732 via CL 18369808
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18369848 by charles derousiers in ue5-release-engine-test branch]
2021-12-03 13:08:07 -05:00
juan canada
8b7780c4ab Optimization to remove stalling in FDeferredShadingSceneRenderer::GatherRayTracingWorldInstancesForView()
#rb yuriy.odonnell
#lockdown michal.valient
#preflight
#preflight 6169a8681ae4f30001f4a034

#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 17830669 via CL 18002943 via CL 18369436 via CL 18369508
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18369572 by juan canada in ue5-release-engine-test branch]
2021-12-03 12:52:22 -05:00
jon nabozny
d2abb0450e Allocate transient scratch buffer using RDG for dynamic geometry BLAS updates.
Expose FRayTracingAccelerationStructureSize in FRHIRayTracingGeometry.

#rb Yuriy.ODonnell, Kenzo.Terelst
#preflight 615ee51b7c97370001f6b525
#lockdown Andrew.Firth

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: tiago.costa
#ROBOMERGE-SOURCE: CL 17750196 via CL 17985174 via CL 18368036 via CL 18368041
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18368093 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 09:52:48 -05:00
guillaume abadie
d68156888e Destroys FViewInfo::PrevViewInfo before FRDGBuilder::Execute() to make sure all reference to prior histories are only within the graph to maximise memory resuse
#rb none
#lockdown michal.valient
#preflight todo
[FYI] zach.bethel
#preflight 615b372ff556160001803da6

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17710478 via CL 17977490 via CL 18366622 via CL 18366717
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18366774 by guillaume abadie in ue5-release-engine-test branch]
2021-12-03 02:43:04 -05:00
aurel cordonnier
1cae7c2370 Lumen - moved out FLumenFrameTemporaries from FLumenScene to DeferredShadingRender to make sure it's always reset every frame. This fixes crash when toggling ShowFlag.RayTracingDebug 1 in game.
#rb Daniel.Wright
#preflight 61552900f4d2a400013748ee
#lockdown Michal.Valient

#ROBOMERGE-OWNER: aurel.cordonnier
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 17681982 via CL 17967372 via CL 18366020 via CL 18366089
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18366186 by aurel cordonnier in ue5-release-engine-test branch]
2021-12-03 01:32:37 -05:00
kenzo terelst
a37a1afac3 Use transient allocation for GPU skincache BLAS scratch allocations - saves lots of committed resource allocations and also saves upto 25MB of buffer memory
#rb Yuriy.ODonnell
#lockdown Andrew.Firth
#preflight 615496ea75fae60001262c40

#ROBOMERGE-AUTHOR: kenzo.terelst
#ROBOMERGE-SOURCE: CL 17665451 via CL 17965795 via CL 18365768 via CL 18365847
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18365906 by kenzo terelst in ue5-release-engine-test branch]
2021-12-03 01:17:05 -05:00
aurel cordonnier
33aa79d5c6 Lumen scene lighting updates are now feedback driven
* Every HWRT trace marks sampled pages with a current frame index, by writing to a last used page array
* There are two arrays, one for always resident pages and one for high res pages. This allows to prioritize high res updates (things visible in reflections)

Controlled using r.LumenScene.Lighting.Feedback 0
No measurable impact on performance.

Misc:
* Added various update rate visualizations to visualize feedback and page lighting updates
* Removed DIFFUSE_TRACE_CARDS leftover from early Lumen days
* Disable feedback when Lumen surface cache is frozen (for debugging purposes)
* Disabled feedback in DF tracing as anyway it worked only in visualization mode

#preflight 615360b86ca137000135ed25
#rb Daniel.Wright
#lockdown Michal.Valient

#ROBOMERGE-OWNER: aurel.cordonnier
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 17651894 via CL 17965404 via CL 18365601 via CL 18365738
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18365813 by aurel cordonnier in ue5-release-engine-test branch]
2021-12-03 01:10:49 -05:00
tiago costa
66e43b4d73 Reduce CachedRayTracingInstance memory usage.
- Use InstanceSceneData instead of caching local transform (r.CachedRayTracingInstances.CacheLocalTransform).
- Lazily cache world trasform (r.CachedRayTracingInstances.LazyUpdate).

#preflight 6153142dcf40300001a92512
#rb Yuriy.ODonnell
#lockdown Michal.Valient

#ROBOMERGE-AUTHOR: tiago.costa
#ROBOMERGE-SOURCE: CL 17646840 via CL 17965126 via CL 18365527 via CL 18365611
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18365727 by tiago costa in ue5-release-engine-test branch]
2021-12-03 01:05:32 -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
5d1164f70a Use inline ray tracing for RadianceCache and Reflections Lumen passes:
* Added FLumenRadianceCacheHardwareRayTracingCS and FLumenReflectionHardwareRayTracingCS that use TraceRayInline.
* Added LumenHardwareRayTracingHitDataBuffer to store hit group user data for access in compute shader.
* Temporarily expose number of segments from FRayTracingGeometry for building hit data buffer.

#rb Yuriy.Odonnell Patrick.Kelly Krzysztof.Narkowicz
#preflight 6149bc35338ee50001417239
#lockdown michal.valient


#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: aleksander.netzel
#ROBOMERGE-SOURCE: CL 17592885 via CL 17953988 via CL 18364723 via CL 18364790
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18364812 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:42:16 -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
jon nabozny
901f177cda Remove TLAS auto scratch buffer code path.
- Added checks to verify scratch buffer alignment.

#rb Yuriy.ODonnell
#lockdown michal.valient
#preflight 6149e9df315f5400014c0343


#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: tiago.costa
#ROBOMERGE-SOURCE: CL 17582994 via CL 17947361 via CL 18364184 via CL 18364275
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18364469 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:25:52 -05:00
jon nabozny
8715ae11ab Merge ray tracing primitive culling into standard primitive culling. This allows the culling to use the same memory access patterns as the normal primitive culling, and ensures that the distance culled primitives and the fading primitives, propegate into the ray tracing primitives.
Bonus: Saves about 1.1 MS in the current branch.

[at]juan.canada, [at]ryan.vance, [at]patrick.kelly
#preflight 614364b9b5a4fa0001630d89
#lockdown andrew.firth

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: brandon.dawson
#ROBOMERGE-SOURCE: CL 17552671 via CL 17946035 via CL 18363833 via CL 18363966
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18364062 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:09:57 -05:00