Commit Graph

3434 Commits

Author SHA1 Message Date
yangke li
702c9dc694 add RGB555A1 texture format support(not supported on Mac)
useful for RVT on mobile platforms, to save the cost of runtime compression
#rb Dmitriy.Dyomin mihnea.balta

#ROBOMERGE-SOURCE: CL 16872220 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16872238 by yangke li in ue5-release-engine-test branch]
2021-07-16 11:40:02 -04:00
zousar shaker
485523ba33 First pass header changes in support of Engine+ShooterGame TObjectPtr refresh.
#rb devin.doucette

#ROBOMERGE-SOURCE: CL 16865811 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16865821 by zousar shaker in ue5-release-engine-test branch]
2021-07-15 15:17:08 -04:00
matt peters
a1e506797a Generalize IPackageResourceManager::OnEndLoad into FCoreUObjectDelegates::OnEndLoadPackage for use by the BulkDataRegistry, and add UPackage::bHasBeenEndLoaded for BulkDataRegistry to know when a package has finished its initial load serialization.
Add OnEndLoad calls for Async loaded packages, since the editor sometimes uses async loads.
#rb Francis.Hurteau
#rnx

#ROBOMERGE-SOURCE: CL 16861817 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16861829 by matt peters in ue5-release-engine-test branch]
2021-07-15 09:49:49 -04:00
steve robb
e85e8f9950 Fix for optimized map and set properties serialization when there are no defaults and the container is already populated.
#jira UE-118822
#rb none
[FYI] johan.torp

#ROBOMERGE-SOURCE: CL 16843259 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16843265 by steve robb in ue5-release-engine-test branch]
2021-07-13 17:45:30 -04:00
jordan hoffmann
4d2a9e5f33 Fix: The 'const' checkbox should not be visible in the Details tab for Blueprint Library functions.
#jira UE-39711
#rb mark.audy

#ROBOMERGE-SOURCE: CL 16838997 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16839004 by jordan hoffmann in ue5-release-engine-test branch]
2021-07-13 13:03:22 -04:00
michael noland
ed82778544 Core: Made the verbosity of the unintialized reflected property check configurable via ini
- Issues with UObject* properties are upgraded from Warning to Error
- Other types remain the same for both engine and project modules (Display), but engine will soon change to Error as well

Settings can be overridden for either project or engine modules in DefaultEngine.ini (engine defaults are in BaseEngine.ini), e.g.,

[CoreUObject.UninitializedScriptStructMembersCheck]
EngineModuleReflectedUninitializedPropertyVerbosity=Error
ProjectModuleReflectedUninitializedPropertyVerbosity=Warning

#rb marc.audy

#ROBOMERGE-SOURCE: CL 16826159 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16826182 by michael noland in ue5-release-engine-test branch]
2021-07-12 11:49:57 -04:00
ionut matasaru
c0495f965d [Insights]
- Fixed the trace of scope cycle counters for UObject to be enabled everywhere where FScopeCycleCounterUObject is used switced by Stats::IsThreadCollectingData().
  - Fixed UObject::CallFunction to trace UObject name for Insights only when GVerboseScriptStats is on.

#rb Catalin.Dragoiu
[FYI] Johan.Berg, Jeff.Farris

#ROBOMERGE-SOURCE: CL 16824659 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16824668 by ionut matasaru in ue5-release-engine-test branch]
2021-07-12 09:25:05 -04:00
jeanfrancois dube
9a74d7789f Backout CL16728888 as it doesn't properly handle the ECoreRedirectFlags::Option_MatchSubstring flag, found by running the CoreRedirects unit tests.
#jira UE-118831
#rb none

#ROBOMERGE-SOURCE: CL 16819857 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16819858 by jeanfrancois dube in ue5-release-engine-test branch]
2021-07-10 17:00:49 -04:00
ben woodhouse
498a7b6a26 Back out 16780416 for now since it's causing cook failures
[FYI] Michael.Noland

#ROBOMERGE-SOURCE: CL 16783107 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16783117 by ben woodhouse in ue5-release-engine-test branch]
2021-06-25 10:07:08 -04:00
michael noland
5465c7984d Core: Changed the verbosity of the unintialized reflected property check to an error for types in engine modules or UObject* properties
[CODEREVIEW] nick.darnell
#preflight 60d50948925f140001249b76

#ROBOMERGE-SOURCE: CL 16780416 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16780421 by michael noland in ue5-release-engine-test branch]
2021-06-24 20:04:37 -04:00
francis hurteau
7885790bd3 Remove the usage of modal message dialog in package saving
Always try to find the likely culprit in case of illegal references

