WorldPartition : Removed PreCookCommandlet and replaced with new FWorldPartitionCookPackageSplitter.
#rb matt.peters, patrick.enfedaque, jeanfrancois.dube
[CL 14806302 by Richard Malo in ue5-main branch]
[FYI] Dmitriy.Dyomin
#ROBOMERGE-SOURCE: CL 11610119 via CL 11610126 via CL 11610131
#ROBOMERGE-BOT: (v656-11643781)
[CL 11758850 by bob tellez in Main branch]
#rb none
#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 11596383 via CL 11596386 via CL 11596387
#ROBOMERGE-BOT: (v656-11643781)
[CL 11722115 by dmitriy dyomin in Main branch]
This change is in response to a bug in the current implementation where only the D3D12 backend correctly initializes the immediate command list context prior to initializing global render resources (which use the immediate command list). All other backends only happen to work due to the bypass being enabled in the editor.
In shipping builds this causes a crash due to the command list context being null.
#jira UE-86148
#rb Will.Damon, Lukas.Hermanns, Mihnea.Balta, Jonas.Meyer
#lockdown cristina.riveron
#ROBOMERGE-OWNER: zach.bethel
#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 10942789 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v632-10940481)
[CL 10942847 by zach bethel in Main branch]
#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]
Lightmap resources were not recreated correctly when when the feature level changed. Also, modified FRenderResource::ChangeFeatureLevel() so that it doesn't recreate resources which are already using the correct feature level.
#jira UE-79367
#rb daniel.wright
#lockdown cristina.riveron
#ROBOMERGE-SOURCE: CL 8376524 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v406-8472469)
[CL 8498103 by mihnea balta in Main branch]
This affects FGlobalDynamicReadBuffer, FGlobalDynamicVertexBuffer and FGlobalDynamicIndexBuffer.
"r.NumFramesUnusedBeforeReleasingGlobalResourceBuffer"
Number of frames after which unused global resource allocations will be discarded. Set 0 to ignore. (default=30)
Also added shrinking logic to the FNiagaraDataSet buffers:
"fx.NiagaraDataBufferMinSize"
Niagara data buffer minimum allocation size in bytes. (Default=512)
"fx.NiagaraDataBufferShrinkFactor"
Niagara data buffer size threshold for shrinking. (Default=3)
The buffer will be reallocated when the used size becomes 1/F of the allocated size.
#rb shaun.kime, simon.tovey
#ROBOMERGE-SOURCE: CL 8097674 via CL 8108818
#ROBOMERGE-BOT: (v401-8057353)
[CL 8108895 by uriel doyon in Main branch]
#rb none
[FYI] ben.woodhouse
#rnx
#ROBOMERGE-SOURCE: CL 8040907 via CL 8041828 via CL 8044376 via CL 8046905
#ROBOMERGE-BOT: (v400-8057353)
[CL 8066272 by mickael gilabert in Main branch]
#rb rolando.caloca
[FYI] mark.satterthwaite, luke.thatcher,dmitriy.dyomin
#ROBOMERGE-OWNER: marcus.wassmer
#ROBOMERGE-AUTHOR: marcus.wassmer
#ROBOMERGE-SOURCE: CL 4977376 via CL 4977378 via CL 4979036
[CL 4982426 by marcus wassmer in Main branch]
* IntiViews
* Dispatch prepass parallel cmd list (flickering, as global buffers weren't committed).
* InitShadows.
* Commit global buffers (race condition and potential crash).
This was fixed by:
* Renamed FNiagaraGlobalReadBuffer to FGlobalDynamicReadBuffer and moved it out from Niagara.
* Removed all global buffer singletons and placed them inside appropriate renderers as static members.
* They are also separated into two - one for InitViews and one for InitShadows, so we can dispatch prepass while writing to the shadow global buffers.
* All global buffers are now passed as a parameter and/or through mesh collector.
#jira UE-69167
#rb Rolando.Caloca
#rnx
[CL 4871865 by Krzysztof Narkowicz in Main branch]