- Splitting symbol generation and shader "debug info" generation into two different cvars. This should now allow us to generate symbols post-packaging without generating different shader variants. This should also enable us to always generate symbols and still have the final deduplicated shader sizes.
- r.Shaders.Symbols is now the primary way to enable shader symbols for debugging.
- r.Shaders.GenerateSymbols can be enabled to always generate symbols without writing them to disk.
- r.Shaders.WriteSymbols can be used to force write symbols if they were previously generated.
- r.Shaders.ExtraData can be used to generate shader names for engine runtime systems to use.
- NotifyShaderCooked replaced with NotifyShaderCompiled, prep for upcoming non-cook symbol writing.
- PC DXC shader compiles should only generate debug info when requested, not all the time.
- PC FXC shader compiles should generate debug info when requested, not just when r.Shaders.Optimize is 0.
#jira none
#rb arciel.rekman, lukas.hermanns
#preflight 611ad9035e737200015992db
#ROBOMERGE-SOURCE: CL 17186155 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17186162 by christopher waters in ue5-release-engine-test branch]
Adding {ProjectDir} and {ProjectSavedDir} to r.Shaders.SymbolPathOverride
#rb none
#preflight 60c29c63c612640001dd54a4
#ROBOMERGE-SOURCE: CL 16633386 via CL 16633428
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)
[CL 16633454 by christopher waters in ue5-release-engine-test branch]
Adding shader symbol export path override cvar. This cvar supports specifying the shader platform name via "{Platform}".
Adding Luke's change for having build machine specific shader configs.
#jira none
#rb rolando.caloca, david.harvey, lukas.hermanns
#preflight 60c243181264df0001a2c283
#ROBOMERGE-SOURCE: CL 16631848 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)
[CL 16631858 by christopher waters in ue5-release-engine-test branch]
- valid settings for r.DumpShaderDebugInfo are now 0-3
- 0 - don't dump (unchanged)
- 1 - always dump (unchanged)
- 2 - dump on error (ie compilation failure)
- 3 - dump on generated errors or warnings
- implementation details:
- mode 2 and 3 are achieved by reissuing shader compilation jobs
- jobs are issued as normal with no DumpInfoPath set so the platform specific shader compilers will not dump additional files
- jobs that fail to compile (mode 2) or generate any errors/warnings (mode 3) are reissued with a valid DumpInfoPath which will cause the platform specific shader compilers to dump the additional files
- the directory creation is deferred until the second pass on mode 2 or 3 as well so no empty directories are created
- limitations:
- shader compilation jobs which crash the shader compile worker will not produce debug dump info on modes 2 or 3 as we will not get an opportunity to reissue the jobs
#rb Rolando.Caloca, Lukas.Hermanns
#jira none
#ushell-cherrypick of 12649065 by eric.mcdaniel
#ROBOMERGE-SOURCE: CL 12729479 in //UE4/Release-4.25Plus/... via CL 12781786
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782596 by eric mcdaniel in Main branch]
#rb: Rolando.Caloca
#jira: none
#ROBOMERGE-SOURCE: CL 12491544 in //UE4/Release-4.25/... via CL 12491551 via CL 12491558
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)
[CL 12491562 by zabir hoque in Main branch]
#localization none
#tests none#review [at]aaron.mcleran, [at]rob.gay
#ROBOMERGE-SOURCE: CL 12124966 via CL 12124973 via CL 12124978 via CL 12131182
#ROBOMERGE-BOT: (v659-12123632)
[CL 12131348 by ethan geller in Main branch]
[FYI] seth.weedin, aaron.mcleran, rob.gay
#ROBOMERGE-OWNER: ethan.geller
#ROBOMERGE-AUTHOR: ethan.geller
#ROBOMERGE-SOURCE: CL 11954424 via CL 11954461 via CL 11954485 via CL 11954492
#ROBOMERGE-BOT: (v656-11643781)
[CL 11957103 by ethan geller in Main branch]