Suppress warnings about stable shaders cooked previously that were also cooked in the current cook but have a modified value. Instead, silently ignore the previously cooked value for the shaders.
#rnx
#rb Laura.Hermanns, Eric.Knapik, Dan.Elksnitis
[CL 27320516 by matt peters in ue5-main branch]
Fix an issue where intermediate shader dirs were not being cleand up at the start of a full cook.
Fixed an issue where chunked shader libraries were not loaded from a previous cook resulting in shaders missing.
[REVIEW] [at]Matt.Peters, [at]Dan.Elksnitis [at]Jason.Nadro
[CL 27259503 by eric knapik in ue5-main branch]
Add a new engine function to union shader byte code made from different engine cooks
New funciton takes in multiple meta data directories and writes to a desired directory
[REVIEW] [at]Arciel.Rekman [at]Matt.Peters [at]Arturo.Colorado
[CL 26934636 by eric knapik in ue5-main branch]
- Add an optional param to OpenLibrary to not look for shader lib chunks (because there's strong thread contention surrounding FMountedPakFileInfo::KnownPakFilesAccessLock)
- Removed reading of shared-cooked override since that feature is obsolete
#rb Arciel.Rekman
#rnx
[CL 26815876 by dave belanger in ue5-main branch]
Add the argument to many but not all callsites.
#jira FORT-578919
#rnx
#rb Devin.Doucette
#preflight 6414ca9d691c5ebc15b30410
[CL 24696053 by Matt Peters in ue5-main branch]
- Fastcook disables chunking of the game content, so when a DLC is cooked against it and its content is split according to regular chunk IDs, the game can no longer find the shader libraries (that get chunk-specific names). To remedy this, chunking of the DLC shader libraries is disabled, especially given that currently the actual DLC pak file isn't split into chunks (if and when it becomes so, we will reconsider).
- Also improved logging to better understand how the libraries are getting opened, given the multitude of possibilities.
#rb Jason.Nadro
[REVIEW] [at]Jason.Nadro
#preflight 63f6ec877064074bd8e15684 , also 63f79cfdef1b24bf940d3624
[CL 24397829 by arciel rekman in ue5-main branch]
* Add support to boost PSO precache priority (used when render proxy for component is created but PSOs are not compiled yet)
* Add support to skip render proxy creation when PSOs are still compiling
* Add support to provide custom default vertex decleration taking the resource vertex elements into account (implemented for skin cache & spline mesh components)
#jira UE-171563 , UE-171567, UE-171570
#rnx
#rb Benjamin.Rouveyrol, Mihnea.Balta, Arciel.Rekman, Josie.Yang
[CL 23728474 by kenzo terelst in ue5-main branch]
- Allows construction of StatePrecachePSOHash in FGraphicsPipelineStateInitializers that are not associated with MDCs.
- Also better reflects the actual PSO compatibility.
[REVIEW] [at]Graham.Wihlidal, [at]Kenzo.TerElst
#preflight
[CL 23300306 by arciel rekman in ue5-main branch]
This change prevents the cache being polluted by shader maps with forcibly released shaders.
[REVIEW] [at]arciel.rekman, [at]robert.millar
#rnx
[CL 23300180 by mickael gilabert in ue5-main branch]
- Library deletion flushes render commands, but the rendering thread may be trying to access the libraries stack (for which it needs to acquire NamedLibrariesMutex), so holding that mutex during the deletion results in a deadlock. This change makes the deletion happen after the mutex is released.
- The mutex only guards the NamedLibrariesStack, not contents of any given library. It is still possible that a library being deleted is accessed by another thread that got a pointer to it beforehand, this change does not change anything in that regard. However, this should not happen if the higher level removes all the content from the unmounted plugin from memory prior to unmounting it (and closing the library), which it should do.
#rb CM Nordin, Justin Marcus
[REVIEW] [at]CarlMagnus.Nordin, [at]Mihnea.Balta, [at]Justin.Marcus
#preflight 637691b7b1509f1cc3094063
[CL 23190970 by arciel rekman in ue5-main branch]
- Also, add flushing the pending deletes in the attempt to make sure any leftover RHI resources from the assets that used that library (which should be already queued for deletion at this point) are deleted before we remove the backing storage.
#rb Rex.Hill, Justin.Marcus, Luke.Thatcher
[REVIEW] [at]Rex.Hill
#preflight 636a7adb376a9cd6a856decc
[CL 23034312 by arciel rekman in ue5-main branch]