Commit Graph

8341 Commits

Author SHA1 Message Date
Martin Ridgers
60c59e13e2 Extend lifetime of thread info objects. Previously there was a slim chance that they would get moved while someone else was holding on to a pointer to them.
#rb jb
#rnx

[CL 16192808 by Martin Ridgers in ue5-main branch]
2021-05-04 09:01:07 -04:00
Andriy Tylychko
a015357f9c * tuned task stages names in TaskTimingTrack
* fixed task relations visualisation (subsequents weren't visualised)
* it was almost impossible to follow tasks links. When a task relations are visualised, the task has arrows to its subsequents, to the point of where subsequents were scheduled, but there's no way to follow to subsequent's execution. To help with this, when a task is selected, now prerequisites, nested tasks and subsequents (with all their relations) are also visualised. This widens the visualisation range and is still fast

#rb Catalin.Dragoiu

[CL 16191836 by Andriy Tylychko in ue5-main branch]
2021-05-04 06:37:42 -04:00
Catalin Dragoiu
5a7a1a714a [Insights] Task Track initial work
#rb andriy.tylychko

[CL 16191698 by Catalin Dragoiu in ue5-main branch]
2021-05-04 05:42:40 -04:00
Lukas Hermanns
7d8a9df55c Improve assertion output for redundancy check in SPIR-V header parser.
#rb Rolando.Caloca
#jira none
#rnx

[CL 16186518 by Lukas Hermanns in ue5-main branch]
2021-05-03 16:09:19 -04:00
Lukas Hermanns
c2eda93a8d Refactor SPIR-V patching and strip debug instructions for Vulkan mobile except OpName instructions in --strip-reflect pass as UE always needs this reflection information.
Rebuild ShaderConductor for Win64, Mac, Linux.

#rb Carl.Lloyd, Rolando.Caloca, Ryan.Vance
#fyi Mihnea.Balta, Will.Damon, Dmitriy.Dyomin, Michael.Sartain, Brandon.Schaefer
#jira none
#rnx

[CL 16186169 by Lukas Hermanns in ue5-main branch]
2021-05-03 15:22:38 -04:00
Zousar Shaker
6521df7bb5 Attempt #2 (with issues fixed from last time): Extract texture format indexing and interfaces from the TargetPlatformManager and instead put it into a new type: TextureFormatManager instead. TargetPlatformManager retains the same API for querying texture format information, it just forwards to the TextureFormatManager instead. This is to facilitate the use of TextureCompressor from standalone executables that shouldn't depend on TargetPlatformManager.
#rb ben.ingram

Undo //UE5/Main/Engine/Source/... changelist 16172520

[CL 16185594 by Zousar Shaker in ue5-main branch]
2021-05-03 14:05:29 -04:00
Devin Doucette
3f40f504cf DDC: Changed Put to take a const array of cache records now that records are copyable
#rb Zousar.Shaker
#rnx

[CL 16184736 by Devin Doucette in ue5-main branch]
2021-05-03 12:05:18 -04:00
Devin Doucette
e39324b347 DDC: Changed FCacheRecord to be reference-counted instead of uniquely owned
#rb Zousar.Shaker
#rnx

[CL 16184511 by Devin Doucette in ue5-main branch]
2021-05-03 11:41:14 -04:00
Devin Doucette
0a560db3a0 DDC: Added FPayload::Null and FPayloadId::Null
#rb Zousar.Shaker
#rnx

[CL 16184503 by Devin Doucette in ue5-main branch]
2021-05-03 11:40:06 -04:00
Devin Doucette
7149637a27 DDC: Moved Private::CreateBuildDefinition[Builder] out of the header to avoid them being used externally
#rb Zousar.Shaker
#rnx

[CL 16184493 by Devin Doucette in ue5-main branch]
2021-05-03 11:38:45 -04:00
Sebastien Lussier
e8c74f62ab #jira UE-114024
Fixed test failure - ActorMerging_SingleLODMaterialBaking

Corrected bad conversion from EMaterialProperty to EFlattenMaterialProperties using array indexing... now using a map.
Fixed slight delta in ground truth images as the floor pattern moved a bit (irrelevant to the actor merging test)
#rb patrick.enfedaque

[CL 16184268 by Sebastien Lussier in ue5-main branch]
2021-05-03 11:09:54 -04:00
Helge Mathee
1c64096d7c Control Rig: Avoid dialogs for bulk changes on same asset. Catch invalid collapse pins
#jira UE-114713
#rb na

[CL 16183904 by Helge Mathee in ue5-main branch]
2021-05-03 10:22:02 -04:00
Yoan StAmant
696b3cf776 [VisualLogger] Reset data on PIE (also clear all entries if bResetDataWithNewSession)
#preflight 608ffad70d440d0001f72fa9

[CL 16183826 by Yoan StAmant in ue5-main branch]
2021-05-03 10:08:26 -04:00
Devin Doucette
0baafa125a DDC: Added the start of the new build interface UE::DerivedData::IBuild
This only includes the functionality required to create a build definition, and does not include the functionalty required to execute a build from the build definition.

#rb Zousar.Shaker
#rnx
#preflight 608cf5ef7343ea00016e58f4

[CL 16183533 by Devin Doucette in ue5-main branch]
2021-05-03 09:25:48 -04:00
paul chipchase
92b08f8d89 CIS: Fix typo in include
#rb trivial
#rnx
#preflight 608fb0de44491c0001005038

[CL 16182833 by paul chipchase in ue5-main branch]
2021-05-03 05:01:37 -04:00
paul chipchase
d1060bb972 Change the file path to be three directories deep from the root, with each directory being named 00->ff, we then attempt to place each file in a directory based on a hash of the PayloadId, ideally evenly distributing between all available leaf directories.
- Cleaned up some allocations caused by string manipulation.

*Add a place for shared utility code that could have use in multiple places in the virtualization system.
- First utility is a function to generate a file path based off a FPayloadId.
- The path produced is similar to how we organize files in the DDC but instead of 0->9 we use the range 0->ff in hex.
- To generate the path we take the string form of FPayloadId and then use the first 6 characters to create the directories (each directory using 2 characters) and then the remaining 34 characters becomes the filename.

#rb Stefan.Boberg
#rnx

#ushell-cherrypick of 16167644 by paul.chipchase
#preflight 608f9330f5b27a0001b2d5ab

[CL 16182581 by paul chipchase in ue5-main branch]
2021-05-03 02:47:29 -04:00
Maxwell Hayes
c6119fbb27 Adding missing ADPCM Audio format Module references
(Fixing build issue: "Unable to find audio format 'ADPCM'")

#jira UE-114715
#rb Aaron.McLeran
#fyi Josh.Adams, MarcAudy
#robomerge UE4-Main

[CL 16174692 by Maxwell Hayes in ue5-main branch]
2021-04-30 19:22:14 -04:00
Zousar Shaker
64b4edb93a Undo //UE5/Main/Engine/Source/... changelist 16165786
[CL 16172520 by Zousar Shaker in ue5-main branch]
2021-04-30 16:07:56 -04:00
Zousar Shaker
1818e30ac5 Allow GetTextureFormatManager to be called for the first time from any thread.
Fix NonUnity issue in TextureFormatManager.

#rb ben.ingram
#rb yuriy.odonnell

[CL 16171026 by Zousar Shaker in ue5-main branch]
2021-04-30 14:16:45 -04:00
Yuriy ODonnell
aa9e6a0c41 Added a basic implementation of assert in shaders for D3D12. Requires SM6 support which can be enabled through r.D3D12.AllowShaderModel6=1.
Example usage in a shader:

PLATFORM_ASSERT4(GroupThread > 4321, 0xDF7DC903, GroupThread, GroupIndex, GroupBase, asuint(123.456f));

Example GPU crash report output:

LogD3D12RHI: Error: [GPUBreadCrumb] Last tracked GPU operations:
LogD3D12RHI: Error: [GPUBreadCrumb]	3D Queue 0 - Begin: Frame 348 - Scene - ReflectionIndirect - RayTracingReflections - RayTracingDeferredReflectionsShade 957x466
LogD3D12RHI: Error: [GPUBreadCrumb]	Shader assertion failed! ID: 0xDF7DC903
LogD3D12RHI: Error: [GPUBreadCrumb]	Payload  [int32]: 416 42 172032 1123477881
LogD3D12RHI: Error: [GPUBreadCrumb]	Payload [uint32]: 416 42 172032 1123477881
LogD3D12RHI: Error: [GPUBreadCrumb]	Payload    [hex]: 0x000001A0 0x0000002A 0x0002A000 0x42F6E979
LogD3D12RHI: Error: [GPUBreadCrumb]	Payload  [float]: 0.000000 0.000000 0.000000 123.456001

This works through automatic diagnostic buffer binding in D3D12 RHI, which becomes available in *any* shader as a UAV.
Opens the door for arbitrary human-readable message output from any shader in the future.

PLATFORM_ASSERT macro is always enabled and available on supported platforms. It is intended to be a low-level mechanism for a higher-level check() that would be controlled via CVars.

#rb Christopher.Waters

[CL 16167404 by Yuriy ODonnell in ue5-main branch]
2021-04-30 08:37:35 -04:00
paul chipchase
71b969d9c4 Cherrypicking Mirage code base (disabled) from Dev-Cooker
- The mirage specific code is disabled behind the define UE_USE_VIRTUALBULKDATA, this means that some code paths in Texture/Mesh are much more complex than they need to be as we support both old and new paths. Once the system has been turned on and confirmed to cause no issues then this will be stripped out.
- SavePackageUtilities.cpp, SavePackage.cpp and SavePackage2.cpp are editgrates rather than integrations as those files have changes in DevCooker that we don't want to bring over immediately.
- Also includes a prototype system for storing bulkdata in a sidecar file in the workspace domain rather than in the .uasset/.umap file which although has been discontinued as part of mirage, will have applications for future work for non-virtualized projects and/or text based assets.

#rb Patrick.Finegan (all changes have been reviewed when submitted to Dev-Cooker)
#tests Cooking and running ShooterGame/Frosty and other sample programs using megascan assets
#rnx
#preflight  608be50d870cf400013ff99d

[CL 16167285 by paul chipchase in ue5-main branch]
2021-04-30 08:14:54 -04:00
Helge Mathee
4352bbb372 Control Rig - Follow up on CL 16156500
Control Rig: Don't orphan pins during ChangePinType without any links

#jira UE-114486
#rb sara.schvartzman

[CL 16166947 by Helge Mathee in ue5-main branch]
2021-04-30 07:05:05 -04:00
Yuriy ODonnell
7e26875b5a Initialize TextureFormatManager in FTextureCompressorModule::StartupModule. Fixes crash on startup due to TFM singleton being created from a task thread.
#rb Ola.Olsson
#fyi Zousar.Shaker

[CL 16166753 by Yuriy ODonnell in ue5-main branch]
2021-04-30 05:44:53 -04:00
Zousar Shaker
5120294eb3 Extract texture format indexing and interfaces from the TargetPlatformManager and instead put it into a new type: TextureFormatManager instead. TargetPlatformManager retains the same API for querying texture format information, it just forwards to the TextureFormatManager instead. This is to facilitate the use of TextureCompressor from standalone executables that shouldn't depend on TargetPlatformManager.
#rb ben.ingram

[CL 16165786 by Zousar Shaker in ue5-main branch]
2021-04-30 00:28:32 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00