Commit Graph

8423 Commits

Author SHA1 Message Date
martins mozeiko
2208dade76 Add context switch and stack sampling trace collection on Windows using ETW
#rb Ionut.Matasaru

[CL 16357198 by martins mozeiko in ue5-main branch]
2021-05-17 15:28:50 -04:00
Luke Thatcher
f1abe08582 Make IMeshBuilderModule functions pure virtual and fix missing implementation on some platforms that was causing broken skeletal meshes in cooked builds.
#jira MH-3898
#rb Yuriy.Odonnell
#lockdown cristina.riveron

#ROBOMERGE-OWNER: Luke.Thatcher
#ROBOMERGE-AUTHOR: luke.thatcher
#ROBOMERGE-SOURCE: CL 16355587 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v804-16311228)
#ROBOMERGE-CONFLICT from-shelf

[CL 16356141 by Luke Thatcher in ue5-main branch]
2021-05-17 14:30:51 -04:00
ben zeigler
6c301cae85 #jira UE-2848 Blueprint function category and display name cleanup pass:
Add spaces to overridden display names, it doesn't add them automatically
Move some functions out of Utilities into their own categories like Transformation, this improves the UX for the node picker and Utilities is for Core functionality
Simplify and combine some redundant categories
Clean up functions like IsValid to specify the type and attempt to unify case for math functions
#rb ben.hoffman

[CL 16355176 by ben zeigler in ue5-main branch]
2021-05-17 13:26:33 -04:00
paul chipchase
0834fb1209 CIS Fix: Remove accidental pragma left at the bottom of a file.
#rb trivial
#rnx
#preflight 60a28c8bfe43a700014bddc0

[CL 16354541 by paul chipchase in ue5-main branch]
2021-05-17 12:49:23 -04:00
Helge Mathee
57e8a49d69 Control Rig: Refactor CopyOp to contain all required information for a copy
Also fixes UE-115756

#rb sara.schvartzman
#jira na

[CL 16354335 by Helge Mathee in ue5-main branch]
2021-05-17 12:35:41 -04:00
Zousar Shaker
479de11b0f Fix non-unity compile issue in TextureFormatManager
#rb none

[CL 16354268 by Zousar Shaker in ue5-main branch]
2021-05-17 12:31:39 -04:00
charles bloom
225275ffb1 TextureFormatUncompressed remove unnecessary casts
#rb none

[CL 16354172 by charles bloom in ue5-main branch]
2021-05-17 12:27:57 -04:00
Catalin Dragoiu
30c59226a8 [Insights] Event tooltips for task timeline events.
#rb Ionut.Matasaru Andriy Tylychko

[CL 16350066 by Catalin Dragoiu in ue5-main branch]
2021-05-17 10:31:25 -04:00
Florin Pascu
af11d40364 Opt out Encoded TextureCube out of package if the platform doesn't need EncodedData
#jira UE-115370
#rb none
#fyi Dmitriy.Dyomin

#ushell-cherrypick of 16346910 by Florin.Pascu
#preflight 60a26ae507285b0001d3abdc

[CL 16349116 by Florin Pascu in ue5-main branch]
2021-05-17 10:05:33 -04:00
paul chipchase
3a765539a7 The mirage Jupiter backend by default should not attempt to upload a payload that already exists in the service.
#rb Sebastian.Nordgren
#rnx
#preflight 60a2608807285b0001d217d3

[CL 16347856 by paul chipchase in ue5-main branch]
2021-05-17 09:06:46 -04:00
paul chipchase
2ede49f4cd Add a Mirage backend that can access data in source control.
#rb Per.Larsson
#rnx
#preflight 60a24dba07285b0001cfbdab

[CL 16347322 by paul chipchase in ue5-main branch]
2021-05-17 07:48:16 -04:00
David Harvey
31caaa7217 compile fix for Windows-based platform extensions.
#jira none
#rb nuno.leiria
#rnx

[CL 16346948 by David Harvey in ue5-main branch]
2021-05-17 06:33:02 -04:00
carl lloyd
9b6d231e68 Enabling DXC on Vulkan Mobile
#rb Lukas.Hermanns

[CL 16346836 by carl lloyd in ue5-main branch]
2021-05-17 05:59:00 -04:00
paul chipchase
18dc064335 Add support for downloading a file from source control directly without actually checking it out (ie p4 print) and add additional support so that the command can be called from a background thread.
- Only implemented for perforce source control at the moment.
- The source control operation FDownload file can be used just like any other command via ::Execute BUT it will also work with the new method ::TryToDownloadFileFromBackgroundThread which unlike ::Execute can be called from a background thread.

