Commit Graph

10307 Commits

Author SHA1 Message Date
lukas hermanns
b0ab21cd71 Improve stability for out of bounds buffer slots in Metal backend.
#rb Will.Damon, Mihnea.Balta, Rolando.Caloca
#jira UE-138002
#preflight none
#rnx

#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 18865633 in //UE5/Release-5.0/... via CL 18865641 via CL 18868946
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18869017 by lukas hermanns in ue5-main branch]
2022-02-04 14:01:55 -05:00
dave jones2
ed1b4ed6a5 UE-140327 - Remove ENABLE_BLUEPRINT_REAL_NUMBERS usage
The original ENABLE_BLUEPRINT_REAL_NUMBERS macro was strictly meant for AB testing in the Dev-LWC. Currently, disabling it won't work, and would likely lead to broken behavior. Its presence might incorrectly indicate to licensees that this is an option that can be toggled safely.

#rb marc.audy
#jira UE-140327
#preflight 61fc6449dc0b3ecbecb6f381
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18864654 in //UE5/Release-5.0/... via CL 18864683 via CL 18864993
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18865002 by dave jones2 in ue5-main branch]
2022-02-04 11:54:52 -05:00
dave belanger
f49a9666a2 Hide some more C++ creation/editing menus when !GUnrealEd->GetUnrealEdOptions()->IsCPPAllowed() (follow up on 18815523)
#rb Rex.Hill
#preflight 61fbfcdee058822bda9ab04b

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 18863343 via CL 18863389 via CL 18863403 via CL 18863429 via CL 18863995 via CL 18864392
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18864406 by dave belanger in ue5-main branch]
2022-02-04 11:19:37 -05:00
paul chipchase
1a5466f3d4 Virtualization backends no longer falsely report that payloads failed to push if the default code path for batched pushing is used.
#rb Per.Larsson
#jira UE-141304
#rnx
#lockdown Mark.Lintott
#preflight 61fd3cccb5092d45ad18c953

- Not all backends gain from pushing payloads in batches. In this case the backend can opt not to override the default implementation which will just iterate over the batch of payloads and then push each one individually.
- However when the default path was used, FPushRequest::Status was not updated after the push was performed, which resulted in each request returning the default (failed) status.
-- The backends that use the default path are not enabled in any of our internal projects so this was not noticed.
- So even though the payloads were pushed, the virtualization process would log and error and block any submit being performed.
-- Subsequent submits of the same packages would work because we would note much earlier that the payloads are already stored in the backend and the broken code path would never run.
- Added fall through comment as required by the coding standards

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18863318 in //UE5/Release-5.0/... via CL 18863334 via CL 18863548
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18863566 by paul chipchase in ue5-main branch]
2022-02-04 10:30:52 -05:00
thomas sarkanen
01c02d74ee Fixed crash opening a child anim blueprint of a template anim blueprint
Ensure that template flag is propagated in the regular factory use case

#jira UE-140017 Editor crashes when opening Child Blueprint Class
#rb Jurre.deBaare
#lockdown laurent.delayen
#preflight 61fd24f40a43b689e172ddb2

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18863199 in //UE5/Release-5.0/... via CL 18863205 via CL 18863370
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18863374 by thomas sarkanen in ue5-main branch]
2022-02-04 10:21:33 -05:00
Martin Ridgers
6bee1a2eb6 Be explicit about the character size we're expecting.
If TCHAR happens to change to something other than a 16bit integer (e.g. because wchar_t is four bytes on a platform, or because the engine changes to UTF8), the analysis engine will no longer be able to read traces with char16_t-type strings.

#rb jb
#rnx
#preflight 61fd3091ed26b9fd9c7fcc0e

