Commit Graph

23 Commits

Author SHA1 Message Date
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
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Guillaume Abadie
c72b7a33d8 Merging //UE4/Dev-Rendering-Graph@4492585 to Dev-Rendering (//UE4/Dev-Rendering)
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]
2018-10-19 17:36:35 -04:00