#rb Sebastien.Lussier
#rnx
#preflight 60a2290322cce000014243ae

* PerforceConnection
- Extend ::RunCommand to take an optional FSharedBuffer reference which can be used to return text/binary data downloaded as part of a perforce command
-- Ideally we would replace all of the out parameters with a single struct but that level of refactor would be better suited to its own submit.
- Removed the bool parameter for FP4ClientUser and replaced it with a set of flags instead
- Added a flag to allow FP4ClientUser to store data, either in binary or text format from a perforce command. Although in general this will be the result of a p4 print command.

* PerforceSourceControlCommand
- No longer assert if the command is not on the game thread if the operation indicates that it is safe to run on a background thread.

* PerforceSourceControlModule
- Register the 'DownloadFile' worker

* PerforceSourceControlOperations
- Add FPerforceDownloadFileWorker

* PerforceSourceControlProvider
- Adding implementation for ::TryToDownloadFileFromBackgroundThread.
-- This method is thread safe compared to the normal ::Execute call due to:
-- 1) This method does not accept any callbacks as the most common use of callbacks with ::Execute is to update the UI.
-- 2) This method does not add the command to any of the internal queues nor rely on Tick to process the command.
-- 3) The worker is invoked directly from the calling thread rather than as a background task.
--4) This method does not allow commands that modify the cached states as this would be very difficult to manage without rewriting how all commands are processed to make sure that they are only run one at a time and the results processed in order. NOTE that async commands can be issued from the game thread and can in theory be run in any order on the p4 server depending on how the background task processing works out with no certainty as to the order the results will be processed in. It is unlikely that we will process results out of order but not impossible, but this is a pre-exisiting issue with the current API, extending it to be fully multithreaded will just make it worse.
-- Note that we do not explicity check if the command supports being called from a background thread, as creating the command will check that anyway.
- Calling ::OutputCommandMessages is now thread safe. When called from the game thread it will issue it's output via FMessageLog as before but when called from a background thread we will use the UE_LOG macros instead. Marshalling all output in the same way is something we will need to solve when/if we make the entire API thread safe.

* PerforceControlSettings
- Improve thread safety when calling ::GetConnectionInfo
- If the password is stored in the UI then this is not thread safe but that feature is hidden at the moment due to being unsecure. I am unsure if we want to move the password to be stored in a member variable that can be accessed from any thread and only updated via the UI or not.

* SourceControlOperations
- Add new FDownloadFile operation.
- This can either download the file(s) to FSharedBuffers which can be accessed by calling ::GetFileData OR directly to a directory on disk if the target directory is supplied as part of the constructor.

* ISourceControlOperation
- Add a new base method CanBeCalledFromBackgroundThreads (false by default) which can be overriden by derived classes and return true to indicate that the operation can be run from a background thread. This is intended for use by FDownloadFile with the perforce source control provider in lieu and making the API fully thread safe.

* PerforceSourceControl.uplugin
- Move the perforce plugin to load as early as possible as if Mirage is to use it then we need it to be avaliable before we start loading any potentially virtualized data in packages.

[CL 16346666 by paul chipchase in ue5-main branch]
2021-05-17 05:06:44 -04:00
ionut matasaru
be4fb77762 Fixed incorrect format specifier for UE_LOG message.
#rb trivial

[CL 16346458 by ionut matasaru in ue5-main branch]
2021-05-17 03:56:12 -04:00
paul chipchase
0ee6d3b184 ISourceControlOperation.h::Create can now forward arguments to the constructor of the operation being created.
- This will avoid the need to create the operation and the immediatly call a number of setters to construct it properly.

#rb Sebastien.Lussier
#preflight 60a21576fe43a70001391016

[CL 16346434 by paul chipchase in ue5-main branch]
2021-05-17 03:48:23 -04:00
Ryan Schmidt
9defa23f46 GeometryProcessing:
- Add FImageAdapter, wraps TImageBuilder of different types and provides a consistent interface, so that other code doesn't need specializations for each image type
- FMeshSceneAdapter now supports the ability to detect and thicken "thin" meshes, by flattening the instances into unique mesh copies (generally necessary due to scaling). Can also now return statistics about the mesh scene, return a full flattened mesh (for debugging), and automatically generate a "closing mesh" that can help to cap off the base of mesh assemblies when trying to generate a solid/etc.

