Commit Graph

67 Commits

Author SHA1 Message Date
Brandon Schaefer
5cb59aabe7 Override GetPortableCallstack to avoid 1MB allocations in our signal handler
#jira UE-89798
[at]Michael.Sartain, [at]Arciel.Rekman
#rb Michael.Sartain

#ROBOMERGE-OWNER: Brandon.Schaefer
#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 12012057 in //UE4/Release-4.25/... via CL 12012076
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 12012485 by Brandon Schaefer in Main branch]
2020-03-06 14:44:03 -05:00
brandon schaefer
d11b88c8c9 Batch writing ini files for Unix
#jira UE-84939
#rb Seabstian.Nordgren
[at]Josh.Adams, [at]Seabstien.Nordgren

#ROBOMERGE-SOURCE: CL 12000609 in //UE4/Release-4.25/... via CL 12000880
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 12001061 by brandon schaefer in Main branch]
2020-03-06 12:23:58 -05:00
brandon schaefer
e8b304ea74 Add CrashSignal and CrashSignalName to crash information collected
As well as send the CrashSignal as part of the analytic crash event

#rb LouisPhilippe.Seguin


#ROBOMERGE-SOURCE: CL 11761085 via CL 11761165 via CL 11761195
#ROBOMERGE-BOT: (v656-11643781)

[CL 11867914 by brandon schaefer in Main branch]
2020-03-03 11:13:20 -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
Stefan Boberg
55a8b15f1f Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb none

[CL 11258477 by Stefan Boberg in Main branch]
2020-02-05 14:26:36 -05:00
Ryan Gerleve
35e095a9d8 Copying //UE4/Dev-Networking @ CL 11201841 to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 11202190 by Ryan Gerleve in Main branch]
2020-01-31 18:46:22 -05:00
brandon schaefer
c70d8030da Implement module path name for Unix to avoid hard coded default path
Windows implemented at CL 3292685
Mac implemented at CL 1993104

#jira UE-80753
#rb none


#ROBOMERGE-SOURCE: CL 11147417 via CL 11147465 via CL 11147477
#ROBOMERGE-BOT: (v640-11091645)

[CL 11147478 by brandon schaefer in Main branch]
2020-01-28 22:48:51 -05:00
PJ Kack
741d8d98a2 MANUAL MERGE
Merging //UE4/Main @ 11112898 to //UE4/Dev-Core (dev-core-l0178)

#rb none

(ushell-p4-mergedown)

[CL 11113594 by PJ Kack in Dev-Core branch]
2020-01-26 11:37:21 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
Lina Halper
44c1bb3292 COPY from //Dev-Anim to //Dev-Main
#rb: none
#fyi: Laurent.Delayen, Thomas.Sarkanen

[CL 11088765 by Lina Halper in Main branch]
2020-01-22 17:58:55 -05:00
Matt Peters
505284e41e Allow TruncToFloat intrinsics used on platforms that support them.
Add SSE and AVX defines to allow specifying availability on PC, MAC, and Linux.
SSE and AVX defines have ALWAYS_HAS and MAYBE_HAS variants to distinguish between available to compile and available to run without the need to check cpuid.
Add templated base classes TUnrealPlatformMathSSEBase and TUnrealPlatformMathSSE4Base to remove the boilerplate overrides added by each of the platformmaths that use the sse overrides.
#rb Steve.Robb
#rn Minor

[CL 10942197 by Matt Peters in Dev-Core branch]
2020-01-10 11:58:11 -05:00
peter engstrom
83c804462c Updating copyright for Engine Runtime.
#rnx
#rb none

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900 via CL 10870549
#ROBOMERGE-BOT: NETWORKING (Main -> Dev-Networking) (v624-10872983)

[CL 10874720 by peter engstrom in Dev-Networking branch]
2020-01-03 09:45:29 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#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]
2019-12-26 14:45:42 -05:00
robert manuszewski
64799fb0b6 Copying //UE4/Dev-Core [at] 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 10708666 in //UE4/Main/...
#ROBOMERGE-BOT: NETWORKING (Main -> Dev-Networking) (v610-10636431)

[CL 10823270 by robert manuszewski in Dev-Networking branch]
2019-12-19 15:04:01 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00
Ben Marsh
b6039a9873 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 9419420 by Ben Marsh in Dev-Build branch]
2019-10-04 11:20:44 -04:00
Stefan Boberg
1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00
ben marsh
b0bc58eb2a Deprecating ARRAY_COUNT and changing it to UE_ARRAY_COUNT.
Replicated from CL# 7924370.

#rb none

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063 via CL 9279836
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v456-9359915)

[CL 9366698 by ben marsh in Dev-Build branch]
2019-10-02 10:52:53 -04:00
Nick Shin
3526d16d5e merge/copyup to parent stream - HTML5 platform extension
#jira UEMOB-482  HTML5 platform as a plug in
#rb josh.adams
#rn