#rb Matt.Peters
#jira UE-115971

#ROBOMERGE-SOURCE: CL 16774967 via CL 16774971
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16774975 by francis hurteau in ue5-release-engine-test branch]
2021-06-24 12:05:49 -04:00
matt peters
0724105f6c BulkDataRegistry
Updating FVirtualizedUntypedBulkData and textures to use the BulkDataRegistry.
BulkDataRegistry: Add get/put accessors for the cached BulkDataList of packages.
EditorDomain: Move ClassDigests into a global variable that can be shared with BulkDataRegistry.
EditorDomain: Improve performance of GetFileSize by fetching metadata only.
Tickable Cook Objects, for systems used by the cooker that need to be ticked.
Implementation of the the BulkDataRegistry that uses the DDC cache for persistent storage of the BulkDataList.

#rb Devin.Doucette, Paul.Chipchase, Zousar.Shaker

#ROBOMERGE-SOURCE: CL 16768772 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16768778 by matt peters in ue5-release-engine-test branch]
2021-06-24 00:51:58 -04:00
pj kack
59793d0354 GarbageCollection: Improve GC reachability analysis wall time by letting the GT do work using a ParallelFor instead of waiting.
#jira UE-116567
#rb danny.couture
#rnx

#ROBOMERGE-SOURCE: CL 16755950 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16755951 by pj kack in ue5-release-engine-test branch]
2021-06-23 08:54:20 -04:00
matt peters
35087e0c90 VirtualizedBulkData: fix incorrect serialized PayloadIds for editordomain versions of non-virtual payloads that virtualize on save; the incorrect paylodIds were noticeable by the "Failed to pull virtual data with guid" error when loading the saved package.
#rb Paul.Chipchase
#rnx

#ROBOMERGE-SOURCE: CL 16754551 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16754554 by matt peters in ue5-release-engine-test branch]
2021-06-23 04:07:37 -04:00
danny couture
4be0185d91 Optimize the ddc fill job
- Avoid redundant iterations and processing of UPackages by implementing a listener instead
  - Process many packages asynchronously (not just one) by keeping them in memory longer and finishing them later
  - Make the ddc fill job wait for async tasks properly
  - Fix texture always being single threaded by allowing async at all time for ddc fill jobs
  - Avoid calling IsCachedCookedPlatformDataLoaded too often on objects still being compiled
  - Use a more sensible max memory usage in WorldPartitionHelpers to avoid calling the GC too often

  - 30m16s to 7m44s when running -run=DerivedDataCache -fill -map=P_Construct_WP -mapsonly -projectonly with hot cache
  - 2h30m to 1h11s when running -run=DerivedDataCache -fill -map=P_Construct_WP -mapsonly -projectonly with cold cache

#rb Zousar.Shaker, Devin.Doucette
#preflight 60d1fd5571002f0001b8880e

#ROBOMERGE-SOURCE: CL 16745009 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16745019 by danny couture in ue5-release-engine-test branch]
2021-06-22 12:50:30 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
jeanfrancois dube
5a454e2041 Bring back 16574112 with proper fix:
Implement fast path for FCoreRedirects::GetMatchingRedirects when looking for a single redirect type.
Saves ~18% of the time spent in FLinkerLoad::FixupImportMap, which is time sliced in a 5ms window in PIE.

#rb francis.hurteau

#ROBOMERGE-SOURCE: CL 16728888 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16728893 by jeanfrancois dube in ue5-release-engine-test branch]
2021-06-21 11:46:40 -04:00
paul chipchase
6a38eff134 Remove UE_USE_VIRTUALBULKDATA and the associated code path, there is now no easy way to revert back to old bulkdata format for StaticMesh/Textures.
#rb Danny.Couture
#rnx
#preflight 60d0386978c3b00001d06c06

* Macro removal
- UE_USE_VIRTUALBULKDATA: Asssumed to be 1.
- UE_VBD_TO_OLD_BULKDATA_PATH: Assumed to be 0 and code paths entirely deleted.
- UE_VBD_CONST: Assumed to be'const'
- Now that these macros are no longer in use some includes of VirtualizationManager.h can be removed (or moved to the cpp).

