Commit Graph

12088 Commits

Author SHA1 Message Date
joe pribele
0926a226cf removed PRAGMA_DISABLE_OPTIMZATIONS that appear to be left in by accident
#rb zousar.shaker
#preflight 636c1c6f7c2b50519028f593

[CL 23063526 by joe pribele in ue5-main branch]
2022-11-09 16:47:19 -05:00
Devin Doucette
165d24ede5 DDC: Made the cache optional for the build system
#preflight 636c045ef56cab38c78f8b47
#rb Tim.Smith
#rnx

[CL 23062223 by Devin Doucette in ue5-main branch]
2022-11-09 15:53:21 -05:00
Jerome Delattre
baa78341e6 Fix play level test search mechanic
* get the package object to get the package path instead of guessing from file name

#jira UE-169325
#preflight 636a982edc30a4ce96aa48fc
#rnx
#rb Chris.Constantinescu

[CL 23062070 by Jerome Delattre in ue5-main branch]
2022-11-09 15:47:59 -05:00
Devin Doucette
381a587dcd DDC: Invoke the build completion callback after storing to the cache
This avoids a race condition where a build completes and then another process is unable to retrieve the data from the cache.

#preflight 636b2a547c2b505190e7d036
#rb Zousar.Shaker
#rnx

[CL 23059312 by Devin Doucette in ue5-main branch]
2022-11-09 13:57:59 -05:00
dan elksnitis
3e268dcee4 [shaders] remove stb preprocessor code until static analysis errors can be addressed.
#rb trivial
#preflight skip

[CL 23057245 by dan elksnitis in ue5-main branch]
2022-11-09 12:33:30 -05:00
dan elksnitis
5e65aad0e3 [shaders] add initial version of stb preprocessor, using default data structure and alloc implementations (for now)
#preflight 636aa686f56cab38c7373c9f
#rb Jason.Nadro

[CL 23053497 by dan elksnitis in ue5-main branch]
2022-11-09 09:03:42 -05:00
Zousar Shaker
ac3fc5db61 Print more detailed timing metrics for HTTP operations in the HttpCacheStore.
#rb devin.doucette
#preflight 636acc25dc30a4ce96bbe43c

[CL 23040720 by Zousar Shaker in ue5-main branch]
2022-11-08 16:52:32 -05:00
chris constantinescu
7859a6cdb4 Catch2 feature introduced: test groups and group events at global, group and test group before/after levels
#preflight 636ab505450be1d9f83e90e4
#rb Jerome.Delattre

[CL 23039159 by chris constantinescu in ue5-main branch]
2022-11-08 16:02:46 -05:00
henrik karlsson
4feb09e0b3 Compile time optimizations Managed to reduce unnamed game's biggest file compiler frontend cost from 113 seconds to 60 seconds. This also impact other things such as pch size and memory footprint when compiling which is great.
Takeaways. Try to use "friend" on functions/operators that are frequently overloaded EXCEPT if they are in a templated type that is frequently instantiated. So do not put friends in TMap, TSet, TObjectPtr etc, this will slow down compile times. There is a break-even somewhere and hard to tell where it is but taking a class that is templatized on character type probably don't matter either way and then it is nicer to use a friend since that simplies error messages when compiler can't resolve functions/operators.

If it is possible to use member functions instead of friend that is the best option in terms of compile time performance. With c++20 you only have to write operator==(Foo, Bar) and the compiler will automatically provide operator==(Bar, Foo), operator!=(Foo, Bar) and operator!=(Bar, Foo).

Changes in this changelist involes
* Making operator<< friends in non-template types and not friends in template types
* Making operator==/!= members where possible and if not possible moved out if type is a frequently instantiated templated type.

#preflight 636970f5376a9cd6a80da54a
#rb steve.robb

[CL 23038965 by henrik karlsson in ue5-main branch]
2022-11-08 15:59:46 -05:00
laura hermanns
b3e8c553e3 Fix "Compile failed without errors" message and unify this error report for FXC and DXC.
#rb Dan.Elksnitis
#rnx

[CL 23034307 by laura hermanns in ue5-main branch]
2022-11-08 14:20:14 -05:00
Devin Doucette
8dae547a96 Texture: Integrated the texture compiling manager with the derived data build scheduler
This allows for pausing of async texture compilation and limiting concurrent texture builds based on the same memory limits that the asset compiling manager uses.

#jira UE-141137
#jira UE-141139
#preflight 636a78af4d3c1d9d92d2ce5a
#rb Zousar.Shaker

[CL 23033009 by Devin Doucette in ue5-main branch]
2022-11-08 13:26:12 -05:00
laura hermanns
b32256418b Log available system memory when DXC crashes on E_OUTOFMEMORY to verify system is in fact out of memory.
#rb Jason.Nadro, Yuriy.Odonnell
[FYI] Dan.Elksnitis
#preflight 636924014d3c1d9d925e05ab
#rnx

[CL 23029673 by laura hermanns in ue5-main branch]
2022-11-08 11:15:46 -05:00
Devin Doucette
6c33c94b36 DDC: Added experimental interface IBuildSchedulerThreadPoolProvider to integrate the build scheduler with the asset compiling managers
#jira UE-141137
#jira UE-141139
#preflight 63696f5e843e6ac79482dad1
#rb Zousar.Shaker

