This reduces the number of base pass compute shaders required, since there is currently no need for both to be compiled for a given material.
It also prevents us from having to separate cached material draws into two buckets the way we must for BasePassPS.
#rb graham.wihlidal
[CL 27904544 by jamie hayes in ue5-main branch]
- instead doing it in Init/ReleaseRHI
- fixes RegisteredGeometries being modified while iterating over it due to InitRHIForDynamicRayTracing(...) internally calling Init/ReleaseRHI
#jira UE-195457
#rb aleksander.netzel
[CL 27888598 by tiago costa in ue5-main branch]
- Added GetRHICommandList() method to FMeshElementCollector.
- Removed global dynamic vertex / index buffers in favor of local variants.
- Added some locks to shared systems.
#rb stu.mckenna
#jira none
[CL 27800441 by zach bethel in ue5-main branch]
- Fixes issue where pipes are stopped, then a sync occurs and pipes are erroneously started up again.
- Removed start / stop from end of frame updates.
#jira UE-194553
[CL 27767719 by zach bethel in ue5-main branch]
- Add system for spline meshes to cache their slice transforms into look-up textures to optimize spline evaluations in shaders.
- Optimize the Nanite cluster culling shader with spline mesh deformation enabled to limit the cost of this shader added to all Nanite culling.
- More tightly pack the spline mesh parameters into 7 float4s from 8 and rearrange them to optimize shader access.
- Add "Nanite Cluster Bounds Scale" to spline mesh parameters as a means of fixing rare artifacts caused by inaccurate cluster culling bounds.
- A few other various tweaks and fixes to Nanite spline meshes.
- With these improvements, r.Nanite.AllowSplineMeshes is now on by default
NOTE: This is a re-submission of a change that had been previously rolled back. It is now being resubmitted with fixes to the following issues:
- Gaps in spline meshes due to calculating endpoint tangents using finite differencing of the texture.
- Fixed an issue where spline mesh deformation was broken in RVT rendering.
- Fix to an assert that would trip in some commandlets that were using the scene uniform buffer without having first initialized FSystemTextures
- Handle extrapolation of spline sampling from manually specifying mesh extents that are smaller than the actual mesh boundaries.
#rb brian.karis
#jira UE-181795
[CL 27697936 by jamie hayes in ue5-main branch]
Only VulkanRHI has a special path for BUF_Volatile and it does not align with FGlobalDynamicReadBuffer expectations about buffer lifetime
#rb allan.bentham
[CL 27635352 by dmitriy dyomin in ue5-main branch]
Per-shader DDC is now enabled for cooks by default when the preprocessed job cache is enabled, so only that one CVar needs to be toggled to get the full performance benefits. CVars exist to toggle per-shader DDC during cooks, per-shader DDC for global shaders, and whether per-shader DDC runs async, all set to true.
#jira UE-193798
#rnx
#rb dan.elksnitis jason.nadro
[CL 27572108 by marc audy in ue5-main branch]