[CL 18862539 by Martin Ridgers in ue5-main branch]
2022-02-04 09:16:04 -05:00
Martin Ridgers
e50b917312 - Changed deleter of Buffer to be the class that allocated it
- Implemented move-constructor/assignment operator. Transport keeps an array threads, each of which of owns a FStreamBuffer instance. When Transport resizes this array, it copies items about. Because there are no move constructors, the compiler ends up cloning FStreamBuffers (via copy-constructing) and incorrectly deleting Buffer pointers still in use.
#rb jb
#rnx
#preflight 61fd3044e17efe76d1b6174c

[CL 18862467 by Martin Ridgers in ue5-main branch]
2022-02-04 09:07:30 -05:00
sebastian nordgren
b89a39b7f2 Fixed crash when SDockingTab::GetTabManager() dereferenced an invalid weak pointer. GetTabManager has been deprecated in favor of GetTabManagerPtr which returns a TSharedPtr.
#jira UE-140354
#preflight 61fbda35176256ec4f6ffa17
#rnx
#lockdown jeanmichel.dignard
#rb patrick.boutot

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 18861915 in //UE5/Release-5.0/... via CL 18862125 via CL 18862236
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18862253 by sebastian nordgren in ue5-main branch]
2022-02-04 08:33:30 -05:00
ionut matasaru
0715abf9bb [Insights]
- Memory Insights: Fixed analysis for Memory.Free and Memory.ReallocFree trace events to correctly read the RootHeap field.
  - Memory Insights: Added INSIGHTS_MEM_TRACE_LEGACY_FORMAT toggle macro and comments to isolate code for temporary backward compatibility with legacy format of memory trace (5.0-EA) which can be deprecated and removed at a later date.

#rb Johan.Berg
#preflight 61fd146451378325c3352e2b

[CL 18861964 by ionut matasaru in ue5-main branch]
2022-02-04 07:36:17 -05:00
paul chipchase
20aae9774f Reworked IVirtualizationSystem::DoPayloadsExist to be clearer about how it works.
#rb Per.Larsson
#rnx
#preflight 61fabeb8ad2ae6c3b763a2b9

- Renamed to ::QueryPayloadStatuses since the output data is in the form of an array of FPayloadStatus
- The method now returns EQueryResult rather than bool, which has 'Success' as value 0, all other values indicate an error.
-- This can be expanded in the future if we start to provide more info from backends as to what actually failed.
- FPayloadStatus has been cleaned up so that 'Partial' is not 'FoundPartial' to give a better indication that the payload was found in at least one storage backend, but not all of them.

[CL 18861036 by paul chipchase in ue5-main branch]
2022-02-04 02:41:37 -05:00
devin doucette
e963d14d2a DDC: Fixed the Zen cache being accidentally made read-only
#jira UE-134381
#preflight 61fcb3a2b434724823d9f733
#lockdown Mark.Lintott
#rb Zousar.Shaker
#rnx

#ROBOMERGE-OWNER: Devin.Doucette
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-COMMAND: _robomerge UE5-Main
#ROBOMERGE-SOURCE: CL 18860637 in //UE5/Release-5.0/... via CL 18860644 via CL 18860646
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18860649 by devin doucette in ue5-main branch]
2022-02-04 00:27:54 -05:00
zousar shaker
2903c5331f Fix static analysis error in CacheStoreTest.cpp.
#rb matt.peters
#jira UE-141032
#lockdown aurel.cordonnier
#preflight 61fc4d11e058822bdaaaefcb

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18853180 in //UE5/Release-5.0/... via CL 18853206 via CL 18853946
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18853959 by zousar shaker in ue5-main branch]
2022-02-03 17:43:34 -05:00
devin doucette
c7954aebce DDC: Switched to the async cache hierarchy and fully implemented the verify wrapper
The async cache hierarchy:
- Is required to add compression to the legacy cache by forwarding LegacyPut/LegacyGet to PutValue/GetValue.
- Is always present in the graph, unlike the previous cache hierarchy, which will allow significant simplification of leaf cache stores.
- Allows for the leaf cache store nodes to operate asynchronously without blocking a worker thread like the previous cache hierarchy.
- Shifts from controlling cache behavior by speed class to controlling cache behavior by local/remote classification, which is a critical distinction for a cache like Zen that can identify as both local and remote.
- Respects the local/remote and query/store flags in the cache policy.
- Does not fully implement the partial record cache policy at this time.
- Does not propagate records or values in GetChunks, which will be added in a future release.

