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]
- 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]
- 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]
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]
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]
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]
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]
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]
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]