- allow 0 TimeToLive to be specified explicitly on commandline (useful when debugging single-job debug worker input files, without this it keeps running the same job repeatedly) and modify single job worker input commandline txt file to use this instead of 0.5f
- change config-conditional behaviour serializing to memory instead of file on disk to be conditional on an optional cmdline argument instead, and move file copy into the block that does the file writing (otherwise it repeatedly tries and fails to copy the nonexistent file)
#preflight 6377fed033774509008c42c6
#rb Jason.Nadro
[CL 23234934 by dan elksnitis in ue5-main branch]
#rb Per.Larsson
#jira UE-170657, UE-160396
#rnx
#preflight 637c9232fa348e8480bdc7e2
- When the rehydration functionality was added it started to look like more functionality would be added to the tool than originally thought so I started to add the new functionality via a command system. This change now moves the older legacy functionality to the coommand system as well.
- Added a new FVirtualizeCommand which can accept package paths, directory paths, packagelist files or changelists as the input.
-- Unlike the legacy commands, virtualizing via changelist does not require the client spec to be provided on the commandline, although doing so will avoid several perforce commands and speed up the call. It is expected that people calling the tool on the commandline will probably opt to not supply a clientspec and let the tool workout which workspace a changelist is under, where as calls from other tools (such as P4VUtils) can provide it if already known to speed things up.
-- FVirtualizeLegacyChangeListCommand replicates the functionality of the old -Mode=Changelist command.
-- FVirtualizeLegacyPackageListCommand replicates the functionality of the old -Mode=Packagelist command.
-- The new command will only try to submit the results if a changelist was provided as the input and even then it will not do so by default. The tool now requires people to opt into submitting the changelist via the command line option -submit. NOTE: Other versions of the command maybe allow submission in the future but the virtualization process needs to be improved so that it can check out package files before this really makes sense.
- The rehydration command no longer requires a clientspec on the command line, it wasn't using the value anyway.
- Moved the source control code from the app code files to CommandBase. If we add more commands in the future we might want to factor this out to its own base class so commands can opt into source control functionality.
- In the future we should probably move the package -> project sorting code (FUnrealVirtualizationToolApp::TrySortFilesByProject) into the command base code as well.
[CL 23233456 by paul chipchase in ue5-main branch]
- collision solver manifold points now allocated separately (previously there was a fixed array of 4 manifold points)
- no default initialization of low-level solver structs
- remove SolverBodyAdapter and CollisionSolverAdapter (now have simple C-style gather methods)
- seprarate collision results from friction anchors
- add over-allocating array growth policy to solvers
- add prefetch to collision gather
- reduce size of SolverBody slightly (V and W in floats)
- move collision activation to run in parallel
- optimize search for friction anchor (AssignSavedManifoldPoints)
- clean up material property resetting following contact modification
- begin deprecation of FParticleUtilities (WIP)
#rb jaco.vandyk, vincent.robert, benn.gallagher
#preflight 63782333170bc34a938bacec
#preflight 637c25c3170bc34a93551f7e
[CL 23232043 by chris caulfield in ue5-main branch]
This QFE addresses multiple issues with Mac builds in UE 5.1:
* Removed Apple Silicon from default build architectures if installed from Epic Games Launcher, as it is not yet supported in UE 5.1 as a default option.
* Apple Silicon native build will be available in UE 5.1 through Epic Games Launcher at a later time, but for now please build from GitHub (URL for linking here - https://github.com/EpicGames/UnrealEngine/tree/5.1)
* Fixed a Mobile Preview crash on Mac when Mobile Deferred is enabled and Preview Rendering Level set to iOS Shader 3.1
* Fixed issue that was preventing movable lights from properly casting light on Mac
#jira n/a
#preflight n/a
#rb Ryan.Hummer, Rolando.Caloca
[CL 23230900 by calvin zheng in ue5-main branch]
* Once a log is retrieved, server adds an entry with this log id to a sorted set in Redis, scored by expiry time and broadcasts it to any other server instances.
* If a log is being tailed, server keeps the total number of lines in a Redis key and appends chunks of log data to a sorted set for that log scored by index of the first line.
* Chunks are split on fixed boundaries, in order to allow older entries to be purged by score without having to count the number of lines they contain first.
* Agent polls for requests to provide tail data via LogRpcService.UpdateLogTail, which calls LogTailService.WaitForTailNext. WaitForTailNext returns the index of the total line count for this log if it is being tailed (indicating the index of the next line that the agent should send to the server), or blocks until the log is being tailed.
* Once data is flushed to persistent storage, the number of flushed lines is added to LogRpcService._trimQueue and the line data is removed from Redis after LogRpcService.TrimAfter.
* Log node contains a "complete" flag indicating whether it is necessary to check for tail data.
#preflight none
[CL 23215856 by Ben Marsh in ue5-main branch]
This double slash doesn't work in file explorer when copy pasting, so the user has to edit it out every time.
#rb
#jira
#preflight 6378b2a9cc307d6fa5fef51a
[CL 23215333 by Alejandro Arango in ue5-main branch]