Commit Graph

404 Commits

Author SHA1 Message Date
aurel cordonnier
d17d20ca36 Merge from Release-Engine-Test @ 16758890 to UE5/Main
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211)

[CL 16763350 by aurel cordonnier in ue5-main branch]
2021-06-23 17:51:32 -04:00
guillaume abadie
c1819a0532 Implements r.AntiAliasingMethod
#rb none
#preflight 60d33c8cd9586b000132acac


#ROBOMERGE-SOURCE: CL 16758022
#ROBOMERGE-BOT: (v835-16672529)

[CL 16758023 by guillaume abadie in ue5-main branch]
2021-06-23 11:38:33 -04:00
christopher waters
7f0e942579 Parallel occlusion memory stomp fixes.
Since pointers to items inside InsertPrimitiveOcclusionHistory are stored, we cannot resize that array. To calculate the number of items that will be added, we have to count up all the visible items and any subqueries they might have. This incurs an iteration of the visibility list but hasn't incurred a drastic increase in time as measured in a few replays.

#jira none
#rb ben.woodhouse
#preflight 60d1faf2d4d7ac0001a8ee2b

[CL 16744401 by christopher waters in ue5-main branch]
2021-06-22 12:16:08 -04:00
Ola Olsson
fe64cb01af Add InstanceSceneDataOffset to visible/cached mesh draw commands and propagate
- Intermediate step towards making renderer instance-first.
 - Enables simplification of instance culling setup.

#rb Krzysztof.Narkowicz

[CL 16729395 by Ola Olsson in ue5-main branch]
2021-06-21 12:25:46 -04:00
christopher waters
c79dc6dafd Improving the occlusion culling parallel code path.
#jira none
#rb zach.bethel
#preflight 60c25c42c612640001d3bd6a

[CL 16632735 by christopher waters in ue5-main branch]
2021-06-10 19:10:06 -04:00
ola olsson
5560667259 Tracking GPU-Scene dirty state and specialize Primitive Id only updates to avoid redundant uploads.
- Added instance data validation
- Added general load balancer for instance processing on GPU (will move to own files later)
- Added initial GPU-side write access API for GPU scene.
- Addded specialized kernel to update primitive IDs in instances when that is the only change.

#rb graham.wihlidal
#jira UE-116671
#preflight 60c25d7b1264df0001aab80b


#ROBOMERGE-SOURCE: CL 16628528
#ROBOMERGE-BOT: (v831-16623017)

[CL 16628539 by ola olsson in ue5-main branch]
2021-06-10 15:46:35 -04:00
Ola Olsson
df492855e0 Removed GPUCULL_TODO define (fixed in on-state)
#preflight 60acc49b58f02e0001a0a996
#rb graham.wihlidal,Arciel.Rekman,Brandon.Schaefer,will.damon

[CL 16446355 by Ola Olsson in ue5-main branch]
2021-05-25 08:15:14 -04:00
andrew firth
a44ec91554 [INSIGHTS] - add insights zones to illuminate overall frame time.
#rb Jason.Nadro

#ROBOMERGE-SOURCE: CL 16444116 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v814-16434418)

[CL 16444117 by andrew firth in ue5-main branch]
2021-05-24 22:47:38 -04:00
jamie hayes
9389c3eb1e Add another optional separate translucency pass that gets composited after motion blur. Has no depth test (due to TAA color upsample with no upsampled depth), and is intended to work around reprojection and motion blur artifacts with translucency.
#rb zach.bethel, michal.valient
#jira none

[CL 16381727 by jamie hayes in ue5-main branch]
2021-05-19 02:09:02 -04:00
krzysztof narkowicz
b6b202caf4 Lumen - surface cache merging based on the RayTracingGroupId
r.LumenScene.SurfaceCache.MeshCardsMergeComponents - enable/disable
r.Lumen.Visualize.CardPlacementLOD - which LOD level to visualize (all, instances, merged instances, merged components)
r.Lumen.Visualize.CardPlacementPrimitives - visualize which primitives were used to merge

#ROBOMERGE-SOURCE: CL 16355257 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)

[CL 16355260 by krzysztof narkowicz in ue5-main branch]
2021-05-17 13:31:57 -04:00
mihnea balta
ad85c48d59 Skip always visible primitives in FetchVisibilityForPrimitives_Range.
#rb Zach.Bethel
#rnx
#jira none

[CL 16297242 by mihnea balta in ue5-main branch]
2021-05-12 06:14:31 -04:00
chris kulla
6df4146582 Make sure we pick the no-lightmap shader permutation when using the path tracer
This is another small step towards enabling path tracing specific shader permutations.

This requires re-caching the raytracing mesh commands when we flip to and from path traced rendering.

Cleanup some flag handling by removing the redundant ERayTracingRenderMode enum since it is already capture by show flags.

Avoid checking the path tracing flag per view since it is always common to all views

Re-introduce the deduplication over views for the non-path tracing case since ray tracing effects can be enabled in a view dependent fashion.

Rename CanOverlayRayTracingOutput to HasRayTracedOverlay which I think is a bit clearer. Note that the meaning has flipped - it now returns true when path tracing or ray tracing debug modes are enabled.

