Commit Graph

10929 Commits

Author SHA1 Message Date
vincent robert
f963160690 HeightField Raycast optimizatrion
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]
2022-08-19 07:28:07 -04:00
Zak Middleton
d4b40c56af #ue5 - Make generic UE::LWC::FloatToIntCastChecked() strict in the input and return types to require float input and int output.
#jira UE-161347
#rb Andrew.Davidson
#preflight 62fe8754890cc8db15513648

[CL 21447867 by Zak Middleton in ue5-main branch]
2022-08-18 15:07:48 -04:00
Per Larsson
459fb44b2f Bulk Data - deprecate StartAsyncLoading/CreateStreamingRequestForRange
#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]
2022-08-18 04:46:58 -04:00
henrik karlsson
a07dc415a6 Added UE_SCOPED_ENGINE_ACTIVITY in strategical places to cover most of the cost when starting the various runtimes
#rb Devin.Doucette
#preflight 62fd60761e39eb26a09ed98b

#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21437752 via CL 21438264 via CL 21438276 via CL 21438284
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21438512 by henrik karlsson in ue5-main branch]
2022-08-18 01:38:59 -04:00
henrik karlsson
439153b3ad [Runtime]
* 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]
2022-08-18 00:17:32 -04:00
henrik karlsson
aa00c8e9be [Core]
* 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]
2022-08-18 00:17:26 -04:00
jeremy moore
e3a94c217d Convert a checkSlow() to a check() with the hope that it might help track down FORT-496541
#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]
2022-08-17 22:56:33 -04:00
marc audy
a25c77c3cc Bring RES files in line with EM
#rnx

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 21434216 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21437233 by marc audy in ue5-main branch]
2022-08-17 21:56:00 -04:00
frederic brachfogel
7ddfe3c341 fix for Certain devices capped at lower FPS than supposed
[REVIEW] fourat.jellouli chris.babcock pete.sauerbrei


#ROBOMERGE-OWNER: frederic.brachfogel
#ROBOMERGE-AUTHOR: frederic.brachfogel
#ROBOMERGE-SOURCE: CL 21427202 via CL 21429126 via CL 21429286 via CL 21431383 via CL 21433736 via CL 21434075 via CL 21434129
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21436494 by frederic brachfogel in ue5-main branch]
2022-08-17 20:34:10 -04:00
paul chipchase
9f199c3ba0 Provide a commandline option '-VA-Disable' that when used will disable the asset virtualization system and mount the null implementation instead.
#rb PJ.Kack
#jira UE-161212
#rnx
#preflight 62fd0a8a3f75602b2fbb370e

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 21426373 via CL 21426388 via CL 21426403 via CL 21428637
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v980-21429816)

[CL 21434345 by paul chipchase in ue5-main branch]
2022-08-17 19:03:18 -04:00
Zak Middleton
dbff6d8dff #ue4 - Add UE::LWC::FloatToIntCastChecked<> for floating point to integer conversion. Accepts float/double input and requires template argument for return type (int32 and int64).
#jira none
#rb Andrew.Davidson
#fyi Andrew.Davidson
#preflight 62fd4028e64b1a510935e71c

[CL 21430469 by Zak Middleton in ue5-main branch]
2022-08-17 15:47:16 -04:00
Catalin Dragoiu
5a319f7b2c Fix inconsistency in Trace.File and Trace.Send functionality when -traceautostart is false.
#jira UE-160824
#rb Ionut.Matasaru
#preflight 62fcfa83542a7a8d75b8c48c

[CL 21425823 by Catalin Dragoiu in ue5-main branch]
2022-08-17 11:29:29 -04:00
Martin Ridgers
d0c3a269df Explicitly allocate pages for hook trampolines.
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]
2022-08-17 02:40:59 -04:00
henrik karlsson
e7eb15f0b9 [Runtime]
* 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]
2022-08-16 20:22:38 -04:00
Zak Middleton
80627edb67 #ue5 - Move ConvertArrayType and ConvertArrayTypeClampMax to UE::LWC namespace.
#jira none
#rb none
#preflight 62fc03232265303c4ba38780

[CL 21414621 by Zak Middleton in ue5-main branch]
2022-08-16 17:11:27 -04:00
steve robb
8d78668c12 Removed ignored calculated values from TBigInt::ToInt(), FGenericPlatformMallocCrash::InitializeSmallPools and FArchive::SerializeCompressedNew.
#rb robert.manuszewski
#preflight 62f3acf6e60c9215b9766648

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 21406572 via CL 21406687 via CL 21406745
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21411875 by steve robb in ue5-main branch]
2022-08-16 15:29:48 -04:00
Jerome Delattre
cdfd801b47 Fix const in FAutomationTestBase::TestEqual function signatures
#jira UE-161113
#preflight 62fbb8fc1e39eb26a040c994
#rb Chris.Constantinescu

[CL 21409558 by Jerome Delattre in ue5-main branch]
2022-08-16 14:11:25 -04:00
roey borsteinas
15734bc58f Water: changed exclusion volume to exclude all by default.
#rb jonathan.bard

#ROBOMERGE-AUTHOR: roey.borsteinas
#ROBOMERGE-SOURCE: CL 21392605 via CL 21395578 via CL 21395729
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21399814 by roey borsteinas in ue5-main branch]
2022-08-15 21:47:47 -04:00
devin doucette
e71e54db74 Reverted unnecessary additions by IWYU
- 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]
2022-08-15 20:51:42 -04:00
ben woodhouse
f01fc33a83 Make a new RenderthreadCriticalPath stat which includes dependent waits. The new stat still excludes GPU occlusion query waits, the present wait and non-critical path waits (waiting for the game thread or RHI thread). Waits for tasks kicked on the GT are included though (unlike the existing stat).
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]
2022-08-15 17:15:00 -04:00
christopher waters
0be910ed72 Adding SupportsRayTracing to platform properties. This is checked in addition to the project/platform settings for RayTracing but is opt-in per platform instead of always enabled if the setting is enabled.
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]
2022-08-15 15:16:19 -04:00
mark lintott
fd5207628a Fix for KeyChain Automated Test. It was not clear how this had not failed in past.
#rb pj.kack
#jira UE-160773
#preflight 62fa6a6bae3edb54c985d6ec

[CL 21388149 by mark lintott in ue5-main branch]
2022-08-15 12:25:38 -04:00
paul chipchase
8e736177e4 Virtualizing payloads when submitting via the editor will now correctly push the payloads to cache storage backends as well as persistent backends
#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]
2022-08-15 10:17:46 -04:00
chris constantinescu
0d0ad8e4c8 Remove faulty global GBlockLocalPrint, cleanup unused VS config
All platforms preflight 62f67851b66d5d9313f240b6
#rb Devin.Doucette
#preflight 62f67866bd746abb99c0be54

[CL 21362093 by chris constantinescu in ue5-main branch]
2022-08-12 15:45:37 -04:00
Devin Doucette
13f5851c37 Logging: Avoid allocations in FAsyncWriter::SerializeBufferToArchive on platforms that use FPlatformMallocCrash
#preflight 62f69676906a4f904f389245
#rb Zousar.Shaker

[CL 21360402 by Devin Doucette in ue5-main branch]
2022-08-12 14:56:17 -04:00