* Use a local cache for FNames when parsing FStableShaderKeyAndValue. This saves around 29 seconds when cooking a large data set.
* Write directly to CSV file instead of using string arrays. This saves around 2.3 seconds.
* Reserve string size when parsing FCompactFullName. This saves around 0.5 seconds.
#rb graeme.thornton, steve.robb
[CL 5237151 by Johan Berg in Dev-Core branch]
Manual merge of CL 4940744 because robomerge had issues.
Original Description:
Merging //Fortnite/Dev-Kairos to Main (//Fortnite/Main)
Getting ready for Install Bundle Manager merge to main. These are Engine/Core fixes
4440445
Fix FBuildPatchInstaller::Initialize() failing for manifests that did not include the empty tag.
#jira no jira
#rb Leigh.Swift
4474598
Add Android Macros to disable optimization
Fix Android directory iteration for OBBs. FindFilesRecursive() now works.
#jira UEATM-177
#rb Chris.Babcock
4487221
Android file - When mounting an OBB, fix possibly mounting directories as files.
#rb Chris.Babcock
4511214
Fix Android directory iteration not returning the visitor result. This would cause IPlatformFile::FindFilesRecursively() to prematurely end iteration.
#rb Chris.Babcock
4670945
Fix GetVarArgs format specifier off by 1 error. These would only show up if you had the format specifier at the end of the format string and only with 'l' and not 'll'. In that case the code would walk off the end of the format string, usually into another static string.
Fix GetVarArgs to never walk off the end of the format string.
#rb [at]ben.ziegler
4746778
Fix FShaderCodeEntry ref counts being off by one.
This bug was exposed because [Project Name Redacted] doesn't load shaderlibs or the PSO cache until well after engine init. That means some FShaderResource's are loaded before shader libs or PSO cache and FShaderCodeLibrary::RequestShaderCode() can fail in FShaderResource::SerializeShaderCode().
#rb [at]Gil.Gribb [at]Chris.Babcock
[CL 4948018 by Justin Marcus in Main branch]
This implements the framework to write the high level rendering code into passes organized in direct acyclic graph. It is also unifying the uniform buffer, shader parameters, and pass parameters to same single API: structures with run time meta data. This allow high level user code be extremely seamless, user code debugging, and render graph ease of implementation and debugging.
Issue of collaborative work of Arne Schnober, Brian Karis, Daniel Wright, Marcus Wassmer and Guillaume Abadie.
Names of the graph managed resources are not final.
#rb Arne.Schnober, Brian.Karis, Daniel.Wright, Marcus.Wassmer
[CL 4492694 by Guillaume Abadie in Dev-Rendering branch]