[CL 9306021 by Nick Shin in Dev-Build branch]
2019-09-30 15:13:56 -04:00
steve robb
14cab21e0c Deprecating ARRAY_COUNT and changing it to UE_ARRAY_COUNT.
Replicated from CL# 7924370.

#rb none


#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)

[CL 9279836 by steve robb in Main branch]
2019-09-28 08:19:35 -04:00
jamie dale
a287480c36 Allow FString instances containing code units outside of the basic multilingual plane to be losslessly processed regardless of whether TCHAR is 2 or 4 bytes.
Most UE4 platforms use a 2-byte TCHAR, however some still use a 4-byte TCHAR. The platforms that use a 4-byte TCHAR expect their string data to be UTF-32, however there are parts of UE4 that serialize FString data as a series of UCS2CHAR, simply narrowing or widening each TCHAR in turn. This can result in invalid or corrupted UTF-32 strings (either UTF-32 strings containing UTF-16 surrogates, or UTF-32 code points that have been truncated to 2-bytes), which leads to either odd behavior or crashes.

This change updates the parts of UE4 that process FString data as a series of 2-byte values to do so on the correct UTF-16 interpretation of the data, converting to/from UTF-32 as required on platforms that use a 4-byte TCHAR. This conversion is a no-op on platforms that use a 2-byte TCHAR as the string is already assumed to be valid UTF-16 data. It should also be noted that while FString may contain UTF-16 code units on platforms using a 2-byte TCHAR, this change doesn't do anything to make FString represent a Unicode string on those platforms (ie, a string that understands and works on code points), but is rather just a bag of code units.

Two new variable-width string converters have be added to facilitate the conversion (modelled after the TCHAR<->UTF-8 converters), TUTF16ToUTF32_Convert and TUTF32ToUTF16_Convert. These are used for both TCHAR<->UTF16CHAR conversion when needed, but also for TCHAR<->wchar_t conversion on platforms that use char16_t for TCHAR along with having a 4-byte wchar_t (as defined by the new PLATFORM_WCHAR_IS_4_BYTES option).

These conversion routines are accessed either via the conversion macros (TCHAR_TO_UTF16, UTF16_TO_TCHAR, TCHAR_TO_WCHAR, and WCHAR_TO_TCHAR), or by using a conversion struct (FTCHARToUTF16, FUTF16ToTCHAR, FTCHARToWChar, and FWCharToTCHAR), which is the same pattern as the existing TCHAR<->UTF-8 conversion. Both the macros and the structs are defined as no-ops when the conversion isn't needed, but always exist so that code can be written in a portable way.

Very little code actually needed updating to use UTF-16, as the vast majority makes no assumptions about the size of TCHAR, nor how FString should be serialized. The main places were the FString archive serialization and the JSON reader/writer, along with some minor fixes to the UTF-8 conversion logic for platforms using a 4-byte TCHAR.

Tests have been added to verify that an FString representing a UTF-32 code point can be losslessly converted to/from UTF-8 and UTF-16, and serialized to/from an archive.

#jira
#rb Steve.Robb, Josh.Adams


#ROBOMERGE-SOURCE: CL 8676728 via CL 8687863
#ROBOMERGE-BOT: (v421-8677696)

[CL 8688048 by jamie dale in Main branch]
2019-09-16 05:44:11 -04:00
john barrett
6c613b7843 Added Linux FSocketUnix socket, with RecvMulti function for receiving multiple packets in one call - and SetRetrieveTimestamp, for receiving packet timestamp data from the operating system.
#rb Ryan.Gerleve
[FYI] Ryan.Gerleve, Bart.Hawthorne, Jake.Leonard


#ROBOMERGE-SOURCE: CL 8501844 via CL 8502107
#ROBOMERGE-BOT: (v406-8472469)

[CL 8509142 by john barrett in Main branch]
2019-09-05 15:40:37 -04:00
arciel rekman
8d5482a397 Add UnrealInsights support for Linux (UE-79574)
#jira UE-79574
[CODEREVIEW] Martin.Ridgers, Ionut.Matasaru, Will.Damon
#rb Martin.Ridgers, Ionut.Matasaru
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 8372896 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v406-8472469)

[CL 8497732 by arciel rekman in Main branch]
2019-09-04 15:29:27 -04:00
Ben Marsh
beb4519169 Rename EBuildConfigurations::Type to EBuildConfiguration.
#rb none

[CL 7937697 by Ben Marsh in Dev-Build branch]
2019-08-09 17:35:36 -04:00
brandon schaefer
780f0bc3de Add FPlatformMisc::GetPlatformChunkInstall() to Linux
#jira UE-69256
#rb none

#ROBOMERGE-SOURCE: CL 7633907 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v372-7473910)

[CL 7633908 by brandon schaefer in Main branch]
2019-07-26 10:56:02 -04:00