Commit Graph

61 Commits

Author SHA1 Message Date
graham wihlidal
38d627de0c Nanite config tweaks on some platforms, and fixed an ini typo
#rb none
#fyi eric.mcdaniel

[CL 14197691 by graham wihlidal in ue5-main branch]
2020-08-27 02:08:06 -04:00
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -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
jeff newquist
6992d55362 Move location of GameOpenOrder.log, EditorOpenOrder.log and CookerOpenOrder.log to platform extensions folder
#rb none
[FYI] josh.adams
#rnx

#ROBOMERGE-SOURCE: CL 13119430 via CL 13119444 via CL 13119470
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13119491 by jeff newquist in Main branch]
2020-04-30 12:42:29 -04:00
jonas meyer
6636c41512 handle case where LibraryInstance->Library is null.
#rb none

#ROBOMERGE-SOURCE: CL 13065270 via CL 13065276 via CL 13065281
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13065291 by jonas meyer in Main branch]
2020-04-29 10:14:42 -04:00
ben ingram
37a9216d19 #jira none
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 13053391 in //UE4/Release-4.25/... via CL 13053394 via CL 13053520
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13053522 by ben ingram in Main branch]
2020-04-27 22:11:56 -04:00
ben ingram
68fbb75271 #jira UE-92139
Fix issues causing material DDC values to be non-determinisic
- Shader code within resources sorted by hash
- Debug source code values sorted by type
Also add mechanism to serialize any MemoryLayout described type to string
- Makes it easier to inspect material data to find sources of non-determinism
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12944988 in //UE4/Release-4.25/... via CL 12944998 via CL 12957822
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12957827 by ben ingram in Main branch]
2020-04-21 13:46:17 -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
arciel rekman
15a2eef5e0 Fix running -nullrhi with native shader libraries (UE-91432).
#rb Ben.Ingram
#jira UE-91432

#ROBOMERGE-SOURCE: CL 12513296 in //UE4/Release-4.25/... via CL 12513299 via CL 12513301
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12513305 by arciel rekman in Main branch]
2020-04-01 20:32:33 -04:00
ben ingram
73961fa70d Updates to FileCache to work better with shader preloading
- FileCache can dynamically allocate/release memory as needed
- Preloaded lines are locked in the cache.  One the preloaded memory has been read, the line is unlocked.  This prevents preloaded lines from being evicted before they're needed.
- Cache line size changed from 64k to 16k, reduce fragmentation due to locked preloaded lines
#rb none

#ROBOMERGE-SOURCE: CL 12491121 via CL 12491126 via CL 12491130
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12491133 by ben ingram in Main branch]
2020-03-30 17:41:29 -04:00
arciel rekman
55c833b9fd Fix cooking builds with SCL and -nullrhi (UE-91021).
#rb none
#jira UE-91021

#ROBOMERGE-SOURCE: CL 12358137 in //UE4/Release-4.25/... via CL 12358144
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v671-12333473)

[CL 12358154 by arciel rekman in Main branch]
2020-03-20 21:58:24 -04:00
dmitriy dyomin
5292331cfe Changed shader library logging for plugins from Display to Verbose
#jira none
#rb none

#ROBOMERGE-SOURCE: CL 12332483 in //UE4/Release-4.25/... via CL 12332484
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v670-12295787)

[CL 12332486 by dmitriy dyomin in Main branch]
2020-03-20 06:17:35 -04:00
arciel rekman
ad17c24f15 Fixing (blindly) merge of SCL sorting from a 4.24 codebase.
- Functions did not get carried over.

#rb none


#ROBOMERGE-SOURCE: CL 12253797
#ROBOMERGE-BOT: (v668-12245121)

[CL 12253799 by arciel rekman in Main branch]
2020-03-18 17:45:06 -04:00
Arciel Rekman
e970ef5ea2 ShaderLibrary sorted by file open order, with other fixes (FORT-265600).
- Each shadermap is now associated with one or more assets, and shaders are laid out according to the
  open order of those assets, if provided. If not provided, the original ordering is kept. The original ordering
  will not be always deterministic, particularly if shader compilation needs to happen, because jobs can get
  reordered during the compilation.

Other fixes:

- Fixed sorting within the shadermap not being deterministic (FCompareShaderPrimaryKey)
- Fixed Niagara shadermap duplicating Platform property and not initializing it properly.
- Removed (unused) support for Child shader libraries (would not be deterministic).

#rb Ben.Ingram, Rob.Krajcarski


#ROBOMERGE-OWNER: Arciel.Rekman
#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 12249260 via CL 12249262 via CL 12250173
#ROBOMERGE-BOT: (v668-12245121)

[CL 12250313 by Arciel Rekman in Main branch]
2020-03-18 15:35:20 -04:00
ben ingram
ccb40fe20c #jira none
Don't crash the editor if 'cooked content in editor' is enabled along with shared shader code library
#rb none

