#jira none
#rb devin.doucette, stefan.boberg
#lockdown stefan.boberg
#ushell-cherrypick of 12918250 by paul.chipchase
#ROBOMERGE-SOURCE: CL 12919209 in //UE4/Release-4.25Plus/... via CL 12919222
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12919263 by paul chipchase in Main branch]
FStaticMeshLODResources are now ref counted to prevent deleting the data while it is being accessed.
The stream out strategy now involves waiting several frame before streaming out, if there are external references to the LOD.
This number of checks is controlled by the new "r.Streaming.MaxReferenceChecksBeforeStreamOut" with a default value of 3.
Disabled StaticMesh streaming while in the editor to prevent issues with tools.
UNiagaraDataInterfaceStaticMesh now correctly support preview feature level and in game LOD streaming.
LODData that is cached initialization time is now invalidated if that LOD is streamed out, this
only affect GPU sampling and FStaticMeshFilteredAreaWeightedSectionSampler).
#rb jian.ru
#ROBOMERGE-SOURCE: CL 12469631 via CL 12469638 via CL 12469648
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)
[CL 12469663 by uriel doyon in Main branch]
Collect detailed information on roundtripping error to pinpoint problems much faster.
Implement Identical() for some movie scene evaluation types to fix UnversionedPropertySerializationTest
Previous Identical() implementation returned false since they were only compared to default value and was known to always differ from default. UPS test requires proper Identical() implementation.
#[fyi] andrew.rodham, austin.crismore
#jira none
#rb none
#ushell-cherrypick of 11443195 by Johan.Torp
#ushell-cherrypick of 11458738 by Johan.Torp
#ROBOMERGE-SOURCE: CL 12147958 in //UE4/Release-4.25/... via CL 12147961
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v659-12123632)
[CL 12147967 by johan torp in Main branch]
Sets ArIsError and ArIsCriticalError to private
[at]Graeme.Thornton [at]Johan.Torp [at]Steve.Robb [at]Carlos.Cuello
#rb Steve.Robb
#ROBOMERGE-OWNER: Eric.Knapik
#ROBOMERGE-AUTHOR: eric.knapik
#ROBOMERGE-SOURCE: CL 11949030 via CL 11949058 via CL 11949116 via CL 11949174
#ROBOMERGE-BOT: (v656-11643781)
[CL 11953024 by Eric Knapik in Main branch]
There was a mismerge of the fix 11091798 when it was moved from dev-core to a private branch which reintroduced the exception for FBulkDataBase::CanLoadFromDisk, so that it would pass inlined data if it was running from IoStore. This would then quite rightly trigger issues in our automated tests.
Restored the original fix in 11091798.
#rnx
#rb none
#jira UE-90089, UE-90096
#ROBOMERGE-SOURCE: CL 11934328 in //UE4/Release-4.25/... via CL 11934350
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)
[CL 11934362 by paul chipchase in Main branch]
#rb robert.manuszewski
[FYI] jordan.cristiano
#ROBOMERGE-SOURCE: CL 11550023 via CL 11550046 via CL 11550057
#ROBOMERGE-BOT: (v654-11333218)
[CL 11551981 by andrew ladenberger in Main branch]
- RobManuszewski's change, reverting CLs 7799323 and 8224969
#rb Robert.Manuszewski (authored)
#ROBOMERGE-SOURCE: CL 11458363 via CL 11458497 via CL 11458505 via CL 11458513
#ROBOMERGE-BOT: (v654-11333218)
[CL 11458525 by arciel rekman in Main branch]
#rb per.larsson
#ushell-cherrypick of 11327342 by CarlMagnus.Nordin
#ROBOMERGE-SOURCE: CL 11373304 via CL 11373313 via CL 11373318
#ROBOMERGE-BOT: (v654-11333218)
[CL 11373323 by carlmagnus nordin in Main branch]
#rb none
[FYI] ken.hawthorne
#ROBOMERGE-SOURCE: CL 11254859 via CL 11255081 via CL 11255096
#ROBOMERGE-BOT: (v647-11244347)
[CL 11255345 by steve robb in Main branch]
#rb none
#rnx
#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 11199407 via CL 11199413
#ROBOMERGE-BOT: (v640-11091645)
[CL 11199461 by steve robb in Main branch]
#rb none
#rnx
#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 11198904 via CL 11198913
#ROBOMERGE-BOT: (v640-11091645)
[CL 11199047 by steve robb in Main branch]
#rb none
#rnx
#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 11197939 via CL 11197966
#ROBOMERGE-BOT: (v640-11091645)
[CL 11198535 by steve robb in Main branch]
- Attempting to memory map inline data will give a log error(as the original implementation did but will not attempt to actually memory map it as it is very unlikely that inline data would have the correct alignment requirements for the operation to succeed so to keep the code simple we just serialize the inline data which was the existing fallback behaviour anyway.
- Added the memory mapping implementation as it's own method (MemoryMapBulkData) since we only need to support the non-inline case.
- Added a flag (bShouldForceLoad) that when true will force the BulkData2 data to be streamed in immediately. Currently used as a fallback if the memory mapping fails (all callers assume 100% success) but I made it generic enough that we could use it for something else if the use case occurs.
- This is a fairly quick fix to unblock testing, future work includes:
- Reduce the added memory bloat (adding 2 additional pointers to BulkData2)
- Implement copy/assignment of memory mapped BulkData (based on the above work)
#jira UE-85974
#rnx
#rb Per.Larsson
[CL 11194361 by paul chipchase in Main branch]
#jira
[FYI] Steve.Robb
#ROBOMERGE-SOURCE: CL 11128612 via CL 11128617 via CL 11128620
#ROBOMERGE-BOT: (v640-11091645)
[CL 11128623 by peter knepley in Main branch]