- Without doing this the found formats might not contain the format leading to a crash when compiling with the VVM
#rb Dan.Elksnitis
#jira UE-185063
#rnx
#preflight 645405e8023fe5d3ad3fbb52
[CL 25343124 by Stu McKenna in ue5-main branch]
- add new IShaderFormat API for separate preprocessing and compilation; backends can implement one or the other depending on the return value of SupportsIndependentPreprocessing
- add support for executing preprocessing in the cook process prior to job submission and constructing job input hashes based on preprocessed source (and a subset of the environment used as compile inputs). controlled by a cvar for now and disabled by default
- add a BaseShaderFormat class in ShaderCompilerCommon which implements common behaviour for output of debug data - note this function is only called for formats which support independent preprocessing, so is expected to be used only by formats which have been converted to use this API
- add new cvars for output of some additional shader debug data - 1. a txt file containing the input hash a.k.a. job cache key 2. a text file containing all diagnostic messages (errors and warnings) for the job
- minor change to how input hashes are constructed for pipeline jobs - sum hashes as 256-bit ints instead of adding to a buffer and re-hashing. faster and simpler, and also more collision resistant (sum of two well distributed hashes equally well distributed)
#rb Jason.Nadro
#rb Yuriy.ODonnell
#preflight 64512c88c86798f650b953d3
[CL 25317218 by dan elksnitis in ue5-main branch]
#preflight 641c21eeec01de16647b08f0
#rb john.huelin, wojciech.krywult
RESOLUTION: fixed conflict with new "impl" method
[CL 24762328 by gwennael arbona in ue5-main branch]
Change consist of only forward declaration and additional includes
#preflight 63789c1de30d438849c48188
#rb none
[CL 23218412 by henrik karlsson in ue5-main branch]
MPCook and Shaders: Change ShaderSymbolExport to export to different .zip files when in a -MultiprocessId environment.
Add part of the implementation for merging the different zip files created by CookWorkers together. The rest of the implementation requires reading from .zip files and will be coming in a future change.
#rb Christopher.Waters, Zousar.Shaker
#rnx
#preflight 6377fcedfa348e8480e25a2b
[CL 23209604 by Matt Peters in ue5-main branch]
* Adding forward declarations
* Adding "inline" in front of const/constexpr variables in headers
* Adding includes
* A few moves of ctor/dtor to cpp file
#preflight 6372b3ac0c74adb48b49f313
#rb none
[CL 23130896 by henrik karlsson in ue5-main branch]
Add new interface function AllowsDevelopmentObjects to ITargetPlatform
This function makes a clearer distinction for what assets will be considered development vs what assets should be considered EditorOnly
A platform should be allowed to cook editor only objects but not development. The inclusion of AllowsDevelopmentObjects creates that distinction
[REVIEW] [at]Bob.Tellez, [at]Josh.Adams, [at]Graeme.Thornton, [at]Matt.Peters
#preflight 63601c7b4e6fb7f504a7d311
[CL 22917958 by eric knapik in ue5-main branch]
Moved GetTypeHash function to be hidden friend instead of put directly in global namespace.
Note that the function/operator needs to be fully inlined in the type or placed in the cpp. If the function is added as friend but then implemented outside the type then hidden friend optimization won't work.
This should improve compile time somewhat according to msvc devs.
#rb Steve.Robb
#preflight 6360b7052b5338aceb26471b
[CL 22889837 by henrik karlsson in ue5-main branch]
- Saves ~0.3ms on PS4/XB1 (Dynres = 100%).
-Add possibility to disable grass velocity output when WPO velocity is enable (only effective when r.velocity.enablevertexdeformation != 0 and r.OptimizedWPO = true)
#rb [at]jeremy.moore
[CL 21524947 by serge bernier in ue5-main branch]
This has the effect of reducing the number of platforms that say they support RayTracing which directly reduces the number of shader platforms that "support" RayTracing.
#jira none
#rb yuriy.odonnell
#preflight 62f43891b43215cf6c35e4b0
[CL 21391739 by christopher waters in ue5-main branch]
Headers are updated to contain any missing #includes needed to compile and #includes are sorted. Nothing is removed.
#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598
#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21182053 by bryan sefcik in ue5-main branch]
#jira UE-159832
#rb Aaron.mcleran Phil.Popp Dan.Thompson Josh.Adams
#preflight 62d260033c3df323907eaa93
[CL 21153330 by jimmy smith in ue5-main branch]