*VirtualizedBulkData
- No longer need need to include VirtualizationManager.h in the bulkdata header file so that is moved to the cpp.
- Removed ::GetBulkDataSize which was only added to keep compatibility to older code paths. This method has not yet been released publicly(it's not in EA) so we don't need to worry that anyone is actually using it.
- Add a new method ::HasPayloadData that allows the caller to poll if the payload exists and if it has a valid data length rather than calling ::GetPayloadSize (I'd like to move away from the need for calling code to know how large the payload is until the payload is actually pulled as it will make eventual thread safety code easier to do in the future).
- Added a method ::SetCompressionFormat that allows the compression format to be changed. Normally this should only be done when ::UpdatePayload is called but we need a way to fix old textures that were saved with the wrong compression flags for a time and to do that we need to be able to 'reset' the compression format in some cases. The method is documented to try and make it clear that this is not really intended for general use. At some point in the future if the engine mandates that packages be resaved to a specific version we can look into deprecating this call.

*StaticMeshSourceData
- MESHDATAKEY_STATICMESH_DERIVEDDATA_VER is currently 1 character shorter than it should be, but that doesn't seem worth changing the key to fix.

*Texture
- When accessing data from IImageWrapper we can take the data pointer directly from the TArray and give it's ownership to the FSharedBuffer being returned rather than cloning it.
- Deprecated FTextureSource::LoadBulkDataWithFileReader as with VBD it will always return true.
- FMipAllocation cannot yet be deleted as it is still required for Lock/Unlock but we can remove the support for old style FByteBulkData for now. There is further clean up work to be done here but we would have to make bigger changes to the FTextureSource api.
- FMipData can now store the data in FSharedBuffer format. In the future we can allow people to access mips via views rather than always taking copies to reduce unnecessary data transfer. This also eliminates the need to pass in a lock.
- FTextureSource::InitLayered still supports the parameter 'NewData' potentially being nullptr (in which case we set the texture data to uninitialized memory) this is another candidate for a future code clean up.
- Added a ::HasPayloadData to use instead of ::GetSizeOnDisk as in many cases the calling code is only interested if there is data at all and not what the exact size is.

* Testing
- Ran benchmarks before/after for cold cooks of an internal project showing overall cook times going from 1:54:28 down to 1:49:36 on average.

#ROBOMERGE-SOURCE: CL 16727381 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16727410 by paul chipchase in ue5-release-engine-test branch]
2021-06-21 08:56:40 -04:00
per larsson
78582ba328 Fix non unity Crash reporter compile error
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 16725383 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16725388 by per larsson in ue5-release-engine-test branch]
2021-06-21 03:40:46 -04:00
per larsson
38d3910b5c Remove dependency to CookOnTheFly module from CoreUObject and Launch when compiling programs
#rb Paul.Chipchase

#ROBOMERGE-SOURCE: CL 16725292 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16725294 by per larsson in ue5-release-engine-test branch]
2021-06-21 02:46:31 -04:00
matt hoffman
e5bf2fd2b6 Matinee: Misc cleanup (code comment changes, etc.)
#jira UE-105313
#rb Trivial
#preflight 60cb86666092ba00014e413d

#ROBOMERGE-SOURCE: CL 16708963 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16708979 by matt hoffman in ue5-release-engine-test branch]
2021-06-17 14:57:48 -04:00
paul chipchase
4f3a0a99ab Prevent -inf values from showing up for the MBps entries in Mirage stats logging code.
- If the time for the selection is 0.0 then just use 0.0 as the result, don't divide.

#rb trivial
#preflight 60cb73229f123700012ec005

#ROBOMERGE-SOURCE: CL 16706893 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16706916 by paul chipchase in ue5-release-engine-test branch]
2021-06-17 13:42:38 -04:00
jurre debaare
ccaed4b3f9 Launch on to platform crashes on open Assertion failed: IsAligned(PropertyDest, TheCppStructOps->GetAlignment())
#fix actually allow for 32-byte aligned UObject allocations, allocate by size and aligment rather than aligned size and added development/debug build verification of resulting mem adress
#jira UE-117778
#rb Johan.Torp
[FYI] Andrew.Davidson, Zak.Middleton
#preflight 60cb32e79ecd3e000199a396

#ROBOMERGE-SOURCE: CL 16703994 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16704019 by jurre debaare in ue5-release-engine-test branch]
2021-06-17 09:48:14 -04:00
zousar shaker
c27625b056 Integrating //UE5/Dev-Cooker [at] 16678003 to //UE5/Main (Zousar.Shaker-YEG-0943-Quaternary)
Non-DevIteration_ShooterGame


#ROBOMERGE-SOURCE: CL 16678907 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16678928 by zousar shaker in ue5-release-engine-test branch]
2021-06-15 16:38:03 -04:00
cody albert
ec487b00f0 Exposed FInt32Interval to blueprints
#rb jamie.dale

#ROBOMERGE-SOURCE: CL 16675762 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16675774 by cody albert in ue5-release-engine-test branch]
2021-06-15 13:22:46 -04:00