-- When not using iostore containers
-- When not using compression
#rb trivial
[FYI] carlmagnus.nordin
[FYI] charles.bloom
#preflight 61f43351801201ab3890cd22
#ROBOMERGE-AUTHOR: dan.thompson
#ROBOMERGE-SOURCE: CL 18774859 in //UE5/Release-5.0/... via CL 18774927 via CL 18775395
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18775464 by dan thompson in ue5-main branch]
#[fyi] michael.noland
#preflight 61d86fa3c65e66487b36b5c0
#ushell-cherrypick of 18546856 by Andrew.Davidson
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18552595 via CL 18552601 via CL 18552604 via CL 18553016 via CL 18553035
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18553054 by andrew davidson in ue5-release-engine-test branch]
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18552107 via CL 18552130 via CL 18552133 via CL 18552520 via CL 18552534
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18552539 by andrew davidson in ue5-release-engine-test branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
#rb ben.ingram
#preflight 611d23203a81b0000133853f
#ROBOMERGE-SOURCE: CL 17216210 via CL 17216219
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17218065 by jeremy moore in ue5-release-engine-test branch]
FPreloadShaderTask takes the ShaderPreloadLock in FShaderCodeArchive::OnShaderPreloadFinished() and then issues an async read. Another task can be picked up by the thread while waiting on that read. If that new task is also a FPreloadShaderTask it will try to aquire the ShaderPreloadLock again and deadlock.
Introduce an EnsureReadNonBlocking method to IMemoryReadStream which can be called outside the lock to ensure the data is ready. We can then lock and copy out the data without incuring a wait and the potential for another FPreloadShaderTask being run while we hold the lock.
#rb Ben.Ingram, Michal.Valient
#ROBOMERGE-SOURCE: CL 16917416 via CL 16924675
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16925027 by eric mcdaniel in ue5-release-engine-test branch]
Saves memory compared to allocating arrays for all lines.
#rb ben.ingram
#ROBOMERGE-SOURCE: CL 16680895 via CL 16680907
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16680918 by jeremy moore in ue5-release-engine-test branch]
warning V1062: The 'XYZ' class defines a custom 'new' operator. The 'delete' operator must also be defined.
#rb steve.robb
#jira UE-91644
[CL 15019000 by Tim Smith in ue5-main branch]
#rb none
#ROBOMERGE-SOURCE: CL 13152458 via CL 13161669 via CL 13161725 via CL 13161836
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)
[CL 13161907 by ben ingram in Main branch]
Normal read requests have this behavior, but size requests were not respecting this, which caused problems when the constructor launches a callback on another thread and then immediately calls WaitCompletion, such as in the callback lambda inside FFileCacheHandle::FFileCacheHandle / PushCompletedRequest.
#rb rune.stubbe
#jira none
#rnx
#ROBOMERGE-SOURCE: CL 12974187 in //UE4/Release-4.25/... via CL 12974195 via CL 12974203
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12974208 by jeff newquist in Main branch]
- FileCache can dynamically allocate/release memory as needed
- Preloaded lines are locked in the cache. One the preloaded memory has been read, the line is unlocked. This prevents preloaded lines from being evicted before they're needed.
- Cache line size changed from 64k to 16k, reduce fragmentation due to locked preloaded lines
#rb none
#ROBOMERGE-SOURCE: CL 12491121 via CL 12491126 via CL 12491130
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)
[CL 12491133 by ben ingram in Main branch]