Three level of walking raycast :
- Squared low level heightfield walking 6x6 resolution 36 cells checked
- Fast walking only on cells interescting the ray 2 cell length check (min 2, max 4)
- Slow walking one cell at the time
If the fast or the slow walking don't find intersection they go back to the low resolution height field walking
Additional memory for low resolution height field before this CL was 8% now it is 2x2.8 = 5.6% so 2.4% saved
#preflight 62fe64cd3f75602b2f06cab4
[CL 21455592 by vincent robert in ue5-main branch]
#rb CarlMagnus.Nordin, Paul.Chipchase
#jira none
#preflight 62fdf44787319bacfb44bdcb
- deprecated and replaced the usage of StartAsyncLoading and CreateStreamingRequestForRange with a new batch API for requesting bulk data. The
new API fits better with the I/O dispatcher API and does not assume that the bulk data resides in the same I/O chunk. The new API also
removes state handling away from the bulk data instances.
[CL 21439218 by Per Larsson in ue5-main branch]
* Fixed so UE_SCOPED_ENGINE_ACTIVITY works with empty variadic arguments
#rb self
#preflight trivial
#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21432281 via CL 21437476 via CL 21437506 via CL 21437515
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)
[CL 21438209 by henrik karlsson in ue5-main branch]
* Added macro to be used to place system trackedactivity scopes
#rb Devin.Doucette
#preflight 62f1f1e6d76ea4b503f96796
#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21429953 via CL 21437440 via CL 21437482 via CL 21437494
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)
[CL 21438208 by henrik karlsson in ue5-main branch]
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 21437196 via CL 21437202 via CL 21437210 via CL 21437219
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)
[CL 21437851 by jeremy moore in ue5-main branch]
Hooking a Windows API works by patching in a "jmp" instruction. The instructions that are overwritten by this patch are moved elsewhere (and appended with another jmp) such that the original function can still be called - I called this a trampoline. Prior to this change, trampolines were written into the null-filled slack space at the end of the code section. This however turned out to be too small as more hooks were added and as Windows' DLLs mutated. This change instead uses a page of address space which it allocates just before the DLL being patched (proximity is important as the jmp instruction used only has 32 bit signed displacement).
#rb im
#rnx
#jira UE-160315
#rb cdp
#preflight 62fc8c3e0f2aefc97a98ba72
[CL 21421841 by Martin Ridgers in ue5-main branch]
* TrackedActivity - Added sort value parameter when creating tracked activities
* WindowsConsoleOutputDevice2 - Added sorting of activities based on sort value.
* WindowsConsoleOutputDevice2 - Added show/hide timedate options to log context menu
#preflight 62fbbda3ad3bd8ad64558579
#rb self
#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21409829 via CL 21416523 via CL 21416533 via CL 21416553
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)
[CL 21418243 by henrik karlsson in ue5-main branch]
- Array.h is not needed by CompactBinarySerialization.h because the use of TArray is in a template function.
- SharedBuffer.h is not needed by DerivedData.h because its types are only used as return types or function parameters.
- FString and FCompositeBuffer are both declared in Fwd.h headers and do not need duplicate forward declarations.
#rb none
#rnx
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 21391840 via CL 21394622 via CL 21395405
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)
[CL 21398955 by devin doucette in ue5-main branch]
The implementation extends the existing FThreadIdleStats to track critical path vs non-critical path waits for a thread.
The cvar r.RenderThreadTimeIncludesDependentWaits forces the main renderthread stat to use the new behavior, but this is disabled by default for historical tracking reasons.
#rb Nuno Leiria
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21386702 via CL 21387159 via CL 21387356 via CL 21391039 via CL 21391830
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)
[CL 21394348 by ben woodhouse in ue5-main branch]
This has the effect of reducing the number of platforms that say they support RayTracing which directly reduces the number of shader platforms that "support" RayTracing.
#jira none
#rb yuriy.odonnell
#preflight 62f43891b43215cf6c35e4b0
[CL 21391739 by christopher waters in ue5-main branch]
#rb Per.Larsson
#jira UE-160943, UE-151671
#rnx
#preflight 62fa3334153b17e7462954b3
### Problem
- The virtualization process first checks to see if any of the local payloads are already stored in persistent storage and only try to submit those which aren't, which would mean if we are submitting a package with a local payload that is already in the persistent storage system but not in cached storage we have no way to cache it.
- This logic also introduced problems where filtered out payloads were being virtualized which was fixed with the addition of ENABLE_FILTERING_HACK which was not a robust long term solution.
- Checking if the payloads need to be pushed or not complicated the logic of the virtualization process and makes it harder to understand and make fixes too.
### Fix
- Removed code for ENABLE_FILTERING_HACK and UE_PRECHECK_PAYLOAD_STATUS from the virtualization process
- Removed some code loops from the virtualization process but we still end up with one loop finding all of the package trailers and a second loop setting up the FWorkspaceDomainPayloadProvider
-- This second loop will be removed in a future work item to avoid trying to push duplicate payloads (unless I end up doing that work at the virtualization manager level instead)
- We make one push for cached storage and another for persistent
-- Cached storage push failure will only result in a warning, failing the persistent push will error out as before
-- We need to reset the request states after the cache push. In a future work item we will likely allow a single push to specific both storage solutions, so I am leaving this code using the same set of requests for both pushes.
#robomerge FNMain
[CL 21386503 by paul chipchase in ue5-main branch]
All platforms preflight 62f67851b66d5d9313f240b6
#rb Devin.Doucette
#preflight 62f67866bd746abb99c0be54
[CL 21362093 by chris constantinescu in ue5-main branch]