Commit Graph

207 Commits

Author SHA1 Message Date
Devin Doucette
308f312490 CompactBinary: Added CompositeBuffer overloads and made non-view arrays and objects behave more consistently
#rb Zousar.Shaker
#rnx

[CL 15983785 by Devin Doucette in ue5-main branch]
2021-04-12 17:20:30 -04:00
Devin Doucette
fa8250517d SharedBuffer: Added MoveToShared() and MoveToUnique() to convert between buffer types
#rb Matt.Peters
#rnx

[CL 15917930 by Devin Doucette in ue5-main branch]
2021-04-05 12:38:27 -04:00
mark lintott
24420693b6 #jira UE-111195
Updated references to UE4 to Unreal in NetworkFileConnection.cpp
This required references to GPackageFileUE4Version and GPackageFileLicenseeUE4Version to also be updated to GPackageFileUnrealVersion and GPackageFileLicenseeUnrealVersion accordingly

#ROBOMERGE-SOURCE: CL 15850452 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15851651 by mark lintott in ue5-main branch]
2021-03-29 11:38:01 -04:00
arciel rekman
23386736ce Minor optimizations to the memory image writing (UE-110824)
- Flatten memory image sections in parallel and preallocate the array for writing.
- Memory image writing is currently happening on the game thread and either moving it out or optimizing is critical.
- Makes flattening about 3x faster on the test asset (~90ms -> ~30ms)

#rb Ben.Ingram
#jira UE-110824
[at]Ben.Ingram, [at]Jason.Nadro

#ROBOMERGE-SOURCE: CL 15761836 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15773710 by arciel rekman in ue5-main branch]
2021-03-23 05:13:38 -04:00
Devin Doucette
bd6b0054d4 Updated users of memory views to use CopyFrom instead of Memcpy where appropriate
#rb Zousar.Shaker
#rnx

[CL 15716054 by Devin Doucette in ue5-main branch]
2021-03-16 18:08:58 -04:00
Devin Doucette
e0d3d85042 SharedBuffer: MakeOwned now returns a buffer instead of operating in-place
#rb Zousar.Shaker
#rnx

[CL 15713705 by Devin Doucette in ue5-main branch]
2021-03-16 14:30:00 -04:00
Devin Doucette
b5ae234c7c CompactBinary: Renamed view types to use a View suffix, and remove the Ref suffix from types that hold a SharedBuffer
#rb Zousar.Shaker
#rnx

[CL 15493834 by Devin Doucette in ue5-main branch]
2021-02-22 16:34:05 -04:00
Devin Doucette
c71bdb5b14 CompactBinary: Added a 12-byte object identifier as a new field type
#rb Zousar.Shaker
#rnx

[CL 15471949 by Devin Doucette in ue5-main branch]
2021-02-19 11:26:17 -04:00
Devin Doucette
b41c6389ce BLAKE3: Move from Misc to Hash
#rb trivial
#rnx
#fyi Zousar.Shaker

[CL 15385156 by Devin Doucette in ue5-main branch]
2021-02-11 01:09:03 -04:00
Devin Doucette
d3053c2070 CompactBinary: Added custom field types to allow forward compatibility when new types are added
#rb Zousar.Shaker
#rnx

[CL 15371001 by Devin Doucette in ue5-main branch]
2021-02-09 17:41:00 -04:00
Devin Doucette
3a5e5ca2d6 CompactBinary: Fixed NonUnity compile errors
#jira UE-107873
#rb trivial
#rnx

[CL 15348533 by Devin Doucette in ue5-main branch]
2021-02-06 02:23:43 -04:00
Devin Doucette
a05f939c6b CompactBinary: Renamed and added overloads to FCbWriter to clarify behavior and allow specifying name and value in the same function
#rb Zousar.Shaker
#rnx

[CL 15303766 by Devin Doucette in ue5-main branch]
2021-02-03 18:37:36 -04:00
Devin Doucette
d273616103 CompactBinary: Renamed Reference to Attachment to clarify the expected relationship between reference fields and package attachments
#rb trivial
#rnx

[CL 15299118 by Devin Doucette in ue5-main branch]
2021-02-03 14:33:20 -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
Devin Doucette
e9b798ca9c CompactBinary: Converted from FBlake3Hash to FIoHash
#rb Zousar.Shaker
#rnx