The verify wrapper was previously missing an implementation for the new cache interface. This version is more efficient than the previous because requests through the new cache interface can compare data without loading it from storage, and load it only when a mismatch has been detected, to dump it to disk.

#jira UE-134381
#lockdown Mark.Lintott
#preflight 61fc32ac0a50c2606f266388
#rb Zousar.Shaker
#rnx

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18851861 in //UE5/Release-5.0/... via CL 18851943 via CL 18852169
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18852184 by devin doucette in ue5-main branch]
2022-02-03 16:49:32 -05:00
Yoan StAmant
283f8d859e [GameplayDebugger] Prevent access to the GLevelEditorModeTools from commandlet environment
#rnx
#rb maxime.mercier
#preflight 61fc3371a540d6e61bb9f5de

[CL 18848968 by Yoan StAmant in ue5-main branch]
2022-02-03 15:23:28 -05:00
Jason Nadro
135472bdb0 Adding functionality to compile remaining shaders for materials.
When running with ODSC in the editor Materials can have incomplete or partial shader maps.  In other words some shaders _might_ be missing.  If a render system requires all shaders to be present and can't use ODSC functionality to compile the necessary shaders we need a mechanism for compiling just the missing shaders.

- Added UMaterialInterface::CacheShaders() which is implemented for UMatetrial and UMaterialInstance.  The call is just forwarded along to CacheResourceShadersForRendering and InitStaticPermutation respectively.
- You can call CacheResourceShadersForRendering multiple times (even with a completed shader map) and it will not recache uniform expressions.  If the Resource's shader map is complete the function is a no-op.
- FObjectCacheContext can accept a UWorld and will only return primitives that are in that world.
- Added a function SubmitRemainingJobsForWorld(UWorld* World, EMaterialShaderPrecompileMode CompileMode) that will iterate all materials used by primitives in the world and compile the missing shaders.
- SubmitRemainingJobsForWorld() is used in various scenarios in the editor to ensure _all_ shaders are compiled for all materials before proceeding.
- Explicitly try to compile UI and PP materials.  Since we don't know which ones are used in the given world we just have to iterate all loaded ones.  This is a potential area of optimization.
- If there are already complete shader maps (if you are not running with the shader job cache), SubmitRemainingJobsForWorld is fast and results in a no-op for each material.

#rb Arciel.Rekman, Danny.Couture
#jira UE-136442, UE-136447
#preflight 61fc0e9c176256ec4f764206

[CL 18848560 by Jason Nadro in ue5-main branch]
2022-02-03 15:12:58 -05:00
josh adams
ea6fc0fe98 - Kick off UBT to setup AutoSDK early, and async, so editor doesn't need to wait for it to run
- Deprecated unuesed GetCookingTargetPlatforms()
#rb danny.couture
#p4v-preflight-copy 18811010
#preflight 61fbd601176256ec4f6fbd9b

#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 18842642 via CL 18844580 via CL 18844585 via CL 18844591 via CL 18846216 via CL 18846768
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18846806 by josh adams in ue5-main branch]
2022-02-03 14:08:03 -05:00
josh adams
7f106be255 - Moved the MakeBinaryConfig commandlet into UnrealPak (like IoStore commandlet) for much faster operation
- Fixes for the ini console command for other platforms
- Allow for reading Config files from another project (for instance from a program like UnrelPak)
#rb matt.peters
#preflight 61fae9189a71b11fd38faa0e

#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 18834077 via CL 18835502 via CL 18835961 via CL 18836096 via CL 18844966 via CL 18845578
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18845601 by josh adams in ue5-main branch]
2022-02-03 13:16:23 -05:00
axel riffard
18439c9e89 Remove iOS13 and Metal 2.2 , implement iOS14 and Metal 2.4
#jira UE-140926
#rb jack.porter
[FYI] will.damon, carl.lloyd, richard.wallis, laura.hermanns
#lockdown rolando.caloca
#preflight 61fb957ec431b6aac0556693