#ROBOMERGE-SOURCE: CL 12166697 in //UE4/Release-4.25/... via CL 12166704
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)

[CL 12166707 by ben ingram in Main branch]
2020-03-13 15:50:49 -04:00
arciel rekman
65b2d3c88a Vulkan: prevent crash on exit due to SCL (UE-89478).
#rb Ben.Ingram
[FYI] Dmitriy.Dyomin
#jira UE-89478

#ROBOMERGE-SOURCE: CL 11619652 in //UE4/Release-4.25/... via CL 11619657
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v655-11596533)

[CL 11619677 by arciel rekman in Main branch]
2020-02-25 16:56:18 -05:00
Arciel Rekman
f6b2c6df54 Make shader library determinism optional per platform.
#rb Josh.Adams, Ben.Woodhouse
#rnx


#ROBOMERGE-OWNER: Arciel.Rekman
#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 11450810 via CL 11452365 via CL 11452390 via CL 11452432
#ROBOMERGE-BOT: (v654-11333218)

[CL 11456136 by Arciel Rekman in Main branch]
2020-02-15 10:16:44 -05: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
arciel rekman
650c7ce628 Resubmitting: stabilize the order of shaders in the shader library (FORT-255406)
- Previously the order of shaders would be defined by the order of adding them, which can vary even without any change due to SCWs finishing the jobs at a different time.
- Fixed a previous compile issue and added comments re: TSortedMap and TMap compatibility after checking with the Core team.

#rb Daniel.Lamb (discussed)
[CODEREVIEW] Dmitriy.Dyomin


#ROBOMERGE-SOURCE: CL 11248093 via CL 11248095 via CL 11248101
#ROBOMERGE-BOT: (v647-11244347)

[CL 11254818 by arciel rekman in Main branch]
2020-02-05 12:49:12 -05:00
bob tellez
0fa930ad38 Back out changelist 11224248. CIS error
[FYI] Arciel.Rekman


#ROBOMERGE-SOURCE: CL 11225960 via CL 11228025 via CL 11228838
#ROBOMERGE-BOT: (v644-11213502)

[CL 11241725 by bob tellez in Main branch]
2020-02-04 22:32:52 -05:00
arciel rekman
77f933e4ce Stabilize the order of shaders in the shader library (FORT-255406).
- Previously the order of shaders would be defined by the order of adding them, which can vary even without any change due to SCWs finishing the jobs at a different time.

#rb Daniel.Lamb (discussed)
[CODEREVIEW] Dmitriy.Dyomin


#ROBOMERGE-SOURCE: CL 11224248 via CL 11227707 via CL 11228378
#ROBOMERGE-BOT: (v644-11213502)

[CL 11241606 by arciel rekman in Main branch]
2020-02-04 22:30:44 -05:00
Rolando Caloca
f63a3e857e Merging //UE4/Main@11178322 to Dev-RenderPlat-Staging
#rnx
#rb none

[CL 11195678 by Rolando Caloca in Dev-RenderPlat-Staging branch]
2020-01-31 10:34:10 -05:00
devin doucette
6eec62bcf6 Optimize ShaderPipelineCacheToolsCommandlet
- Optimize parsing of FVertexElement, FDepthStencilStateInitializerRHI, FBlendStateInitializerRHI, FPipelineFileCacheRasterizerState, FPipelineCacheFileFormatPSO using FStringView and TArray<FStringView, TInlineAllocator<N>> to avoid temporary allocations.
- Optimize parsing and string conversion of FCompactFullName, FStableShaderKeyAndValue using FStringView and T[Ansi]StringBuilder to avoid temporary allocations.
- Use TInlineAllocator<16> for FCompactFullName to eliminate dynamic allocations. The size was selected by profiling a title with many shaders.
- Serialize FEditorShaderStableInfo directly to UTF-8 instead of converting to it later to avoid converting every name from ASCII to UTF-16 to UTF-8 during the serialization process.
- Load input files in parallel now that millions of allocations have been eliminated.
- Make the PSOSC serialization self-test only run when verbose logging is enabled.
- Optimize ParseQuoteComma by using FStringView and TArray<FStringView, TInlineAllocator<N>> to avoid temporary allocations.

These changes reduced the execution time of the build command by 90% on a large title. The time savings affect full, iterative, and single-package cooks.

#rb Arciel Rekman, Zousar.Shaker

#ushell-cherrypick of 10860101 by devin.doucette


#ROBOMERGE-SOURCE: CL 11163162 via CL 11163163 via CL 11163164
#ROBOMERGE-BOT: (v640-11091645)

[CL 11166858 by devin doucette in Main branch]
2020-01-29 15:15:45 -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