[CL 23027624 by Devin Doucette in ue5-main branch]
2022-11-08 09:45:50 -05:00
Dan Thompson
8b4692d085 Remove "mutable" parts of the build settings. For platforms that need the mip dimensions, this is now piped down via a parameter instead of violating "const".
#rb fabian.giesen
#rb charles.bloom
#preflight 636987d7dc30a4ce96651026

[CL 23021179 by Dan Thompson in ue5-main branch]
2022-11-07 18:29:15 -05:00
krzysztof narkowicz
e4add33abd Lumen - increase surface cache bias on all bMostlyToSided (foliage) objects. This improves surface cache projection on trees, which have a pretty inaccurate SDF and BVH representation.
[CL 23019436 by krzysztof narkowicz in ue5-main branch]
2022-11-07 17:22:37 -05:00
jeannoe morissette
2b32be5f32 VulkanRHI: Quick patch to add support for WAVESIZE in Vulkan.
#rb Guillaume.Abadie
#preflight 6369327edc30a4ce96465e16

[CL 23012164 by jeannoe morissette in ue5-main branch]
2022-11-07 11:48:53 -05:00
Devin Doucette
bfd3e68dc5 DDC: Fixed invalid put stats in the Jupiter client
#preflight 63691e65f56cab38c7c75f83
#rb Zousar.Shaker
#rnx

[CL 23010981 by Devin Doucette in ue5-main branch]
2022-11-07 10:33:06 -05:00
dan engelbrecht
03ed08c265 FORT-535595 IFileManager is not included
#preflight 63690771dc30a4ce9634e874
#rb none

[CL 23009665 by dan engelbrecht in ue5-main branch]
2022-11-07 08:32:37 -05:00
dan engelbrecht
d81aef1e6c Allow support for receiving local file references for cache items
Companion PR in zen: https://github.com/EpicGames/zen/pull/184
#rb stefan.boberg
#preflight 6368ce57d0174259cc1e7b7a

[CL 23009037 by dan engelbrecht in ue5-main branch]
2022-11-07 05:33:21 -05:00
Helge Mathee
d45bd63bb7 Control Rig: Replace cast link with cast nodes
#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/636503dfde2c4dbb5d92f669

[CL 23008884 by Helge Mathee in ue5-main branch]
2022-11-07 04:27:49 -05:00
henrik karlsson
20b41655e6 Fixed non-unity/pch errors in UnrealGame linux config
#rb none
#preflight skipped

[CL 23003631 by henrik karlsson in ue5-main branch]
2022-11-05 22:34:56 -04:00
henrik karlsson
d5026d4d83 Strategical submit which adds includes in preparation for coming change which removes includes in headers
#preflight 636531a1581dc906bce283d1
#rb none

[CL 22994620 by henrik karlsson in ue5-main branch]
2022-11-04 16:37:48 -04:00
Tim Smith
684a5edf74 Fixed issue where Live Coding Console would fail to properly enable when it is started on demand.
#rb self
#jira UE-169199
#preflight 63655cf1882365b859bea5e4

[CL 22992274 by Tim Smith in ue5-main branch]
2022-11-04 14:48:13 -04:00
henrik karlsson
39d9286e70 Fixed non-unity/pch errors
#rb none
#jira none
#preflight skipped

[CL 22988896 by henrik karlsson in ue5-main branch]
2022-11-04 12:17:01 -04:00
christopher waters
c6e9015a91 Cache uniform buffer definitions
- Remove shader platform specific info from uniform buffers, we can generate code with macros that translates to what each platform needs.
- With the per-platform differences removed, uniform buffer declarations (read: generated text) can be created once per shader parameter type that needs them instead of once per shader type's shader parameter type usage.
- FShaderType and FVertexFactoryType now hold a TSet of used uniform buffer names instead of a TMap that held potentially duplicated FStrings of uniform buffer defintions.
- Lists of uniform buffers are *potentially* different per platform, so the annoying CachedUniformBufferPlatform variables need to stick around for now.
- GenerateReferencedUniformBuffers renamed to GenerateReferencedUniformBufferNames and now populates a TSet instead of a TMap.
- ShaderType::AddReferencedUniformBufferIncludes renamed to ShaderType::AddUniformBufferIncludesToEnvironment which calls the shared UE::ShaderParameters::AddUniformBufferIncludesToEnvironment.
- CreateUniformBufferShaderDeclaration moved to UE::ShaderParameters::CreateUniformBufferShaderDeclaration and now returns its FString.
- CacheUniformBufferIncludes was removed since it was only populated values from CreateUniformBufferShaderDeclaration.
- Deprecated FShaderCompilerInput::SourceFilePrefix since nothing has populated it in 9 years.

#jira none
#rb dan.elksnitis, yuriy.odonnell
#preflight 63643e5ff233f06a127c11c1

[CL 22988611 by christopher waters in ue5-main branch]
2022-11-04 12:04:48 -04:00