[CL 15212418 by Devin Doucette in ue5-main branch]
2021-01-26 18:17:02 -04:00
Devin Doucette
305953d84f BLAKE3: Renamed Bytes() to GetBytes() for consistency
#rb Zousar.Shaker
#rnx

[CL 15200741 by Devin Doucette in ue5-main branch]
2021-01-26 00:29:06 -04:00
Zousar Shaker
2fc47a2cf0 Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Address the following serialization issues:

1) Ensure ObjectPtr Property can convert from SoftObjectProperty and anything else that Object Property can convert from by removing its ConvertFromType override.
2) Fix serialization of wrapped pointers through archives that don't derive from FArchiveUObject, but still expect to be able to serialize both raw and wrapped object references (FNetBitWriter, FExportArchive, and FObjectAndNameAsStringProxyArchive).
3) Restore assert in base FArchive serialization of wrapped object pointer which I had erroneously made in CL15130804 now that it is clear that it is not safe to be relying on silently not writing/reading a wrapped object pointer (even if that may be the default behavior for a raw pointer).
4) Bump Niagara custom version guid to avoid issues with incorrectly serialized data in DDC.

#jira UE-106943
#rb devin.doucette
#fyi rob.krajcarski

[CL 15178163 by Zousar Shaker in ue5-main branch]
2021-01-25 11:37:56 -04:00
Devin Doucette
3fdb9bc4e5 CompactBinary: Rename Reference to CompactBinaryReference for clarity and consistency
#rb Zousar.Shaker
#rnx

[CL 15169906 by Devin Doucette in ue5-main branch]
2021-01-23 02:45:14 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Devin Doucette
ad05268f10 CompactBinary: Added Reset() functions to several compact binary types
#rb Zousar.Shaker
#rnx

[CL 15146785 by Devin Doucette in ue5-main branch]
2021-01-20 14:41:04 -04:00
Zousar Shaker
13592e7dde Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Treat wrapped object pointers identically to raw pointers in the base FArchive implementation (they are silently ignored for serialization and do not generate an error).  Some code paths (eg: Niagara) depend on this behavior for archives derived from FArchive (not FArchiveUObject).

#rb devin.doucette

[CL 15130804 by Zousar Shaker in ue5-main branch]
2021-01-18 11:50:11 -04:00
Devin Doucette
71dceab9c4 SharedBuffer: Rewrote SharedBuffer to make it easier to use, and support lazy materialization of the underlying buffer
- FUniqueBuffer has been added as a single-ownership mutable buffer.
- FSharedBuffer remains a shared-ownership buffer and is now always immutable. In addition to the factory functions that were available previously, it can be also be created by moving FUniqueBuffer.
- FSharedBuffer is now used directly rather than requiring several pointer and reference types.
- FWeakSharedBuffer has been added as a weak reference to a shared buffer, in place of the previous weak pointer types.
- FBufferOwner has been promoted out of FSharedBuffer and can be used for advanced buffer management, including lazy buffer materialization where allocating and/or populating the buffer may be deferred until the buffer is accessed.

#jira none
#rb Zousar.Shaker
#fyi Paul.Chipchase
#rnx

[CL 14939736 by Devin Doucette in ue5-main branch]
2020-12-16 12:20:24 -04:00
Devin Doucette
60f148abe6 CompactBinary: Added a compact binary package that represents a Merkle tree of an object and its transitive references
#jira none
#rb Zousar.Shaker
#rnx

[CL 14912029 by Devin Doucette in ue5-main branch]
2020-12-14 00:41:26 -04:00
Devin Doucette
b318dce423 CompactBinary: Added AsAnyReference, renamed writer save functions, and changed buffer allocator parameters
Includes a minor optimization to TCbBufferRef::GetOuterBuffer() and adds an assert that the buffer allocator returned a valid buffer.

#jira none
#rb Zousar.Shaker
#rnx

[CL 14898497 by Devin Doucette in ue5-main branch]
2020-12-10 12:19:54 -04:00
Devin Doucette
d1fdd7b857 MemoryView: Renamed FConstMemoryView to FMemoryView
#jira none
#rb Zousar.Shaker
#rnx

[CL 14879960 by Devin Doucette in ue5-main branch]
2020-12-08 13:21:49 -04:00