ModelingComponents:
- FWorldRenderCapture now writes via FImageAdapter instead of an Image4f
- FSceneCapturePhotoSet now stores less data for photo sets. BaseColor/Emissive/WorldNormal are 3f, Roughness/Specular/Metallic are 1f
- IApproximateActors and implementation now support optional base-capping, occluded mesh removal, geometric-tolerance simplification, thin mesh auth-thickening. Now creates MICs based on an input Material, instead of new Material. Added ability to emit a flattened debug mesh, and print debug info.

MergeActors:
- Expose above improvements to IApproximateActors

#rb none
#rnx
#jira none
#preflight 609ef005f6c6e3000144c5e2

[CL 16338550 by Ryan Schmidt in ue5-main branch]
2021-05-14 21:11:51 -04:00
Zousar Shaker
ed9e510483 Preferred alternative fix (instead of CL16332153) for UE-115783 and UE-115714 that uses inlining instead of relying on the caller to selectively enable/disable linking in their build files. This leaves the TextureFormat module with zero exports. Only interfaces and two inline functions. Confirmed compile & link on: win64 editor, win64 server shipping, linux server shipping, ShooterGame linux editor
#rb
#preflight 609eecbbf6c6e3000143e139

[CL 16337324 by Zousar Shaker in ue5-main branch]
2021-05-14 18:38:25 -04:00
Devin Doucette
2a6278e430 DDC: Fixed a build error caught by Clang
#rb trivial
#rnx

[CL 16333256 by Devin Doucette in ue5-main branch]
2021-05-14 15:08:12 -04:00
Devin Doucette
8ce8977949 DDC: Added optional versions of BuildAction, BuildDefinition, BuildOutput, CacheRecord
- Optional versions are now returned from operations that may fail.
- Fixed a bug in the cache where a null record could be dereferenced.
- Improved validation when loading build types.

#rb Zousar.Shaker
#rnx

[CL 16332909 by Devin Doucette in ue5-main branch]
2021-05-14 14:47:11 -04:00
luc eygasier
0ab85e473c Removes FStatus operation in SourceControl.
Adds Modified State check by Hash for PerforceSourceControlProvider.
#rb Sebastien.Lussier

#changelist validated

[CL 16332246 by luc eygasier in ue5-main branch]
2021-05-14 14:01:14 -04:00
Patrick Boutot
0957499c70 Slate: Preperation work for SlateAttribute in FSlot.
Force a valid SWidget pointer for FChildren and for FNoChildren. Deprecate the TSupportsOneChildMixin because it was miss used at some places and cause FChildren to be used as FSlot. Prepare the TPaddingWidgetSlotMixin and TAlignmentWidgetSlotMixin to support invalidation. Fix slot instance that were not using the mixin (easier when we will support SlateAttribute).
#jira UE-109145
#rb daren.cheng, vincent.gauthier
#prefligh 609e94f6cbf9a4000115d883

[CL 16331830 by Patrick Boutot in ue5-main branch]
2021-05-14 13:28:37 -04:00
David Harvey
2ae75e362a Windows-based Platform extentions can specialize GenericWindowsTargetPlatform, allowing access to all PC rendering features etc.
#jira UE-115613
#rb josh.adams
#rnx

[CL 16329569 by David Harvey in ue5-main branch]
2021-05-14 10:34:17 -04:00
Jamie Dale
ed869fce3c Deprecated AddInstanceWorldSpace in favor of AddInstance or AddInstances with bWorldSpace set to true
#preflight 609da75922cce00001b3c1b3, 609dc020423c960001c81e10
#fyi Brooke.Hubert

[CL 16329274 by Jamie Dale in ue5-main branch]
2021-05-14 10:07:23 -04:00
Patrick Laflamme
54bb63aaf1 #jira UE-114056 - UE5 Crash Reporter takes too long to return data
- Added the system image paths to the image pathname because when the issue happens, looking at ETW event with SysInternal process monitor, we can see that CRC is scanning the engine folder (with all assets) to find the system images.
  - This is a specuative fix because the bug doesn't always manifest and it didn't for me when I implemented this fix and didn't anymore for the QA that reported the issue once I proposed this fix.

[CL 16329089 by Patrick Laflamme in ue5-main branch]
2021-05-14 09:43:42 -04:00