#ROBOMERGE-OWNER: axel.riffard
#ROBOMERGE-AUTHOR: axel.riffard
#ROBOMERGE-SOURCE: CL 18841574 in //UE5/Release-5.0/... via CL 18841862 via CL 18841959
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
#ROBOMERGE-CONFLICT from-shelf

[CL 18842337 by axel riffard in ue5-main branch]
2022-02-03 09:10:01 -05:00
CarlMagnus Nordin
2abbea75a6 Remove Flush/WaitForPendingFlush calls when running COTF, they are no longer needed
#rb per.larsson
#preflight 61fbac05176256ec4f6d4e4b

[CL 18841496 by CarlMagnus Nordin in ue5-main branch]
2022-02-03 06:34:31 -05:00
brian karis
de6db094d8 Added KeepTrianglePercent and TrimRelativeError properties to Nanite static mesh settings.
These both trim detail from the Nanite data that is stored to disk and can be used to optimize disk size after import. Should be a super useful tool late in production.

#rb rune.stubbe
#lockdown michal.valient
#preflight 61fb25e6033a864b77e11ed6

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 18838594 in //UE5/Release-5.0/... via CL 18838602 via CL 18838937
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18838962 by brian karis in ue5-main branch]
2022-02-02 21:14:51 -05:00
yoan stamant
159efb4a7c [GameplayDebugger] use scene view to replicated view matrix only when associated actor is not available.
#rb maxime.mercier
#rnx
#preflight 61faa3614404d5fade1fe1af

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18828250 via CL 18828270 via CL 18828280 via CL 18836486 via CL 18836855
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18836964 by yoan stamant in ue5-main branch]
2022-02-02 18:44:21 -05:00
josh adams
746998f00e - Allow UnrealPak to have remapped filenames, not just directories
#rb matt.peters
#preflight 61f8460b1c5ac552346620c5

#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 18796881 via CL 18826729 via CL 18826788 via CL 18826835 via CL 18835831 via CL 18836357
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18836432 by josh adams in ue5-main branch]
2022-02-02 18:25:36 -05:00
dave jones2
c4b5ae240c FROST-8496 - ABP_Player_v2.uasset: [Compiler] Can't connect pins: float is not compatible with Double Real.
A couple of BP reals changes were missed for IKRig and a new-ish function in RigVMTypeUtils.

For RigVMTypeUtils, we simply need to ensure that we're using the correct PC_Real category when dealing with float/double CPPTypes.

For IKRig, the alpha pin needs to be a real/double type. Additionally, when copying the property data to the FIKRigGoal instance, we need to treat the property's value as a double type. Since FIKRigGoal::Position et al. use the alpha as a normalized value, it likely doesn't need the precision of a double, so it's been left as is. As a result, we need to perform a narrowing conversion when copying over the data.

#jira FROST-8496
#preflight 61faf7115e35b9215b000da8
#rb julien.marchand
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18835074 in //UE5/Release-5.0/... via CL 18835086 via CL 18835353
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18835421 by dave jones2 in ue5-main branch]
2022-02-02 17:45:48 -05:00
Zousar Shaker
05614af551 Use SIO_LOOPBACK_FAST_PATH on Windows when communicating with ZenServer.
#rb per.larsson
#preflight 61fabe771a71e1f04e971c0d

[CL 18829294 by Zousar Shaker in ue5-main branch]
2022-02-02 12:30:34 -05:00
sara schvartzman
57fdf48ac3 Control Rig: Fix reroutes redo connection failing
#jira UE-140968 UE-140967
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/61fa99caad2ae6c3b75d1f0a

[CL 18826375 by sara schvartzman in ue5-main branch]
2022-02-02 09:55:36 -05:00