Remove leftovers of GAveragePathTracedMRays (which wasn't hooked up to anything anymore)

Refactor static variables used to store path tracing state into a pimpl object off of the ViewState

#rb Patrick.Kelly, Yuriy.ODonnell, Juan.Canada

[CL 16249998 by chris kulla in ue5-main branch]
2021-05-10 12:22:42 -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
brandon dawson
742b10538b Use ReadWrite locks isntead of critical sections to protect cached mesh draw commands
Use ReadWrite locks instead of critical sections to protect the Graphics Minimal Pipline State ID's persistent table.
Use remove locking around the pipeline id table size, and use atomic operators instead.
Disable the pipeline id table size completely in test or shipping builds

[REVIEW] [at]Graham.Wihlidal [at]Nick.Whiting
#lockdown nick.whiting

#ROBOMERGE-SOURCE: CL 16136028 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)

[CL 16136043 by brandon dawson in ue5-main branch]
2021-04-27 23:50:55 -04:00
Jian Ru
4eaba7cfaf Move some code that dereferences scene proxies behind conditionals to reduce cache misses
#rb ben.woodhouse, zach.bethel
#tests a/b tested locally using a replay

[CL 16130053 by Jian Ru in ue5-main branch]
2021-04-27 14:22:57 -04:00
guillaume abadie
e8003c7a5a Renames Gen5TAA to Temporal Super Resolution
#rb graham.wihlidal
#jira UE-114288
#lockdown nick.whiting

#ROBOMERGE-OWNER: guillaume.abadie
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 16116333 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
#ROBOMERGE-CONFLICT from-shelf

[CL 16116611 by guillaume abadie in ue5-main branch]
2021-04-26 14:05:52 -04:00
Guillaume Abadie
3ee00365a2 Makes Gen5TAA's sequence length a prime number to remove corelation between jitter and other random sequence
#rb none

[CL 16073095 by Guillaume Abadie in ue5-main branch]
2021-04-21 10:20:25 -04:00
Charles deRousiers
9b766935aa Deferred groom component resources allocation to first usage in order to reduce memory footprint and initialization time.
#rb none
#jira FROST-1292

[CL 16058871 by Charles deRousiers in ue5-main branch]
2021-04-20 02:33:35 -04:00
brandon dawson
8827996e7c Remove the InlineAllocator from the FPassDrawCommandArray and FPassDrawCommandBuildRequestArray typedefs. The size of these arrays was causing the the Virtual Allocator to get used when allocating using FMemStack::Get(), resulting in significant performance isssues in the render thread.
[REVIEW] [at]Krzysztof.Narkowicz [at]Nick.Whiting
#lockdown nick.whiting
#jira UETOP-1043

#ROBOMERGE-SOURCE: CL 15979313 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15989417 by brandon dawson in ue5-main branch]
2021-04-13 10:13:08 -04:00
rune stubbe
727ecc5716 Mitigations for overflow of visiblecluster/candidatecluster arrays.
Do clamped HZB lookups for objects that were off-screen in the previous frame
Removed GLumenFastCameraMode check for r.Nanite.DisocclusionHack (still disabled)
Bumped r.Nanite.MaxVisibleClusters from 2M to 4M. ~24mb.
Changed IsLargeCameraMovement angle threshold from 45 degrees to 75 degrees.

#jira UE-112407
#rb brian.karis
#lockdown michal.valient

#ROBOMERGE-SOURCE: CL 15961260 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15979332 by rune stubbe in ue5-main branch]
2021-04-12 12:56:19 -04:00
zach bethel
3a5e5971f8 Added PrimitivesSelected TBitArray to FScene to optimize Scene visibility in editor.
#rb andrew.lauritzen, graham.whilidal
#lockdown michal.valient

#ROBOMERGE-SOURCE: CL 15937150 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15937156 by zach bethel in ue5-main branch]
2021-04-06 21:24:23 -04:00
charles derousiers
e7f3a0c0b3 Fix hair strands invalid resources access.
This CL:
* Move hair strands data onto the scene rather than a global manager
* Move registration/unregistration onto the proxy resources creation/deletion
* Change instance resources to defer their deletion so that resources used by proxies are valid until the proxy are released.

#rb none
#jira FROST-1658

#ROBOMERGE-OWNER: charles.derousiers
#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 15915567 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15920095 by charles derousiers in ue5-main branch]
2021-04-05 14:16:21 -04:00
rob krajcarski
145ca28b85 Adjust FFXSystemInterface API to take an array of views rather than individual elements from the views. No functional change, just sets the stage for being able to get additional data out of the views.
#rb jamie.hayes
#preflight 605f9f04e6da7f00016b32f5
#preflight 605fa66ff4f40000017d7da6

[CL 15845306 by rob krajcarski in ue5-main branch]
2021-03-27 18:17:33 -04:00
chris kulla
6b7a6f8a23 Avoid an assertion in the FGPUSceneDynamicContext destructor when pathracing or raytracing debug modes are active
We are not rendering shadows in these cases but were still doing some initialization which was leaving FGPUSceneDynamicContext in an unexpected state.

#rb Juan.Canada
#preflight 605ce574a8aabd000179b916

[CL 15831455 by chris kulla in ue5-main branch]
2021-03-25 16:32:54 -04:00