Commit Graph

27 Commits

Author SHA1 Message Date
eric mcdaniel
9fd65080aa Fix for blocked cooks due to per-shader pre-processor defines targetting non-existant shader
- shader got renamed so retarget the associated pre-processor defines to the new shader
- also convert the errors incurred to warnings as they should not be fatal to cooks

#rb Jamie.Hayes
#jira none
#preflight 6245b71c981a2c8eb4808dda

[CL 19573197 by eric mcdaniel in ue5-main branch]
2022-03-31 11:11:54 -04:00
charles bloom
817400610d fix GlobalShader crash in stompmalloc due to pointing at a member after a resize
#rb jason.nadro
#preflight 6244aebec667881bf4ecea1e

[CL 19563322 by charles bloom in ue5-main branch]
2022-03-30 15:58:02 -04:00
Jason Nadro
e7c920e3de Dump DDC keys for global shaders.
- The cvar `r.Material.DumpDDCKeys` has been renamed to `r.ShaderCompiler.DumpDDCKeys`.
- The directory they output to changed from "MaterialDDCKeys" to "ShaderDDCKeys"
- Break getting the global shader map DDC key string out into a function to make it easier to call when we dump DDC keys.
- Global Shader map section files are named "GlobalShaderMap-%s" where %s is the name of the section (usually a global shader type).
- Editor and Game shaders are dumped to separated directories.
- Expose ShouldDumpShaderDDCKeys() function so material code can see if dumping is enabled.

#rb Arciel.Rekman
#jira none
#preflight 623a4f1110251d53d57a1da7

[CL 19479594 by Jason Nadro in ue5-main branch]
2022-03-23 11:01:22 -04:00
robert millar
b7b8b8d70c Fixes for memory image names.
Correctly write to MemoryImageNames array, copy contents of TArrayView rather than the layout of the view object itself, handle name layout during patch application on foreign platforms.

#rb none
[FYI] johan.torp, ben.ingram

#ROBOMERGE-OWNER: Ben.Woodhouse
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19068807 via CL 19068829 via CL 19074886 via CL 19075335 via CL 19077116
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19077183 by robert millar in ue5-main branch]
2022-02-22 14:13:32 -05:00
guillaume abadie
fcdbb9d81d Ensures FGlobalShaderConfigDefines is applied without requiring the shader type's ModifyCompilationEnvironement() to call its parent function.
#rb jamie.hayes
#preflight 6140d230bf8a690001281afe
#lockdown michal.valient

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17506440 via CL 17934129 via CL 18363376 via CL 18363412
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18363435 by guillaume abadie in ue5-release-engine-test branch]
2021-12-02 21:32:14 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
jamie hayes
3880ad09b0 Non-unity compile fix
#rb none
#jira none
#preflight skip

#ROBOMERGE-SOURCE: CL 17165464 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17165467 by jamie hayes in ue5-release-engine-test branch]
2021-08-13 08:46:18 -04:00
jamie hayes
f113a432ef Add ability to set shader defines for global shaders from config files. This allows platform-specific tuning of global shader permutations for performance reasons.
#rb Lukas.Hermanns
#jira none
#preflight 6114511afd49160001cf202f
#preflight 611517bd0ccb840001167e69

#ROBOMERGE-SOURCE: CL 17153016 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17153028 by jamie hayes in ue5-release-engine-test branch]
2021-08-12 11:37:36 -04:00
ben ingram
1ef1e5f4d0 Don't call destructors when destroying frozen objects
- Frozen memory images may have de-duplicated sections, where the same object is referenced multiple times; this means default destructors might be called multiple times, which is not supported in general
- Add a hook to allow custom behavior to destroy frozen objects that may hold references to external resources
- Within shader system, no need to run destructors, since all memory should be owned by the top-level memory image
#jira none
#rb arciel.rekman, charles.bloom

#ROBOMERGE-SOURCE: CL 16278300 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v799-16237190)

[CL 16278915 by ben ingram in ue5-release-engine-test branch]
2021-05-11 16:29:41 -04:00
christopher waters
874ec853a4 Filling a few gaps in Mesh shader support. Adding ShouldCompilePermutation support to shader pipeline types to guard against unsupported shader types.
#jira none
#rb arciel.rekman
#preflight 60773f1c3f280e0001331ab8

[CL 16012256 by christopher waters in ue5-main branch]
2021-04-14 17:05:02 -04:00
arciel rekman
6ae436afb1 Do not write the global shadermap to DDC until it's complete (UE-108245).
#rb Jason.Nadro, Ben.Ingram
[REVIEW] [at]Jason.Nadro, [at]Ben.Ingram
#lockdown Kevin.Ortegren
#jira UE-108245

#ROBOMERGE-SOURCE: CL 15955360 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15971519 by arciel rekman in ue5-main branch]
2021-04-10 10:04:56 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
Arciel Rekman
48f94762e1 Crash early and with a clearer messaging if global shadermap cannot be loaded (UE-107173).
#rb Ben.Ingram
#review-15214648 @Ben.Ingram
#jira UE-107173

[CL 15224103 by Arciel Rekman in ue5-main branch]
2021-01-27 17:20:34 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
ben ingram
0b04e0f76e #jira UE-88814
Improve behavior when global shades can't be loaded due to memory layout differences
(Trigger a fatal log mentioning missing global shaders, rather than simply crash on nullptr access)
#rb none

#ROBOMERGE-SOURCE: CL 12675920 in //UE4/Release-4.25/... via CL 12675925 via CL 12675937
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12675940 by ben ingram in Main branch]
2020-04-08 13:32:26 -04:00
ben ingram
d9d0535ddc Add freezable hash table, use to accelerate lookup of shaders within ShaderMap
- Shaders are searched by TypeName and PermutationId, so move those fields out of FShader and into separate arrays inside ShaderMap, to reduce cache misses while finding shaders
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12646854 via CL 12646966 via CL 12646981
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12646995 by ben ingram in Main branch]
2020-04-06 21:12:18 -04:00
ben ingram
eb819d2d9f Cache hashed filename on FShaderType, avoid semi-expensive TCHAR*->FName->FHashedName conversion when looking up global shaders
#rb none

#ROBOMERGE-SOURCE: CL 12579879 via CL 12579892 via CL 12579904
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12579927 by ben ingram in Main branch]
2020-04-02 18:01:08 -04:00
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
guillaume abadie
2d094a2529 Cherry-pick 10232551: Invalidates global shader map DDC when shader parameter structure has changed
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 10232583 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v590-10202696)

[CL 10232586 by guillaume abadie in Main branch]
2019-11-14 19:25:21 -05:00
Chris Bunner
c77f129b29 Resolving Robomerge conflict from shelf 4866583.
#rb Robomerge

[CL 4867298 by Chris Bunner in Main branch]
2019-02-01 10:50:36 -05:00