Commit Graph

91 Commits

Author SHA1 Message Date
joe conley
bbb40f7c7f Disable All_Android_On_ComputerName from showing up for MagicLeap/Lumin/Phaedra.
#jira UE-60389 "Lumin - Need to switch the *Phaedra* launch on option "All_Android_On..." to a single "All_Phaedra_On..." with no expandable options"

(Proper change to the name requires changing IniPlatformName() for LuminTargetPlatform, but that is used in several other places in the code, and I'm not sure if there will be other impacts, so just disabling that menu for now. Main concern was it just being confusing saying "Android", so it no being there at all for 4.20 should be fine.)

#rb Nick.Whiting

#ROBOMERGE-SOURCE: CL 4156370 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)
#ROBOMERGE-AUTHOR: joe.conley

[CL 4156372 by joe conley in Staging-4.20 branch]
2018-06-22 15:44:47 -04:00
bogdan vasilache
bb7e8e560a #ROBOMERGE-AUTHOR: bogdan.vasilache
UE-57505 - Crash launching ES31 app on Android
The shader platform is now read from GConfig instead of using the (cached) out of date internal data.
#rb Jack.Porter
#jira UE-57505

#ROBOMERGE-SOURCE: CL 4120444 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)

[CL 4122751 by bogdan vasilache in Staging-4.20 branch]
2018-06-11 13:15:16 -04:00
cosmin sulea
378a24796d #ROBOMERGE-AUTHOR: cosmin.sulea
UE-58371 - Various actions utilizing Cook by the Book for certain platforms crash the editor
#jira UE-58371
#rb Jack.Porter

#ROBOMERGE-SOURCE: CL 4119481 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)

[CL 4119483 by cosmin sulea in Staging-4.20 branch]
2018-06-08 05:23:11 -04:00
Mike Beach
9c1629fae7 Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755)
#lockdown Nick.Penwarden

============================
  MAJOR FEATURES & CHANGES
============================

Change 3873313 by Nick.Atamas

	Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a

	Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789
	//UE4/Partner-Google-VR/Engine/...
	to //Tasks/UE4/Dev-VR-4.19a/Engine/...

Change 3873330 by Nick.Atamas

	Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a

	Merging CL 3777058
	//UE4/Partner-Google-VR/Engine/...
	to //Tasks/UE4/Dev-VR-4.19a/Engine/...

	and fixing up QAARApp to work with latest ARCore changes.

Change 3873791 by Nick.Atamas

	Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS.

Change 3933769 by Keli.Hlodversson

	Remove unused IStereoRendering::GetCustomPresent
	#jira UEVR-1083

Change 3935219 by Nick.Atamas

	QAARApp re-write.

Change 3935664 by Mike.Beach

	Oculus SI 1.23 changes

Change 3941505 by Joe.Graf

	Made the send & recv buffer sizes for the BackChannel plugin configurable
	Added send & recv counters for tracking the amount of transmission data

Change 3944003 by Joe.Graf

	Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac

Change 3945189 by Douglas.Copeland

	Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings

Change 3945245 by Douglas.Copeland

	Resaving QA_MeshTypes asset to resolve warnings produced by missing info

Change 3945266 by Douglas.Copeland

	Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings

Change 3947785 by Mike.Beach

	Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc.

Change 3951763 by Joe.Graf

	Fixed thread ordering bug with remote session frame compression

Change 3952242 by Joe.Graf

	Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle

Change 3954571 by Keli.Hlodversson

	* Add FXRRenderBridge base class containing common code from different CustomPresent implementations.
	* Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding  GetActiveRenderBridge_GameThread.
	** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.)
	* Remove unused member variable ViewportRHI from RHICustomPresent.

	#jira UEVR-1081

Change 3954572 by Keli.Hlodversson

	* Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin
	* Move duplicated methods into an already existing BridgeBaseImpl class
	#jira UEVR-592

Change 3954573 by Keli.Hlodversson

	* Apply XRRenderBridge refactor to Oculus plugin
	#jira UEVR-590

Change 3954575 by Keli.Hlodversson

	* Apply XRRenderBridge refactor to OSVR
	#jira UEVR-595

Change 3954578 by Keli.Hlodversson

	* Apply XRRenderBridge refactor to GoogleVR
	#jira UEVR-594

Change 3954596 by Keli.Hlodversson

	Add file missing from cl#3954572

Change 3957882 by Jeff.Fisher

	UEVR-1100 bLockToHmd false doesn't work correctly
	-CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame.  DefaultXRCamera checks that flag before applying the late upate to the camera.
	#jira UEVR-1100
	#review-3956168

Change 3957945 by Jeff.Fisher

	Fix for Oculus begin/end frame problem after XRRenderBridge refactor.
	-The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called.  NextFrameToRender is the same value, but has a long enough lifetime.
	#review-3957897

Change 3958760 by Dongsik.Seo

	Adding UseCameraRotation feature to StereoPanorama plug-in.
	To enable this feature, use console command
	SP.UseCameraRotation 7
	Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll
	7 means all axis (1+2+4)
	#review-3958756 @Joe.Conley

Change 3959347 by Douglas.Copeland

	Fixing spelling errors in test displays

Change 3964331 by Jason.Bestimt

	Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046

	GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix:

	Fixed the crash in Acquire/Release UGoogleARCorePointCloud.
	Fixed the issue that multiple line trace channel doesn't work correctly.
	Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1
	Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space.

Change 3967485 by Ryan.Vance

	Removed the exlude rect, we want to clear stencil on the entire surface.

Change 3968028 by Zak.Parrish

	Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19.

Change 3968114 by Zak.Parrish

	Adding in the new version of FaceARSample from Release-4.19 #rb none

Change 3978381 by Mike.Beach

	Mirroring CL 3969503 from 4.19

	Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread).

	#jira UE-55445

Change 3981160 by Joe.Graf

	Merged the BackChannel unit test fix over from Owl

Change 3981705 by Mike.Beach

	[WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor).

	#jira UE-55220

Change 3981898 by Joe.Graf

	Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF
	Added a Blueprint latent action to perform the conversion in the background

Change 3981910 by Joe.Graf

	WIP AR texture support so that other systems can interact with the camera data

Change 3982102 by Joe.Graf

	Pull request: Update CMakefileGenerator.cs for CLion
	Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions

	#jira: UE-57103

	GitHub #4619

Change 3982883 by Joe.Graf

	Added a CLionGenerator for consistency
	Fixed editor preferred source code accessor parsing in the project file generator
	Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor

	#jira UE-54801

Change 3983687 by Joe.Graf

	Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error

Change 3984325 by Jeff.Fisher

	UEVR-1141 PSVR - fix morpheus on pc render target scaling
	-Hard coding the target size. Perhaps the old method broke with the pixel density change.
	#review-3983261

Change 3984563 by Joe.Graf

	Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3

Change 3985213 by Zak.Parrish

	Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none

Change 3985577 by Joe.Graf

	WIP support for the Apple Vision API to perform computer vision tasks on images

Change 3985654 by Joe.Graf

	Fixed missing forward declaration hidden by unity files

Change 3990596 by Mike.Beach

	Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space.

	#jira UE-55220

Change 3990788 by Mike.Beach

	Attempted CIS fix (fallout from CL 3990596)

Change 3990824 by Ryan.Vance

	Re-submitting 4.19.1 hotfox 3968537

Change 3995804 by Jeff.Fisher

	Merging cl 3995785
	//UE4/Dev-VR-Seal/Engine/Source/...
	to //UE4/Dev-VR/Engine/Source/...

	UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior
	-Fixing late update when no camera component is in use.
	-The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update.  This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time.  We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame.
	#review-3995764

Change 3999842 by Nick.Whiting

	Exposing Apple ARKit function library as public for our buddies down under.

Change 4005541 by Joe.Graf

	UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1

	#jira UE-57541

Change 4006308 by Jason.Bestimt

	#DEV_VR - Hopeful fix for possible unity issue

Change 4006543 by Joe.Graf

	Added code to be more correct on setting face blendshapes

Change 4007508 by Jason.Bestimt

	#LUMIN - Adjusting automation tests.
	- Moved QA specific content test into QA Game
	- Wrapped controller not found to only happen on device

Change 4007515 by Jason.Bestimt

	#LUMIN - Disabling privilege warning except on device

Change 4007552 by Jason.Bestimt

	#LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE

Change 4008585 by Joe.Graf

	Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink

	#jira: UE-57830

Change 4008604 by Mike.Beach

	MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material).

	#jira UEVR-1153

Change 4009396 by Jason.Bestimt

	#DEV-VR - Removing warning about stat on different threads (CL 4009124)

Change 4009514 by Joe.Graf

	Added a weighted moving average method to the modify curve anim node

Change 4010125 by Jason.Bestimt

	#DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR

Change 4010434 by Jason.Bestimt

	#DEV-VR - Fix for Lumin Haptic Test include

Change 4010945 by Jeff.Fisher

	QAHapticTests build fix
	-removed unused bad include

Change 4011002 by Nick.Atamas

	Fixed Android compilation.

Change 4011220 by Nick.Atamas

	- Adding visualization for boundary polygons.
	 - Adding support for vertical planes.

Change 4011298 by Mike.Beach

	MR - Revamping the VideoProcessing/ChromaKeying material so that it:
	  1) Better extracts luminance from the image
	  2) Utilizes despill to remove chroma bleed from the scene
	  3) Leverages the generated despill mask to add back in a faux bounce

	#jira UEVR-1153

Change 4011858 by Keli.Hlodversson

	Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module
	Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.)
	-- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed.

	#jira UE-57380

Change 4011956 by Keli.Hlodversson

	Fix missing includes after CL#4011858

Change 4012096 by Joe.Graf

	Disabled building AppleVision on Mac until there's a good solution for older Mac OSes

Change 4012294 by Jason.Bestimt

	#DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module.  Hopefully, this will fix the generated files not being found

Change 4012390 by Jason.Bestimt

	#DEV-VR - Misc fixes for static code analysis issues

	- Guards around GEngine usage
	- Fix from Rolando for uint32 -> uint64 + shifting warning
	- Redundant if checks

Change 4013426 by Jason.Bestimt

	#DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit

	#JIRA: UE-57960

Change 4014661 by Ryan.Vance

	Initial support for omni-directional stereo captures.
	https://developers.google.com/vr/jump/rendering-ods-content.pdf

Change 4015561 by Jason.Bestimt

	#DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue

Change 4016202 by Jason.Bestimt

	#DEV-VR - Integrated CL 2685 from Seal depot

	#JIRA: UEVR-1157

Change 4016448 by Jason.Bestimt

	#DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK

Change 4016457 by Ryan.Vance

	#jira UE-58018

	Cleaning up compiler errors/warnings.

Change 4017246 by Jason.Bestimt

	#DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread

	#JIRA: UE-58043

Change 4018571 by Joe.Graf

	Added a remapping of curve values in a range to the modify curve anim node

Change 4018991 by Joe.Graf

	Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on

	#jira: UE-57999

Change 4019068 by Joe.Graf

	Changed how Apple Vision support is enabled in code

	#jira: UE-57552

Change 4019194 by Joe.Graf

	Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1"

Change 4019648 by Keli.Hlodversson

	Work around build failures caused by missing virtual destructor warnings.

	Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.)

Change 4019871 by Joe.Graf

	Changed the __IPHONE_11_3 to the raw numeric value

Change 4020121 by Keli.Hlodversson

	Fix parameter types to match header declarations.

Change 4020127 by Keli.Hlodversson

	Remove dllimport/export macros from cpp file.

Change 4020621 by Joe.Graf

	Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check

Change 4020910 by Joe.Graf

	Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version

Change 4020952 by Joe.Graf

	Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit

Change 4021116 by Jason.Bestimt

	#DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform

Change 4021320 by Joe.Graf

	Fixed warnings resulting from unity builds hiding them

Change 4021738 by Chad.Garyet

	- adding lumin filters
	- changing defaults for platforms back to true, this was brought over erroneously.
	#jira none

	#ROBOMERGE: Dogma, Nightlies

Change 4021898 by Chad.Garyet

	added missing bits from the ue4main script
	#jira none

	#ROBOMERGE: Dogma, Nightlies

Change 4022583 by Joe.Graf

	Added functions for checking ARKit version availability at runtime

Change 4022610 by Joe.Graf

	Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes

Change 4022616 by Joe.Graf

	Added support for enabling the ARKit 1.5 autofocus setting

Change 4022650 by Joe.Graf

	Defaulted autofocus for AR to on

Change 4023026 by Joe.Graf

	Changed the ARKit video overlay to use the new availability api

Change 4023124 by Joe.Graf

	Switched another version check in the ARKit overlay code to use the faster version

Change 4023489 by Ethan.Geller

	[Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt

Change 4023995 by Nick.Atamas

	Properly deprecated the bitfield for plane detection mode.

	#jira UE-57842

Change 4024992 by Jason.Bestimt

	#DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin

Change 4025702 by Jason.Bestimt

	#DEV-VR - Fix for loading ML libraries even when the MLSDK is not present

	#JIRA: UE-58033

Change 4026639 by Mike.Beach

	Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset.

	#jira UE-58001

Change 4026949 by Mike.Beach

	MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component...
	  - Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly)
	  - Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion
	  - Adding CVar commands to enable/disable pieces of the undistortion
	  - Changing the default undistortion cropping to be uncropped
	  - Removing the need for the 'EnableMapping' material parameter

	#jira UE-55195

Change 4027147 by Jason.Bestimt

	#DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread)

	#JIRA: UE-58043

Change 4027301 by Mike.Beach

	Updating the MRCalibration project's ini so it doesn't error on packaging.

Change 4027469 by Mike.Beach

	MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it.

Change 4027957 by Mike.Beach

	As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework.

	#jira UE-57782

Change 4029182 by Keli.Hlodversson

	Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread.

	#jira UE-58079

Change 4029687 by Dragan.Jerosimovic

	Boy rig and pose asset mb files, maps and masks

Change 4030059 by Mike.Beach

	As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework.

	#jira UE-57782

Change 4030296 by Charles.Egenbacher

	#LUMIN Copying from Dev-Incoming-Staging to Dev-VR

Change 4030593 by Jason.Bestimt

	#DEV-VR - Merging olaf test maps to Dev-VR

Change 4031042 by Keli.Hlodversson

	Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread.
	#jira UE-58239

Change 4031046 by Keli.Hlodversson

	Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread
	#jira UE-58238

Change 4032593 by Mike.Beach

	As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration.

	#jira UE-57782

Change 4033911 by Jason.Bestimt

	#DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc)

Change 4034087 by Mike.Beach

	Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin.

	#jira UE-57782

Change 4034253 by Joe.Graf

	Made the Apple Vision plugin use version checking consistent with ARKit

Change 4034543 by Joe.Graf

	Added availability checks for the Apple Image Utils plugin similar to ARKit

	#jira: UE-57541

Change 4034548 by Joe.Graf

	Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0

Change 4034577 by Jason.Bestimt

	#DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black)

Change 4034605 by zak.parrish

	Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none

Change 4034686 by Jason.Bestimt

	#DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11

	#JIRA: UE-58046

Change 4034799 by Joe.Graf

	Added base types for detecting images in a AR session

Change 4034820 by Joe.Graf

	Added a friendly name to UARCandidateImage objects

Change 4035010 by Joe.Graf

	Added support for handling ARImageAnchor notifications from ARKit

Change 4035355 by Mike.Beach

	[WIP] MR - Renaming some classes to reflect the plugin's new name.

	#jira UE-57782

Change 4035464 by Joe.Graf

	Added orientation to the ARCandidateImage object to pass to the detection system

Change 4035524 by Mike.Beach

	[WIP] MR - More renaming of some classes to better match the plugin's new name.

	#jira UE-57782

Change 4035606 by Mike.Beach

	[WIP] MR - More renaming of some classes to better match the plugin's new name.

	#jira UE-57782

Change 4035918 by Mike.Beach

	[WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name.

	#jira UE-57782

Change 4035976 by Mike.Beach

	[WIP] MR - Renaming some more files and classes to better match the MRC framework's new name.

	#jira UE-57782

Change 4036044 by Ryan.Vance

	#jira UEVR-377

	Adding support for ISR Translucency.

Change 4036069 by Ryan.Vance

	We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views.

Change 4036073 by Chance.Ivey

	Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none

Change 4036307 by Mike.Beach

	[WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name.

	#jira UE-57782

Change 4036314 by Mike.Beach

	[WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name.

	#jira UE-57782

Change 4036319 by Charles.Egenbacher

	#LUMIN this is an out-of-date version of the lumin sample. Nuking.

Change 4036396 by Charles.Egenbacher

	#LUMIN Adding the up to date version of the LuminSample.

Change 4036485 by Sorin.Gradinaru

	UE-57773 Disable Thermals Message

	#4.20
	#iOS

	Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds.

Change 4036695 by Jason.Bestimt

	#DEV-VR - Adding Lumin case to PrecompileTargetType check

Change 4037110 by Jason.Bestimt

	#DEV-VR - Extra deprecated macro guards around HarfBuzz includes

	#JIRA: UE-58046

Change 4037443 by Jason.Bestimt

	#DEV-VR - Merging CL 4028003 from Partners-Google

Change 4037490 by Jason.Bestimt

	#DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding)

Change 4037691 by Jason.Bestimt

	#DEV-VR - Swapping order of comparrison operator to deal with const error

Change 4037892 by Joe.Graf

	Added UTexture2D to CGImage conversion in Apple Image Utils plugin

Change 4037894 by Joe.Graf

	Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system

Change 4037901 by Joe.Graf

	Added support for configuring which images you'd like detected during a AR session

Change 4037906 by Jason.Bestimt

	#DEV-VR - Fixing buckled logic for =operator (derp)

Change 4038293 by Mike.Beach

	[WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin.

	#jira UE-57782

Change 4038403 by Joe.Graf

	Added the name from the candidate image when creating the Apple side representation

Change 4038488 by Mike.Beach

	[WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now.

	#jira UE-57782

Change 4038776 by Chance.Ivey

	Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting

Change 4038877 by Mike.Beach

	[WIP] MR - Renaming assets to better match the new plugin name.

	#jira UE-57782

Change 4039097 by Joe.Graf

	Fixed the public include path warnings in the Apple* plugins I added

Change 4039106 by Joe.Graf

	Worked around a bad compile time assert that blocked valid FString::Printf debug code

Change 4039209 by Jeff.Fisher

	Fixing one build script paths

Change 4039275 by Jeff.Fisher

	More include path fixes.

Change 4039415 by Joe.Graf

	Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device

Change 4039471 by Joe.Graf

	Added a file I missed when adding to the remote session plugin

Change 4039473 by Joe.Graf

	#ifdef-ed some code out until the linkage can be fixed

Change 4040249 by Mike.Beach

	[WIP] MR - Moving some more asset files that aren't needed for the MRC plugin

	#jira UE-57782

Change 4040365 by Mike.Beach

	Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project).

	#jira UE-57782

Change 4040455 by Mike.Beach

	Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin.

	#jira UE-57782

Change 4041404 by Mike.Beach

	Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected.

Change 4041406 by Mike.Beach

	MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users.

	#jira UE-57782

Change 4042110 by Jason.Bestimt

	#DEV-VR - Stopping spew for ML eye tracking when not on platform

	#JIRA: UE-58365

Change 4042407 by Joe.Graf

	Disabled HEIF compression on Mac

	#jira: UE-58479

Change 4042727 by Jason.Bestimt

	#DEV-VR - Fix for Android compiling without version 24

Change 4042861 by Olaf.Piesche

	#jira UE-57784

Change 4043105 by Mike.Beach

	Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion.

	#jira UE-58389

Change 4043120 by Mike.Beach

	MR - Loading the base save data, even if we're unable to fully construct the original save object class.

	#jira UE-58389

Change 4043401 by Mike.Beach

	New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25.

	#jira UEVR-1143

Change 4043424 by Mike.Beach

	Oculus SI 1.24/1.25 - Engine rendering changes

	#jira UEVR-1143

Change 4043495 by Mike.Beach

	CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes.

	#jira UEVR-1143

Change 4043642 by Zak.Parrish

	Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none

Change 4045638 by Zak.Parrish

	Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff.

Change 4046003 by Jason.Bestimt

	#DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample

	bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files

	#JIRA: UE-58523

Change 4046548 by Jules.Blok

	Fix SetInstancedEyeIndex() ignoring the left eye.

	#jira UE-54044

Change 4046859 by zak.parrish

	Checking in the new rig from 3Lateral - this prevents the eyelashes from separating

Change 4047060 by Nick.Whiting

	Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading.

	#jira UEVR-1192

Change 4047667 by Mike.Beach

	CIS fix - removing uneeded line from bad merge.

Change 4047673 by Mike.Beach

	More CIS fixes for fallout from recent rendering merge.

Change 4048227 by Rolando.Caloca

	VR - vk - Some Vulkan merge conflicts resolved

Change 4048421 by Jason.Bestimt

	#DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call

Change 4048423 by Jason.Bestimt

	#DEV-VR - Fixing mediandk version check

Change 4048452 by Rolando.Caloca

	VR - Merge fix

Change 4048530 by Rolando.Caloca

	VR - Merge fix

Change 4048607 by Jason.Bestimt

	#DEV-VR - Probable repair of Mr Mesh post merge

Change 4048794 by Rolando.Caloca

	VK - Fix mobile from merge

Change 4048972 by Jeff.Fisher

	Fixing MeshReconstructor merge problems.

Change 4049969 by Ryan.Vance

	Fixing missing shader assert.

Change 4050831 by Ryan.Vance

	Merge clean up. This is still needed to build w/ vulkan on Lumin.

Change 4050854 by Ryan.Vance

	Merge clean up.
	We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround.

Change 4051495 by Jason.Bestimt

	#DEV-VR - Adding Android, Quail, Linux vulkan include clauses

Change 4052528 by Zak.Parrish

	Changing defaultEngine.ini for the higher res version of Gremlin

Change 4052880 by Ryan.Vance

	Merge clean up.
	Now with more Lumin

	#jira UE-58645

Change 4052991 by zak.parrish

	Update to FaceTrackingMap2 for proper camera positioning

Change 4053139 by Nick.Whiting

	Fixing Lumin Vulkan platform header

Change 4053352 by Mike.Beach

	On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR).

	#jira UE-57991

Change 4053644 by Nick.Whiting

	Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN

Change 4054329 by Jason.Bestimt

	#DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset

	#JIRA: UE-58689

Change 4054785 by Mike.Beach

	Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs.

Change 4055466 by Jules.Blok

	Suppress SteamVR submission errors after they've been logged once.

Change 4055500 by Jason.Bestimt

	#DEV-VR - MrMeshComponent fix for unsupported pixel format

	#JIRA: UE-58759

Change 4055761 by Ryan.Vance

	#jira UE-58729

	There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup.

Change 4056008 by Mike.Beach

	Fixing bad merge from Main.

Change 4056616 by Nick.Whiting

	Changing UBT configs to use Lumin-specific config files

	#jira UE-58760

Change 4056969 by Keli.Hlodversson

	MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker

	#jira  UE-58191


Change 4057356 by Jason.Bestimt

	#DEV-VR - Guard around JNI function for Lumin

Change 4059353 by Nick.Whiting

	Fix for shadow variable warnings on Linux

	#jira UE-58843

Change 4060158 by Rolando.Caloca

	DVR - vk - Temporarily add backbuffer delay/extra copy blit on android

	#jira UE-58859

Change 4060432 by Mike.Beach

	Fix for shadow variable warnings on Linux

	#jira UE-58843

Change 4060520 by Rolando.Caloca

	VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0
	- Restore Android to not delay

	#jira UE-58859

Change 4060587 by Nick.Whiting

	Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings

	#jira UE-58762

Change 4061277 by Jeff.Fisher

	UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain.
	-Overriding HasAnySDK to setup the MLSDK.

Change 4061308 by Jason.Bestimt

	#DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in

	#JIRA: UE-58864

Change 4062111 by Ryan.Vance

	#jira UE-58875

	Fixing audio compilation failure.

Change 4064091 by Jason.Bestimt

	#DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off

	#JIRA: UE-58954

Change 4064554 by Jason.Bestimt

	#DEV-VR - Removing ML haptic tests when not on the platform

	#JIRA: UE-58966

Change 4064755 by Jeff.Fisher

	UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist.
	-Removed linux from magicleap plugin whitelists, we have no sdk for linux.
	#review-4064614

	#jira UE-58970

[CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
Jack Porter
fa01e8b4b6 Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 4047413)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3795481 by Nick.Shin

	HTML5 - disable SupportsScreenPercentage() - render the full screen

	otherwise, this is causing HTML5 screen to only render a portion of the screen and in black...
	- there may be another function is that not getting fired off "to render the screen" properly
	- this may be due to IsMobileHDR checks that are not fully accounted for the HTML5 platform

	#jira UE-52640  HTML5 only renders a black rectangle in the browser when launched

Change 3807007 by Nick.Shin

	HTML5 - remove webgl1 only precompile guards (UE4_HTML5_TARGET_WEBGL2)

	toolchain can "fallback" to webgl1 -- webgl2 functions in UE4 code are "if checked"/configured/setup at start up

	#jira UE-51267 WebGL1 fails to compile

Change 3822593 by Nick.Shin

	#jira UE-27141  Remove all #if PLATFORM_HTML5 from high level code

Change 3823512 by Nick.Shin

	#jira UE-27141  Remove all #if PLATFORM_HTML5 from high level code

Change 3824639 by Nick.Shin

	HTML5 - OSX - RunMacHTML5LaunchHelper.command

	- more helpful warning messages

	#jira UE-49861  A copied RunMacHTML5LaunchHelper.command gives unspecific Mono error

Change 3829092 by Josh.Adams

	- Updated UnrealRemote to 1.4.1

Change 3832708 by Chris.Babcock

	Allow UE4Commandline.txt in APK
	#jira
	#ue4
	#android

Change 3835867 by Nick.Shin

	HTML5 - code cleanup

	origial work was for: UE-27141 (Remove all #if PLATFORM_HTML5 from high level code)

	this exposed an issue that i totally forgot about (.../Engine/Source/Developer/... only does builds tools -- which does not make use of PLATFORM_XXX preprocessor)

	tested with HTML5 builds with QAGame project :: TM-ShaderModels map

	#jira UE-53524  UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning

Change 3839967 by Mi.Wang

	Override MaxObjectInGame on Android to save ~30M with the ObjectArray size.
	#Android

Change 3842022 by Mi.Wang

	Fix an AssetRegistry size calculation bug.

Change 3843552 by Sorin.Gradinaru

	UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled

	#4.19
	#Android
	#jira UE-54139

	S8 on 7.0 is not hiding suggestions and disabling predictive input.  There are cases with this that can cause a crash.

	Fix:  On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)

Change 3844210 by Nick.Shin

	HTML5 - filter out "windows/super" keys - these are not used in UE4

	- but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead...

	#jira UE-54056  HTML5 crashes inside browser upon pressing windows key

Change 3844874 by Nick.Shin

	HTML5 - detect "SyntaxError: " and do a forced reload

	- an actual syntax error would be caught during compile time
	- this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page

	#jira UE-54017  QAGame fails to launch properly on HTML5 Firefox 64 bit

Change 3846695 by Nick.Shin

	#jira UE-53524  UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning

Change 3847309 by Nick.Shin

	HTML5 - (not to) show virtual joystick

	- virtual joysticks are not shown by default-- and the mouse not captured
	- this now behaves like the win64 client version

	#jira UE-33854  Virtual Joysticks In HTML5 if Mobile/Tablet Project is chosen

Change 3847310 by Nick.Shin

	HTML5 - set controller axis and button max value in code instead of relying on emscripten_get_gamepad_status()

	- seems emscripten might be uninitialized by the time controlers are used...

	#jira UE-28513 - Using a controller in HTML5 causes error

Change 3850606 by Nick.Shin

	HTML5 - more static warning fix ups

	#jira UE-53524  UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning

Change 3850624 by Nick.Shin

	HTML5 - tell user/developer to show unsupported WebGL browsers on old hardware -- will need to try another browser

	note: using following jira to track progress:
	#jira UE-47066  Packaged HTML 5 Map Prompts for Firefox Update in Chrome

Change 3855610 by Sorin.Gradinaru

	UE-49173 Progress bar causes black screen on iOS

	#iOS
	#4.20
	#jira UE-49173

	The bug occurs on iOS with Metal, when the last Slate element to be draw in the scene is a ScrollBar with progress between 0 and 1.
	As a workaround, adding another widget (eg. button, image) in the Blueprint solves the problem.
	The bug can be reproduced by adding OutDrawElements.PushClip & OutDrawElements.PopClip in any SWidget::OnPaint.

	The solution is to disable the scissor
			RHICmdList.SetScissorRect(false, 0, 0, 0, 0);
	in FSlateRHIRenderingPolicy::DrawElements after the batch rendering

Change 3855652 by Sorin.Gradinaru

	iOS 3D browser

	UE-53248 Web Browser on a Widget Component is 2D when launching on to iOS

	#jira UE-53248
	#iOS
	#4.20

	Uses the same WebTexture from the WebBrowser plugin as the Android version.
	+ Code contributed by Juan.Belon from Alea S.r.l  at https://udn.unrealengine.com/questions/390166/3d-world-space-widget-is-being-rendered-in-screen.html

Change 3856174 by Nick.Shin

	HTML5 - python forking will still error while trying to terminate already terminated processes

	- added same "WindowsError code 5" handler found in subprocess.py

	#jira UE-51618  HTML5 fails to build, [Error 5] Access is denied

Change 3863322 by Sorin.Gradinaru

	UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format

	#jira UE-54317
	#Android
	#4.19

Change 3878088 by Nick.Shin

	UEMOB-425 superceeds this jira

	#jira UE-25257  Mac HTML5 project crashes upon downloading expression HasFoundDataDirectory failed

Change 3884560 by Jack.Porter

	Fix logspam in FAVMoviePlayer
	#jira UE-54760

Change 3886533 by Mi.Wang

	Fix a potential crash that the VirtualKeyboardWidget has been hide while trying to use in gamethread.

Change 3889081 by Sorin.Gradinaru

	UE-54490 Android Startup Movie audio still playing when app paused, and after app resumed the movie is blackscreen until engine ticked.

	#Android
	#4.20
	#jira UE-54490

	Call ForceCompletion for the intial movie player on onPause.
	Call App Restart on Resume.

	Programmatically restarting an Android application basically consists in killing the current app, then using the launch intent as parameter for startActivity.

	This can be done only in onResume , which means that the movie player still has to be manually paused/stopped in onPause.
	I╞ve tried to kill the activity on onPause, tested on several devices, with various problems: the app doesn╞t restart anymore (onResume is not called) or the app is automatically sent to background (seems to be crashing when using the multitasking soft key).

Change 3890320 by Chris.Babcock

	Fix initializer ordering
	#jira UE-55189
	#ue4

Change 3958226 by Nick.Shin

	HTML5 disable memory poison tests

	and fix a bug during Realloc() // for Linux... and in turn for HTML5

	#jria none

Change 3958250 by Nick.Shin

	HTML5 - FText::FormatStr - skip if multi-threading not supported

	#jira none

Change 3968328 by Nick.Shin

	HTML5 CORS fixes

	still need datarouter.ol.epicgames.com fixes to completely solve these issues. (API server own estimates no later than mid-April)

	note: the following are all related:

	+ answerhub 756723 - HTML5 CORS / Access-Control-Allow-Headers
	+ answerhub 756942 - HTML5 CORS Issue to my Hosts API / Hosted Server
	+ UE-22285 - Session events are not generated for HTML5
	+ UE-19330 - HTML5 Analytics cross-origin request blocked header Access-Control-Allow-Origin missing

	#jira UE-19330

Change 3971405 by Nick.Shin

	HTML5 suppress double printing to console.log

	#jira none

Change 3978767 by Nick.Shin

	HTML5 CORS fixes

	note: the following are all related:

	+ answerhub 756723 - HTML5 CORS / Access-Control-Allow-Headers
	+ answerhub 756942 - HTML5 CORS Issue to my Hosts API / Hosted Server
	+ UE-22285 - Session events are not generated for HTML5
	+ UE-19330 - HTML5 Analytics cross-origin request blocked header Access-Control-Allow-Origin missing

	tested (against datarouter.ol.epicgames.com fixes) and found to be functional

	#jira UE-22285

Change 3981103 by Nick.Shin

	HTML5 - num pad keys crashes project

	match latest Engine/Source/Runtime/InputCore/Private/Linux/LinuxPlatformInput.cpp to HTML5PlatformInput.cpp
	also fix a HUD crash...

	#jira UE-54056  HTML5 crashes inside browser upon pressing windows key

Change 3983424 by Sorin.Gradinaru

	UE-57107 Attempting to load a streamed media source causes the app to become unresponsive when device is not connected to internet

	#jira UE-57107
	#Android
	#4.20

	The ANR is because the android.media.MediaExtractor.setDataSource(UrlPath) calls an underlying api which retries the download (10-30 times).

	Additional issue (all platforms): the MediaFrameworkTest/StreamSource_Infiltrator souce seems to have been removed (no longer at https://docs.unrealengine.com/latest/attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4). According to the docs (https://docs.unrealengine.com/en-US/Engine/MediaFramework/HowTo/StreamMediaSource) the new location of the Sample Video is at https://dnnrz1gqa.blob.core.windows.net/portals/attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4?sr=b&si=DNNFileManagerPolicy&sig=F%2BBpnYueeQTUTSW0nCRSrXEfr35LIawe7C3MQoe2%2FPI%3D

Change 3985248 by Nick.Shin

	HTML5 game window size

	add project setting drop down box to select canvas scaling mode

	#jira UE-46555  HTML5 game window does not scale with browser size

Change 3986190 by Sorin.Gradinaru

	UE-56076  Android Launch On "Running..." toast intermittently doesn't appear

	#jira UE-56076
	#Android
	#4.10

	When cancelling Launch on Device, always call CancelContinuations for the current task

Change 3986412 by Nick.Shin

	CIS error fix
	#jira none

Change 3987007 by Nick.Shin

	HTML5 fullscreen size fix

	- when using FIXED scale mode initially, there's some strange padding margins
	- but, setting UE4_fullscreenScaleMode to anything "but FIXED scale mode" will work...

	#jira UE-46555  HTML5 game window does not scale with browser size

Change 3988408 by Nick.Shin

	HTML5 call EndSession() onbeforeunload()

	? should PreExit() be called instead?

	#jira UE-57207  Session End event is not generated for HTML5

Change 3991828 by Nick.Shin

	HTML5 shipping build crash

	some FVector2D needs ContainsNaN() checks

	#jira UE-57401  Projects packaged for Shipping HTML5 do not launch the engine in the browser

Change 3992884 by Nick.Shin

	HTML5 call EndSession() onbeforeunload() code cleanup

	#jira UE-57207  Session End event is not generated for HTML5

Change 3992887 by Nick.Shin

	datarouter: Session events code cleanup

	#jira UE-22285 - Session events are not generated for HTML5

Change 4002603 by Sorin.Gradinaru

	UE-56177 Unplugging a device while launching onto it from a source build will result in the "Running..." toast staying open

	#jira UE-56177
	#Android
	#iOS
	#4.10

	Using the device discovery to signal when the running device gets disconnected

Change 4007162 by Dmitriy.Dyomin

	Merging using Dev-Mobile->FortMain
	Added ObjectOrientation material node for decals, returns decal projection direction ( X-axis)
	#jira none

Change 4012196 by Sorin.Gradinaru

	UE-57120 Lighting needs to be rebuilt error appears on Camera test app on Nexus 9 and Note 4.

	#jira UE-57120
	#Android
	#4.20

	Level lightings rebuilt and  QA-Media_Camera_BuiltData.uasset added.

	The message appeared (rarely and only on certain devices) because the engine tries to load the pre-computed lightmap data on the render thread, then to add it to the scene on the game thread (in  FPrecomputedVolumetricLightmap::AddToScene).

	Most of the times there is a desync and the data is not yet loaded when the lightmap is validated (in FScene::AddPrecomputedVolumetricLightmap).

Change 4013034 by Sorin.Gradinaru

	UE-55427 iOS application crashes when suspending and resuming the startup movie in rapid succession

	#jira UE-55427
	#iOS
	#4.20

	Caused by ToggleSuspend waiting for FDefaultGameMoviePlayer::WaitForMovieToFinish()

	Renamed InitialMovie to StartupMovie, including the methods related to the  Android platform.

Change 4015449 by Sorin.Gradinaru

	UE-38306 "Running xxx on yyy" panel Cancel button should terminate app

	#jira UE-38306
	#Android
	#4.10

	Run on device: Pressing Cancel on the "Running..." message should stop the application, if running

	Cancel Android builds using "adb shell am force-stop <bundle_id> <device_id>"

	Note: Using a new AutomationTool command (re-starting the Automation tool after canceling the BuildCookRun task chain) is too slow - takes 3-10 sec depending on the PC configuration.

	AutomationTool is used now only to correctly retrieve the bundle id for each Android device. This is done inside the BuildCookRun command when the application is deployed on the device(s). Cannot simply use the current project's properties to retrieve the bundle id, because when using Launch-> Device Launcher, the user can choose to cook&deploy a different project/texture format, also the user can create & use a profile with multiple devices / with different texture formats.

Change 4016057 by Sorin.Gradinaru

	UE-57845 GitHub 4666 : Pull request clipboard on android

	#jira UE-57845
	#4.20
	#Android

	#4666

	https://github.com/EpicGames/UnrealEngine/pull/4666

	Implemented Clipboard function on Android.

Change 4020229 by Sorin.Gradinaru

	UE-57845 GitHub 4666 : Pull request clipboard on android

	#jira UE-57845
	#Android
	#4.20

	GameActivity.java: moving the methods related to clipboard above the native public declarations

Change 4021188 by Sorin.Gradinaru

	UE-57876 Location accuracy is ignored by ULocationServicesIOSImpl

	#jira UE-57876
	#iOS
	#4.30

	In ULocationServicesIOSImpl::InitLocationServices(ELocationAccuracy Accuracy, float UpdateFrequency, float MinDistance) the first param must be converted to CLLocationAccuracy and used as the first param of LocationDelegateinitLocationServices, rather than using the hardcoded kCLLocationAccuracyHundredMeters.

	Also fixed a compilation error (!) when enabling The Location Services plugin on iOS

Change 4024839 by Sorin.Gradinaru

	UE-38306 "Running xxx on yyy" panel Cancel button should terminate app

	#jira UE-38306
	#Android
	#4.10

	Removed unnecessary #include "AndroidTargetDevice.h", causing circular reference =>  nightly build errors

Change 4024962 by Cosmin.Sulea

	UE-56294 - Packaging step fails when packaging project for distribution

	#jira UE-56294

Change 4026122 by Sorin.Gradinaru

	UE-57149 Razer Phone: Crash after Switching Camera Format 22-26 times

	#jira UE-57149
	#Android
	#4.20

	jobject obj = env->GetObjectArrayElement must be followed by env->DeleteLocalRef(obj)

	The bug can probably be reproduced by using a MediaPlayer.

Change 4038185 by Nick.Shin

	HTML5 - merge error fix

	MallocAnsi.cpp was stomped on

	#jira UE-58367  //UE4/Dev-Mobile - Compile UE4Game HTML5 - use of undeclared identifier 'malloc_usable_size'

Change 4039521 by Dmitriy.Dyomin

	Export WorldBrowser API so plugin makers can use it
	#jira UE-57323

Change 4039523 by Dmitriy.Dyomin

	Exposed MobilePatchingLibrary API
	#jira UE-55941

Change 4039526 by Dmitriy.Dyomin

	Fixed: Hierarchy filtering does not work in world composition
	#jira UE-57900

Change 4039529 by Dmitriy.Dyomin

	Fixed: 'Apply Fogging' in Material does not work on Mobile (GitHub 4357)
	#jira UE-53618
	#4357

Change 4039874 by Sorin.Gradinaru

	UEMOB-436 Support "All Android" Launch On and Project Launcher options

	The main change is in the DeviceProxy class.

	A new type ("All devices" proxy) was added, and the proxy now holds a list of physical device IDs for every variant (texture format), instead of a single device ID.

	The "All devices" proxy is updated automatically by the device discovery thread.

	The change was necessary because the list in the Project Launcher is using the device proxy list.

	#jira UEMOB-436
	#Android
	#UE4
	#4.19

Change 4041446 by John.Mauney

	Fix that Chris B made locally on my machine
	#jira UE-58420

Change 4041791 by Jack.Porter

	Fix CIS incremental UE4Editor Win64

	#jira 0

[CL 4047603 by Jack Porter in Main branch]
2018-05-02 22:53:38 -04:00
Marcus Wassmer
25eed01c13 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4041614)
#lockdown Nick.Penwarden

============================
  MAJOR FEATURES & CHANGES
============================

Change 3774677 by Arne.Schober

	DR - Deprecated SetLocal from the RHICmdlist
	Fixed some unnecessary PSO collisions.

Change 3809579 by Chris.Bunner

	Back out changelist 3774677.

	#jira UE-53483

Change 3810363 by Mark.Satterthwaite

	More random fixes to mtlpp: most important is the extension to Buffer that allows creation of sub-buffers that are merely views onto a sub-range of the parent. These sub-buffers are valid to use throughout the mtlpp API with two exceptions: they may not be used for visibilityResultsBuffers and Set*BufferOffset functions cannot take this offset into account (as the encoder does not hold onto the buffers and I don't want it to). In the case of Set*BufferOffset the caller has to know what is going on and in the case of visibilityResultsBuffers it'll just assert as it isn't sensible.

	This makes it *much* easier to do things like sub-buffer allocation, though the caller must be aware of the alignment restrictions of their intended usage as they are not possible to enforce. For example, a call to SetVertexBuffer requires an offset alignment must match the alignment of the data-type in the shader for "device" resources, or for "constant" data it must be max(4, sizeof(datatype)) on iOS and 256 on macOS. This should allow for much more tightly packed sub-allocations than earlier approaches, though older drivers (e.g. Mac OS X 10.11) enforce only the coarser "constant" data restriction everywhere.

Change 3810407 by Marcus.Wassmer

	PR #4322: ShadowSetup Bug Fix: Only stencil mask drawn meshes (Contributed by DSDambuster)

Change 3810676 by Guillaume.Abadie

	Makes r.Test.SecondaryUpscaleOverride work with any arbitrary pixel size.

Change 3810696 by Guillaume.Abadie

	Adds support for #include "../MyFile.ush" in the shader compiler.

Change 3810698 by Guillaume.Abadie

	Implements enum class based shader permutation dimension.

Change 3810699 by Guillaume.Abadie

	Implements Diaphragm DOF ground work.

Change 3811536 by Guillaume.Abadie

	Pulls the trigger on CircleDOF's setup pass for DiaphragmDOF.

Change 3811958 by Mark.Satterthwaite

	More fixes for mtlpp.

Change 3811964 by Mark.Satterthwaite

	Only views onto a mtlpp::Buffer should return a valid parent-buffer.

Change 3812604 by Guillaume.Abadie

	Changes Diaphragm DOF's source file layout.

Change 3812827 by Mark.Satterthwaite

	More missing/broken functionality in mtlpp fixed and fixed obvious leaks.

Change 3812920 by Guillaume.Abadie

	Adds support for per mip level UAV in FSceneRenderTarget.

Change 3812926 by Mark.Satterthwaite

	Change the way we handle mtlpp resource construction to avoid leaks.

Change 3812960 by Rolando.Caloca

	DR - vk - Disable DFGI

Change 3812968 by Rolando.Caloca

	DR - Linker fix

Change 3813318 by Mark.Satterthwaite

	Fix linear texture allocation from a buffer sub-view.

Change 3813326 by Mark.Satterthwaite

	Fix another Metal mtlpp sub-buffer allocation failure.

Change 3813328 by Guillaume.Abadie

	Removes global samplers in TAA for GL4, Vulkan and Switch.

Change 3813937 by Rolando.Caloca

	DR - Fix logs not getting dumped when r.DumpSCWQueuedJobs is on

Change 3813947 by Rolando.Caloca

	DR - noshaderworker should override r.XGEShaderCompile

Change 3817017 by Uriel.Doyon

	Fixed texture editor black screen
	#jira UE-53653

Change 3818568 by Rolando.Caloca

	DR - Fix log when shader jobs crash
	- Move log10 to common
	- Added COMPILER_VULKAN define

Change 3818603 by Uriel.Doyon

	Fix to static analysis warning

Change 3818623 by Rolando.Caloca

	DR - Workaround hlslcc loop unrolling bug

Change 3819070 by Uriel.Doyon

	Fix to stat duplication.

Change 3819105 by Uriel.Doyon

	Refactored volume sample shader to avoid using texture dimension.

Change 3819136 by Rolando.Caloca

	DR - vk - Per platform files (empty)

Change 3819180 by Rolando.Caloca

	DR - vk - Move defines out of config into per platform

Change 3819247 by Rolando.Caloca

	DR - vk - Remove more defines into platform settings

Change 3819318 by Rolando.Caloca

	DR - vk - Fixes for linking

Change 3819868 by Rolando.Caloca

	DR - vk - Linux & Android fixes

Change 3819873 by Guillaume.Abadie

	Adds support for PermutationId on r.DumpShaderDebugInfo=1

Change 3819940 by Rolando.Caloca

	DR - vk - Fix Linux issues

Change 3819956 by Rolando.Caloca

	DR - vk - Invalid check

Change 3819961 by Michael.Lentine

	Hide attributes when plugin is not present

Change 3819980 by Rolando.Caloca

	DR - vk - Standard validation always

Change 3820039 by Rolando.Caloca

	DR - vk - Fix invalid ensure

Change 3820326 by Rolando.Caloca

	DR - vk - Linux compile fix

Change 3820422 by Michael.Lentine

	Add back GBufferAO.

Change 3820433 by Rolando.Caloca

	DR - Fix D3D12 crash on 20 thread (10x2 cores) machines

Change 3821677 by Rolando.Caloca

	DR - vk - Win32 compile fix

Change 3821961 by Rolando.Caloca

	DR - Vulkan uses real UB by default on non-Android

Change 3821968 by Rolando.Caloca

	DR - vk - Update glslang 1.0.65.1

Change 3821969 by Uriel.Doyon

	Added support for stat groups that must be sorted by name. Defined by DECLARE_STATS_GROUP_SORTBYNAME.

Change 3821983 by Rolando.Caloca

	DR - vk - Change to static array (0.1ms on 10k draw calls)

Change 3824141 by Rolando.Caloca

	DR - vk - Fix static analysis
	- Bumped up some (c) 2017->2018

Change 3824355 by Rolando.Caloca

	DR - vk - Accessor to find out if a cmd buffer has been submitted

Change 3824420 by Rolando.Caloca

	DR - Sanity check number of queries per batch on D3D11 as to not break other RHIs

Change 3824463 by Rolando.Caloca

	DR - Removed dummy ensure for D3D12

Change 3824609 by Rolando.Caloca

	DR - vk - Linux compile fix

Change 3826074 by Mark.Satterthwaite

	Start IMP-caching the various descriptor types in mtlpp.

Change 3826098 by Rolando.Caloca

	DR - vk - Dump layer compile fixes

Change 3826113 by Rolando.Caloca

	DR - vk - Missing dump functions

Change 3826302 by Rolando.Caloca

	DR - vk - Compile fix
	- Change dump handles to %p

Change 3826635 by Mark.Satterthwaite

	Forward declarations required for mtlpp compilation without exposing Metal headers - plus fixes to the mtlpp test compiler.

Change 3827072 by Mark.Satterthwaite

	Switch some more mtlpp descriptors over to IMPTables from objc_msgSend.

Change 3827909 by Guillaume.Abadie

	Replaces diaphragm DOF's prefiltering with LDS bank coherent bilateral reduction, and implements 1/8 res background gathering pass.

Change 3827952 by Guillaume.Abadie

	Updates copy right to year 2018 on diaphragm DOF's new files.

Change 3828055 by Rolando.Caloca

	DR - vk - Rename in prep for changes

Change 3828229 by Guillaume.Abadie

	Avoids to log multiple time global shader type name that have multiple permutations when verifying global shader map.

Change 3828427 by Guillaume.Abadie

	Reimplements Max3x3 gathering post filtering for Diaphragm DOF with proper shader permutation.

Change 3829979 by Guillaume.Abadie

	Fixes a color NaN source in diaphragm DOF's TAA pass.

Change 3830116 by Rolando.Caloca

	DR - vk - Fix GPU queries/frame time on old system
	- New system in place, disabled temporarily

Change 3830169 by Rolando.Caloca

	DR - vk - Fix async pso creation crash

Change 3830193 by Rolando.Caloca

	DR - vk - CPU RHI thread improvement

Change 3830291 by Guillaume.Abadie

	Automatically lower the number of gathering rings on background half res gather pass as far CoC is getting smaller.

Change 3830300 by Rolando.Caloca

	DR - vk - Static analysis fix: Split VulkanCommon.h out of VulkanConfiguration.h

Change 3830589 by Mark.Satterthwaite

	In mtlpp cache the IMPTables for all the Metal @protocol's that are dependent on the MTLDevice, this avoids a mutex & map lookup. Also make all the concrete types store their IMPTable statically as it won't change.

Change 3830793 by Mark.Satterthwaite

	Fix a small number of bugs introduced with the mtlpp descriptor and table caching.

Change 3831491 by Jian.Ru

	Fix driver version unknown
	#jira UE-53688

Change 3832335 by Rolando.Caloca

	DR - vk - Change include

Change 3832550 by Rolando.Caloca

	DR - vk - Occlusion query rewrite WIP

Change 3832589 by Rolando.Caloca

	DR - vk - Minor refactor to pools in prep for timestamps

Change 3832618 by Rolando.Caloca

	DR - vk - Do not block timestamp queries

Change 3832636 by Rolando.Caloca

	DR - vk - Fix old timestamp queries

Change 3833138 by Rolando.Caloca

	DR - vk - Fix timestamp queries

Change 3833249 by Rolando.Caloca

	DR - vk - Test lock

Change 3833667 by Rolando.Caloca

	DR - vk - Old queries wait on the RHI thread now instead of the driver (disabled)

Change 3833907 by Daniel.Wright

	Fixed NextStartOffset UAV index out of bounds

Change 3833918 by Daniel.Wright

	D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC or Xbox.  The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled.

Change 3834852 by Rolando.Caloca

	DR - vk - Missing file

Change 3834858 by Guillaume.Abadie

	Implements r.DOF.MinimalFullresBlurringRadius

Change 3834979 by Rolando.Caloca

	DR - vk - Fix

Change 3836117 by Rolando.Caloca

	DR - vk - Update to 1.0.65.1

Change 3836122 by Rolando.Caloca

	DR - vk - Added r.Vulkan.SubmitOcclusionBatchCmdBuffer
	- Added new error codes/messages

Change 3836421 by Mark.Satterthwaite

	For the purposes of debugging and conformance testing mtlpp make it possible to compile *without* the IMP cache so that we call the underlying Objective-C.

Change 3836896 by Uriel.Doyon

	Fixed concurrency and exit issues  around d3d12 pipeline states on windows.

Change 3837385 by Rolando.Caloca

	DR - vk - Dump memory on OOM

Change 3837427 by Rolando.Caloca

	DR - vk - Change some arrays to array views

Change 3837800 by Guillaume.Abadie

	Implements SHADER_PERMUTATION_RANGE_INT to make contiguous integer permutations that does not start to 0.

Change 3838128 by Rolando.Caloca

	DR - vk - Support for non-cached memory types

Change 3838540 by Guillaume.Abadie

	Refactors Diaphragm DOF's CoC tile buffer under a single API for better maintainability.

Change 3838731 by Rolando.Caloca

	DR - vk - Descriptor pools per command buffer pool (turned off)

Change 3838961 by Rolando.Caloca

	DR - vk - Use ring buffer for per frame uniform buffers
	- Enable descriptor pools per layout recycled per command buffer

Change 3839087 by Rolando.Caloca

	DR - vk - Compile fixes for Android

Change 3839106 by Marcus.Wassmer

	PR #4413: Removing unnecessary call to FString::ToLower (Contributed by gsfreema)


Change 3839252 by Mark.Satterthwaite

	Fix mtlpp::Resource move operators.

Change 3839426 by Marcus.Wassmer

	Duplicate 380972
	Make PC GPU Benchmarks more reliable

Change 3840041 by Guillaume.Abadie

	Fixes shader compilation failure in TAA with alpha channel through post processing support.

Change 3840257 by Chris.Bunner

	Swapping a mul() to * in HLSLTranslator::Dot to allow scalar transformations per a UDN ticket.

Change 3840308 by Rolando.Caloca

	DR - vk - Support for UB & non-UB on emulation mode

Change 3840586 by Rolando.Caloca

	DR - Copy 3840577
	Fix for CPUs with more than 16 cores

Change 3840671 by Rolando.Caloca

	DR - vk - Copy from 3840663
	Fix for layout ensure on HMD projects on Vulkan

Change 3840980 by Rolando.Caloca

	DR - vk - Android compile fixes

Change 3841989 by Guillaume.Abadie

	Slices Diaphragm DOF's Gather pass in multi shader files, and CFLAG_StandardOptimization flag for faster iteration time.

Change 3842216 by Guillaume.Abadie

	Fixes DDOF's foreground alpha channel.

Change 3842217 by Guillaume.Abadie

	Implements r.DOF.MaximalForegroundBlurringRadius

Change 3842353 by Guillaume.Abadie

	Allows to disable foreground gathering with r.DOF.MaximalForegroundBlurringRadius=0

Change 3842747 by Rolando.Caloca

	DR - vk - Missing use of GPoolSizeVRAMPercentage
	- Support for smaller allocations if page size is not available

Change 3842791 by Rolando.Caloca

	DR - vk - Use 95% of available GPU memory to handle some fragmentation

Change 3843690 by Guillaume.Abadie

	Fixes diaphragm DOF's foreground after all this refactoring.

Change 3844439 by Guillaume.Abadie

	Improves Coc dilate pass to make the gather pass as fast as possible, but still without artifacts caused by the fast gathering optimisation.

Change 3844946 by Mark.Satterthwaite

	rd_route v1.1.1 with attached TPS approval.

	For macOS function interposition which is useful for debugging and the occasional workaround.

Change 3845164 by Mark.Satterthwaite

	Add LLM support for macOS, including tracking of memory allocated in Objective-C. This makes use of runtime method swizzling in the Objective-C runtime and the rd_route library I added for Richard Wallis, which allows for arbitrary runtime function interposition and allows me to hook the custom allocators used in Apple's many Objective-C frameworks on which the whole macOS edifice is built. Objective-C objects are charged to the calling scope as they are too common to impose their own without murdering frame rate.

	We would need a TPS approval for an iOS function interposition library for this to work fully on iOS, if desired in the short term discarding LowLevelFree events that aren't in the map rather than asserting will workaround the problem.

Change 3845849 by Marcus.Wassmer

	Fix clang and some normal refactor errors

Change 3846026 by Rolando.Caloca

	DR - vk - Descriptor set allocation scheme rewrite
	- Type hash for each pool
	- Desc sets Pool on device

Change 3846169 by Rolando.Caloca

	DR - vk - Remove old code for non-layout descriptor set pools

Change 3846205 by Mark.Satterthwaite

	Disambiguate the PatchControlPointOut struct definitions in Metal tessellation shaders at Apple's suggestion to avoid a metallib gotcha.

Change 3846346 by Arne.Schober

	DR - Missing Vector instructions

Change 3847037 by Arne.Schober

	DR - Fix issue with GPU skincache where the offset of the clothbuffer is not relative to the offset of the actual vertexbuffer.
	Fixed MorphTarget Skincache Offset mixxup

Change 3847275 by Marcus.Wassmer

	Copying MGPU to Dev-Rendering (//UE4/Dev-Rendering)

Change 3847464 by Rolando.Caloca

	DR - vk - Fix static analysis warning

Change 3847707 by Michael.Lentine

	Only use MorphTargetOffset when the shader enables morph targets.

Change 3848533 by Richard.Wallis

	Handle Metal adding FirstInstance into [[ instance_id ]] which is different to other APIs.  SV_InstanceID and SV_VertexID should now have their respective base instance and base vertex ID's subtracted before use in the shader.

	#jira UE-51716

Change 3848625 by Richard.Wallis

	Compile Fix

Change 3848725 by Rolando.Caloca

	DR - Remove use of Build/SetLocalGraphicsPipelineState

Change 3848797 by Rolando.Caloca

	DR - Deprecate Build/SetLocalGraphicsPipelineState

Change 3849237 by Arne.Schober

	DR - AddCustom Ver for ModelVertex Serialization

Change 3851247 by Rolando.Caloca

	DR - vk - Util functions

Change 3851523 by Arne.Schober

	DR - Update Reflection Comparission shot from the BuildFarm.

Change 3851859 by Rolando.Caloca

	DR - vk - Skip loader

Change 3851889 by Krzysztof.Narkowicz

	Removed lights with lighting channels out of tiled deferred light list. Tiled deferred lights do not support lighting channels and it's wasn't worth to add extra complexity to this shader in order support this special case.

	#jira UE-51512

Change 3852181 by Rolando.Caloca

	DR - vk - Linux compile fix

Change 3852547 by Uriel.Doyon

	Fixed Pre-Exposure shader compilation and Temporal AA issue.

	#jira UE-54276

Change 3852637 by Arne.Schober

	DR - Fixing Normal Automated Test Result

Change 3853167 by Richard.Wallis

	AvfPlayer - support for streaming media.  Due to an operator new/delete mismatch in Apples CFNetwork - we've had to change out one of that framework allocators using rd_route to avoid  the memory corruption.

	#jira UE-35637

Change 3853447 by Chris.Bunner

	Fixing typos.

Change 3853645 by Krzysztof.Narkowicz

	Fixed light functions on subsurface materials
	Removed strange code from blending between static and dynamic shadows

	#jira UE-50275

Change 3853660 by Rolando.Caloca

	DR - Fix OpenGL overwriting texture samplers on forward renderer

Change 3853945 by Mark.Satterthwaite

	Duplicate #3831616

	Fix the black ground scattering on Metal - we've had issues with the atmospheric fog calculations for a long time - one or more intermediate operations generates different precision on Metal so we end up passing -ve values into sqrt which then generates NaN/INF. For Metal when compiling this file and this file only #define sqrt() to sqrt(abs()) so that we don't see anymore unexpected black in atmospheric rendering. This is far from ideal but I don't want to make abs all inputs into every sqrt because AFAIK this is the only case where we have an issue, and until we to investigate each intermediate calculation that isn't ridiculously, soul-crushingly tedious, it isn't practical to identify the source of the error.

	#jira UE-53720

Change 3853966 by Mark.Satterthwaite

	Duplicate #3835852

	Fix tessellation shaders in Metal with Manual Vertex Fetch enabled:
	- The control points idnex buffer shouldn't collide with anything else.
	- We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures.

	#jira UE-53851

Change 3854250 by Uriel.Doyon

	Fix fbx automation tests

Change 3854736 by Uriel.Doyon

	Added a tooltip to the EV100 slider in the exposure menu.
	Using game settings now disables the slider.
	#jira UE-53945

Change 3855047 by Jian.Ru

	Fix DFAO getting NANs when samples out of ViewRect
	#jira UE-54403

Change 3858197 by Krzysztof.Narkowicz

	View frustum shadow caster culling for pointlights/spotlights

	#jira UE-54381

Change 3860081 by Krzysztof.Narkowicz

	Tighter bounding sphere for a spotlight
	Replaced IntersectSphere(LightProxy->Origin, LightProxy->Radius) with LightProxy->SphereBounds for tighter culling of spotlights
	Directional light GetBoundingSphere() now everywhere returns Sphere((0,0,0),HALF_WORLD_MAX) for consistency and proper SphereBounds

	#jira UE-54258

Change 3860324 by Mark.Satterthwaite

	Update the macOS deployment target version to 10.12 from 10.11 as we officially ended support for El Capitan a while ago. Should mean that libraries compiled for 10.12 and up won't cause link warnings.

Change 3860945 by Arne.Schober

	DR - Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer.

	#jira UE-54587

Change 3861129 by Jian.Ru

	Prevent distance culled objects from casting distance field direct shadows
	#jira UE-54533

Change 3861502 by Jian.Ru

	Exclude distance culled objects from DFAO calculation
	#jira UE-54533

Change 3862243 by Krzysztof.Narkowicz

	Changed radius of a directional light's bounding sphere from HALF_WORLD_MAX to WORLD_MAX in order to encopass entire WORLD_MAX box

Change 3863476 by Krzysztof.Narkowicz

	Added BuildReflections option to ResavePackages commandlet

	#jira UE-54581

Change 3863717 by Rolando.Caloca

	DR - vk - Missed using pipeline cache on compute PSOs

Change 3865332 by Arne.Schober

	DR - Fix UE-52356 Bone Weight

Change 3866220 by Rolando.Caloca

	DR - vk - Fixed GetNativeResource missing on textures
	- Added support for -preferNvidia|AMD|Intel
	- Added VulkanRHIBridge.h
	- Minor fixes

Change 3866222 by Rolando.Caloca

	DR - vk - Missed file

Change 3866951 by Krzysztof.Narkowicz

	Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel.

	#jira UE-53640

Change 3867231 by Guillaume.Abadie

	Adds alpha mode to allow the tonemapper to passthrough the alpha channel for broadcast industry.

Change 3867233 by Guillaume.Abadie

	Fixes a compilation failures in TAAU with r.PostProcessing.PropagateAlpha==2

Change 3867594 by Daniel.Wright

	Removed EditorOnlyDefaultMaterials, which added 79s of shader compilation during startup
	Added a dialog when opening the Material Editor on a Default Material, warning of advanced workflow
	Preventing Material Editor Apply or Save for a Default Material when the preview material has compilation errors

Change 3870048 by Daniel.Wright

	Cleaned up formatting in TranslucentRendering from merges

Change 3870106 by Krzysztof.Narkowicz

	Fixed some FArchive Tell()/Seek() 64bit->32bit truncations

Change 3870211 by Rolando.Caloca

	DR - vk - Added -vulkanvalidation=N/-vulkanstandardvalidation/-novulkanstandardvalidation to set validation layer behaviour from cmd line

Change 3870225 by Rolando.Caloca

	DR - vk - Some platforms do not use a standard swapchain

Change 3870267 by Arne.Schober

	DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
	Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary

Change 3870647 by Daniel.Wright

	Moved FogRendering.h to Renderer

Change 3872130 by Krzysztof.Narkowicz

	Disable USE_GLOBAL_CLIP_PLANE for MATERIAL_DOMAIN_POSTPROCESS and MERIAL_DOMAIN_UI

	Merging GitHub Pull request #4459
	"When material domain is not needing global clip plane there is no need to generate any code involving it. This does not alter output but removes lot of code at vertex shader and pixel shaders. At least on mobile rendered was actually generating clipping code for ui materials."

	#jira UE-54616

Change 3872145 by Rolando.Caloca

	DR - vk - Optional SupportsMarkersWithoutExtension

Change 3872404 by Uriel.Doyon

	Added some guards when streaming virtual textures.
	Fixed optimized UCanvasRenderTarget2D::RepaintCanvas() to prevent resolving the texture twice.
	Fixed bad mipmap generation with UCanvasRenderTarget2D.

Change 3872507 by Arne.Schober

	Back out changelist 3870267

Change 3874176 by Ben.Marsh

	IncludeTool: Add an flag to prevent scanning source files for exported symbols.

Change 3874935 by Krzysztof.Narkowicz

	Fixed white thumbnails and other issues with sky lighting on ES3_1 path, by disabling GGX prefiltering, as mobile path doesn't have a single cubemap with all initialized mips. Instead it ping-pongs between 2 partially initialized.
	#jira UE-54656

Change 3875710 by Daniel.Wright

	Renamed uniform buffer member macros to be much shorter for readability

Change 3876665 by Guillaume.Abadie

	Cherry-pick 3870715: Implements DOF's hybrid scatering bare bones.

Change 3876666 by Guillaume.Abadie

	Cherry-pick 3871786: DOF hybrid scatering: fixes NaN source, transition to gather on close to screen edge and low intensity.

Change 3876677 by Guillaume.Abadie

	Cherry-pick 3872348: Implements neighbor comparison for DOF's scattering compilation pass.

Change 3876680 by Guillaume.Abadie

	Cherry-pick 3872357: Oups... fixes build...

Change 3876683 by Guillaume.Abadie

	Cherry-pick 3872475: Controls number of mip to generate with DOF's reduce pass.

Change 3876687 by Guillaume.Abadie

	Cherry-pick 3874104: Fixes various bugs in diaphragm DOF's hybrid scattering.

Change 3876690 by Guillaume.Abadie

	Cherry-pick 3874144: Packs multiple DOF scattering group into same draw instance.

Change 3876694 by Guillaume.Abadie

	Cherry-pick 3874275: Switches hybrid scattering with indexed indirect draw call to reduce scatter vertex shader invocation.

Change 3876695 by Guillaume.Abadie

	Cherry-pick 3874674: Records min and max coc on DOF's setup's draw event.

Change 3876783 by Rolando.Caloca

	DR - Static analysis fix

Change 3876845 by Guillaume.Abadie

	Implements USceneCaptureComponent::ProfilingEventName

Change 3877197 by Rolando.Caloca

	DR - vk - OQ fixes (disabled)

Change 3877428 by Krzysztof.Narkowicz

	Merged with tiny tweaks Ansel photography plugin improvements from Adam Moss (GitHub pull request #4426):
	-The free-roaming photography camera has new constraints by default, i.e. it can't pass through walls
	-Photography session can be started and stopped programmatically, e.g. making it possible to bind photography to an alternative hotkey or button combo. This was an often-requested feature.
	-Tweakables and utilities are now exposed through a Blueprint Function Library (rather than direct manipulation of console variables)
	-The Ansel photography session UI now exposes some engine effect tweakables as sliders. For example, if the game is using depth-of-field then sliders are made available to allow the photographer to change the focal depth etc. The developer may suppress this behavior through the Blueprint Function Library.
	-Letterboxing is now removed during multi-part capture, d'oh.
	-Tiled shots are taken at full resolution even if ScreenPercentage < 100
	-SSR is enabled during super-resolution shots since Ansel is now better at hiding any ensuing artifacts
	-Postprocess settings are frozen at session start to avoid discontinuities during photography, i.e. wandering between postprocess volumes when the camera auto-moves for stereo and 360 shots.
	#jira UE-54244
	#4426

Change 3879086 by Krzysztof.Narkowicz

	Fixed sky/reflection capture (without owner) update - they are now updated only with a correspoding world

Change 3879090 by Guillaume.Abadie

	Fixes tones of regressions on diaphragm DOF's recombine passes.

Change 3879198 by Rolando.Caloca

	DR - vk - Support for real uniform buffers on Android platforms

Change 3879993 by Krzysztof.Narkowicz

	-Fixed int64->int32 FArchive offset truncation in TShaderMap, VertexFactory and TextureDerivedData
	-Fixed FSerializationHistory bug, when trying to serialize 0 bytes
	#jira UE-43203

Change 3881462 by Guillaume.Abadie

	Implements full res DOF's setup pass for cheaper full res gathering in recombine pass.

Change 3881524 by Krzysztof.Narkowicz

	Fixed compilation by removing FTickableEditorObject from FPreviewScene

Change 3881724 by Chris.Bunner

	Static analysis fix.

	#jira UE-54762

Change 3881861 by Rolando.Caloca

	DR - vk - Fix layout warning when generating mip chain

Change 3881864 by Rolando.Caloca

	DR - Use render passes on HZB

Change 3882236 by Yuriy.ODonnell

	IndirectLightingColorScale is now applied to SubsurfaceLighting and DiffuseLighting. Was previously only applied to DiffuseLighting.

	#jira UE-42534
	#github 3326

Change 3882325 by Guillaume.Abadie

	Implements FocusOnly lower gathering pass for Diaphragm DOF's slight out focus temporal stability.

Change 3882340 by Rolando.Caloca

	DR - vk - Fix api dump

Change 3882430 by Rolando.Caloca

	DR - vk - KHR_maintenance2

Change 3882563 by Rolando.Caloca

	DR - Add depth-stencil access mode to PSO initializer

Change 3882929 by Rolando.Caloca

	DR - vk - Proper fix for maintenance extension macros

Change 3883087 by Mark.Satterthwaite

	Allow disabling VSync in windowed mode for macOS 10.13.4+ and above.

Change 3883597 by Guillaume.Abadie

	Collapses full and half res DOF setup passes together.

Change 3883702 by Guillaume.Abadie

	Fixes mac's build.

Change 3884747 by Uriel.Doyon

	Fix for static analysis warning

Change 3884975 by Rolando.Caloca

	DR - vk - Move some platform defines to platform properties

Change 3884988 by Rolando.Caloca

	DR - vk - Make an override per platform

Change 3885832 by Rolando.Caloca

	DR - vk - Cosmetic change to group similar members

Change 3885891 by Rolando.Caloca

	DR - vk - Some _RenderThread functions to avoid stalls

Change 3886044 by Rolando.Caloca

	DR - Added RHI api _RenderThread version of
	RHICreateTextureReference
	RHICreateShaderLibrary
	RHICreateRenderQuery

Change 3886560 by Guillaume.Abadie

	Fixes strong aliasing on TAAU's fast shader permutation.

	This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.

Change 3886749 by Guillaume.Abadie

	Cherry-pick 3884748: Implements DOF's BuildBokehLUT for diaphragm blades simulation.

	Only used in hybrid scattering for now.

Change 3886750 by Guillaume.Abadie

	Cherry-pick 3885457: Simulates diaphragm blades' curvature on bokeh.

Change 3886752 by Rolando.Caloca

	DR - Fix metal static analysis

Change 3887460 by Uriel.Doyon

	Fixed to more static analysis warning.

Change 3888201 by Rolando.Caloca

	DR - vk - Added r.Vulkan.SubmitAfterEveryEndRenderPass
	- Fixed bad layout on rendering back buffer

Change 3888209 by Rolando.Caloca

	DR - vk - Unity compile fix

Change 3888254 by Rolando.Caloca

	DR - vk - Fix async texture layout

Change 3888893 by Guillaume.Abadie

	Simulates bokeh in DOF's slight out of focus.

Change 3889085 by Guillaume.Abadie

	Fixes DOF's reduce pass sampling outside viewport.

Change 3889924 by Rolando.Caloca

	DR - vk - Skip seemingly bad validation error

Change 3890573 by Daniel.Wright

	Only initialize FDiaphragmDOFGlobalResource in Feature Level 5

Change 3890590 by Arne.Schober

	DR - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.

	#jira UE-55063

Change 3890638 by Arne.Schober

	DR - Better fix for Paper2d which honors batching

	#jira UE-55063

Change 3891099 by Krzysztof.Narkowicz

	1.5 texel shadow offset fix inside Manual2x2PCF based on #4485 GitHub pull request
	#jira UE-54985
	#4485

Change 3891234 by Krzysztof.Narkowicz

	Optimized PCF2x2 and PCF3x3 - merged #4494 GithHub pull request
	#jira UE-55121

Change 3891407 by Rolando.Caloca

	DR - vk - Set vendor id earlier

Change 3891417 by Rolando.Caloca

	DR - vk - Missing layout transitions

Change 3891718 by Arne.Schober

	DR - Do not recreate one Frame Resource for dynamic draws

	#jira UE-55063

Change 3891925 by Yuriy.ODonnell

	Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.

	NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.

	The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.

	The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.

	Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).

	#jira UE-53065

Change 3891987 by Rolando.Caloca

	DR - vk - Support for dedicated allocations

Change 3892339 by Jian.Ru

	Fix a crash when tessellation shaders are used in dx12
	#jira UE-55127

Change 3892528 by Rolando.Caloca

	DR - vk - Update Linux headers

Change 3892867 by Rolando.Caloca

	DR - vk - Don't create swapchain if not needed

Change 3893416 by Guillaume.Abadie

	Implements bokeh simmulation on foreground and background gather.

Change 3893732 by Chris.Bunner

	GetRelevance_Internal should use the immediate parent resource, not the base, as some features are overridden by permutations e.g. UsesWorldPositionOffset.

	#jira UE-53404

Change 3893868 by Guillaume.Abadie

	Allocates diaphragm DOF's buffers and structered buffer only on supported platforms.

Change 3893917 by Chris.Bunner

	Potential fix for CIS.

Change 3893933 by Chris.Bunner

	Duplicating CL 2647737 as this is the same issue from that JIRA where accessing game-thread data was being prevented. We don't have this check in UMaterial::GetMaterialResource already, but presumably the UMaterialInstance case was never removed as we've not been calling it until now.

Change 3894218 by Rolando.Caloca

	DR - vk - Remove stat counters per draw call, gains 10% CPU on Infiltrator

Change 3894579 by Arne.Schober

	RT - Fix assert not in RenderingThread from Triangle Renderer.
	#jira UE-55247

Change 3894724 by Rolando.Caloca

	DR - vk - New API for batching barriers

Change 3894909 by Arne.Schober

	DR - Fix crash in Speedtree wind where Renderdata is unavailable
	#jira UE-54544

Change 3895414 by Rolando.Caloca

	DR - Add a configurable threshold for SCWs time outs

Change 3896429 by Marcus.Wassmer

	Allow variable frame-latency delay in FrameGrabber frames.  For performance you want at least a 1 frame delay so you don't sync the GPU to the CPU.

Change 3896495 by Marcus.Wassmer

	Set pointer properly
	Fix CIS

Change 3897253 by Guillaume.Abadie

	Fixes CIS warning in diaphragm DOF

Change 3899179 by Guillaume.Abadie

	Implements background hybrid scatter occlusion for diaphragm DOF.

Change 3903654 by Rolando.Caloca

	DR - vk - Rework dump layer to allow other layers

Change 3903766 by Rolando.Caloca

	DR - vk - More wrappers

Change 3904025 by Rolando.Caloca

	DR - vk - More wrappers

Change 3904342 by Rolando.Caloca

	DR - vk - Track image resources & callstacks

Change 3904346 by Rolando.Caloca

	DR - vk - Copy fix from 4.19 for flickering grass

Change 3904510 by Rolando.Caloca

	DR - vk - Compile fix

Change 3904914 by Daniel.Wright

	[Integrate] Fixed PS4 transitions with forward shading

Change 3904916 by Daniel.Wright

	[Integrate] Fixed PS4 transitions with occlusion queries

Change 3905975 by Rolando.Caloca

	DR - vk - Missing wrappers

Change 3905977 by Rolando.Caloca

	DR - vk - Missed file

Change 3907829 by Rolando.Caloca

	DR - Move depth bounds to the PSO

Change 3907832 by Rolando.Caloca

	DR - vk - Prep for delaying transitions

Change 3907834 by Rolando.Caloca

	DR - vk - Fix for depth stencil issues/validation errors

Change 3907967 by Rolando.Caloca

	DR - vk - Linux compile

Change 3908093 by Rolando.Caloca

	DR - vk - Fix depthstencil layout on descriptors

Change 3908393 by Rolando.Caloca

	DR - vk - Disable dedicated allocation as it causes crashes on Nvidia 700 series

Change 3908401 by Rolando.Caloca

	DR - Do transitions outside render pass

Change 3908422 by Rolando.Caloca

	DR - vk - Fix transition state not getting stored

Change 3908735 by Guillaume.Abadie

	Cherry-pick 3896619: Fixes after TAAU post process material that had wrong default buffer UV.

	#jira UE-55317

Change 3908736 by Guillaume.Abadie

	Cherry-pick 3891352: Fixes ensure when visualizing HDR with TAAU.

	#jira UE-55019

Change 3908753 by Guillaume.Abadie

	Lets the renderer layout the views in the internal render targets like it prefers.

Change 3909119 by Daniel.Wright

	Fix some static analysis warnings

Change 3911943 by Rolando.Caloca

	DR - vk - Fix for packaging Vulkan projects

Change 3912145 by Rolando.Caloca

	DR - vk - Fix layout on streaming textures

Change 3913029 by Rolando.Caloca

	DR - Fix missing transition

Change 3913048 by Rolando.Caloca

	DR - Fix for hlslcc

Change 3913054 by Rolando.Caloca

	DR - vk - Fix number of layers on barrier

Change 3913171 by Rolando.Caloca

	DR - vk - Fix for decal missing transition

Change 3913211 by Rolando.Caloca

	DR - vk - Add debug name to image tracking

Change 3913449 by Rolando.Caloca

	DR - vk - Restore transition

Change 3913466 by Rolando.Caloca

	DR - Fix Vulkan EngineTest

Change 3913537 by Rolando.Caloca

	DR - vk - Fixes independent samplers & textures (contributed by AMD)

Change 3913548 by Rolando.Caloca

	DR - vk - Warning fix

Change 3913691 by Rolando.Caloca

	DR - vk - Fixes for parallel (wip)

Change 3914656 by Rolando.Caloca

	DR - vk - Fix bug when using separate samplerstates and textures

Change 3914730 by Rolando.Caloca

	DR - vk - Bump version

Change 3914764 by Rolando.Caloca

	DR - vk - Don't crash on exit

Change 3915532 by Rolando.Caloca

	DR - vk - Parallel context fixes

Change 3915589 by Rolando.Caloca

	DR - vk - Hoist and rename transition and layout manager class out of the context

Change 3915592 by Rolando.Caloca

	DR - Fix gpu marker name

Change 3917607 by Rolando.Caloca

	DR - vk - Fix depth bounds on Vulkan

Change 3917609 by Rolando.Caloca

	DR - vk - Fix static analysis

Change 3917616 by Rolando.Caloca

	DR - Fix D3D11 initialization

Change 3920569 by Rolando.Caloca

	DR - vk - Prep for layout mgr refactor

Change 3921023 by Rolando.Caloca

	DR - vk - Dump layer fixes

Change 3921623 by Rolando.Caloca

	DR - vk - Prep refactor for layouts
	- Dump now shows marker tree

Change 3922007 by Rolando.Caloca

	DR - vk - Fix extra allocation per draw call

Change 3922442 by Rolando.Caloca

	DR - vk - Detect potential issues

Change 3922470 by Rolando.Caloca

	DR - vk - Minor optimization

Change 3922482 by Rolando.Caloca

	DR - vk - More minor optimizations

Change 3923158 by Rolando.Caloca

	DR - Move r.DisableEngineAndAppRegistration out to common RHI and use it on Vulkan

Change 3923486 by Rolando.Caloca

	DR - vk - Minor cpu optimizations

Change 3923505 by Rolando.Caloca

	DR - vk - Use bigger allocations for uniform buffers

Change 3923516 by Rolando.Caloca

	DR - vk - Android compile fix

Change 3923557 by Rolando.Caloca

	DR - vk - Cache descriptorset layouts, refactor duplicated code

Change 3923851 by Rolando.Caloca

	DR - vk - Linux compile fix

Change 3924153 by Rolando.Caloca

	DR - vk - Support for dynamic UBs

Change 3924193 by Rolando.Caloca

	DR - vk - Remove old per pso descriptor pools

Change 3924197 by Rolando.Caloca

	DR - vk - Remove unused global uniform buffer pool

Change 3924220 by Rolando.Caloca

	DR - vk - Wrap some unused classes in their define

Change 3924234 by Rolando.Caloca

	DR - vk - Show ring buffer wrapping messages

Change 3924243 by Rolando.Caloca

	DR - vk - Fix bad dynamic buffer

Change 3924902 by Rolando.Caloca

	DR - vk - Fix crash running infiltrator

Change 3925209 by Rolando.Caloca

	DR - vk - Fix bug with dynamic buffers
	- Remove old defines

Change 3925300 by Rolando.Caloca

	DR - vk - Allow packed uniforms as dynamic UBs (with r.Vulkan.DynamicGlobalUBs)

Change 3925627 by Rolando.Caloca

	DR - vk - Move DynamicOffsets into the pipeline state

Change 3925834 by Rolando.Caloca

	DR - vk - Cache per stage information

Change 3925835 by Daniel.Wright

	Fixed DisplayName for UParticleModuleCollisionGPU

Change 3925897 by Rolando.Caloca

	DR - vk - Split update descriptors loop

Change 3926488 by Rolando.Caloca

	DR - vk - 16MB for ring buffer on desktop, 8 MB for mobile

Change 3928168 by Guillaume.Abadie

	Cherry-pick 3917219: Implements r.DOF.RecombineQuality

Change 3928173 by Guillaume.Abadie

	Cherry-pick 3927888: Enables r.DOF.HybridScatter.BackgroundCompositing and r.DOF.HybridScatter.ForegroundCompositing to work when both enabled.

Change 3928216 by Rolando.Caloca

	DR - vk - Fix Android
	- Fix static analysis

Change 3929119 by Rolando.Caloca

	DR - vk - Rename some classes for clarity
	- Fix read-only cvar

Change 3929151 by Rolando.Caloca

	DR - vk - Rename class

Change 3930046 by Rolando.Caloca

	DR - Temp fix Vulkan flickering grass

Change 3930148 by Rolando.Caloca

	DR - vk - Only update dirty descriptors
	- Use dynamic descriptors for packed global uniform buffers

Change 3930998 by Guillaume.Abadie

	Packs shader permutation in different XGE submissions.

Change 3931079 by Rolando.Caloca

	DR - vk - Fixes for Android and non-real ubs platforms

Change 3931942 by Krzysztof.Narkowicz

	Depth rendering - When EarlyZPassMode is set to DDM_AllOccluders, dynamic objects need also to test bUseAsOccluder just like static ones

	#jira none

Change 3932819 by Daniel.Wright

	[Integrate] Scene Textures uniform buffer
	* Base Pass Uniform Buffer now contains a Scene Textures uniform buffer.  Previously the translucent base pass had to check ~40 loose scene texture parameters every draw.
	* FMeshMaterialShader's must now bind PassUniformBuffer and supply a valid pass uniform buffer.  For most passes this is just FSceneTextureUniformParameters.
	* FRendererModule::DrawTileMesh can now cleanly set dummy scene texture resources, just by configuring how the pass uniform buffer is created.
	* Moved scene texture shader functions out of Common, into SceneTexturesCommon which must be manually included by shaders that want to use them
	* Separate Mobile Scene Textures uniform buffer to silo the platform complexities

	Moved DBuffer inputs out of FDeferredPixelShaderParameters and into FOpaqueBasePassUniformParameters

	Removed per-frame material uniform expressions.  GameTime material node with period is now implemented with an fmod in the shader, without the use of MaterialFloat, so that it will happen at full precision.
	* Per-frame expressions were used when the GameTime material node had a period, to do the fmod on the CPU where 32 bit precision is guaranteed, for mobile GPU's where pixel shader precision is sometimes less than 32fp.

	Moved forward shading data into the Base Pass Uniform Buffer
	Removed instanced stereo support for the light cull grid - will have to be reimplemented without changing SRV's per draw
	Base pass sets View Uniform Buffer from DrawRenderState instead of choosing which one to set per-draw

	Fixed padding in nested uniform buffer structs
	Skip SRV members on Feature Level SM4 and below

Change 3932964 by Rolando.Caloca

	DR - vk - Renderdoc on Android

Change 3933095 by Daniel.Wright

	Moved FSceneTextureUniformParameters out of the opaque base pass uniform buffer.
	* Base Pass shaders now enable SCENE_TEXTURES_DISABLED when compiling for a material of any domain other than MD_Surface.  These are used when rendering thumbnails of a material in a different domain, which could be opaque, but the opaque base pass drawing policy does not bind a scene textures uniform buffer, so the shader must not bind it.
	* Opaque materials can no longer use EyeAdaptation.

Change 3933096 by Daniel.Wright

	Better d3d11 assert message when a uniform buffer was not set by the renderer

Change 3933176 by Rolando.Caloca

	DR - vk - Prefer mailbox if available

Change 3933271 by Ryan.Vance

	#jira UE-55936
	Fixed missing referenced uniform bindings on AR pass-through camera shaders.

Change 3934000 by Guillaume.Abadie

	Fixes Win32 build in ShaderCompilerXGE.cpp

Change 3934299 by Guillaume.Abadie

	Fixes a bug in DOF's reduce operator that was casusing color leaking between background and foreground.

Change 3934699 by Daniel.Wright

	Added bAffectDistanceFieldLighting to landscape

Change 3935190 by Daniel.Wright

	Forward Light Grid SRV's use StructuredBuffer on Metal, instead of 'invariant Buffer', which throws off RemoveUniformBuffersFromSource parsing

Change 3935606 by Daniel.Wright

	Removed LightmapPolicy::Set which was needed for vertex lightmaps
	Renamed FVertexFactory::Set to SetStreams to make it findable

Change 3936510 by Rolando.Caloca

	DR - vk - Update glslangValidator.exe to 1.0.65.1 for dumped debug SPIRV shaders

Change 3936545 by Richard.Wallis

	Clone of CL's (3925763, 3925430, 3925424, 3925385, 3925278) Mark Satt's Xcode fixes from task stream //Tasks/UE4/Dev-UERNDR-354-mtlpp/

	Plus XCode 9.2 compile fix in ApplicationPlatformCompilerPreSetup.h for -Wunused-lambda-capture.

Change 3938061 by Daniel.Wright

	Vulkan: Added support for SRV's in Uniform Buffers

Change 3938123 by Daniel.Wright

	Vulkan: Slightly better assert for null resources in uniform buffer

Change 3939197 by Rolando.Caloca

	DR - vk - Disable custom memory mgmt

Change 3939677 by Rolando.Caloca

	DR - vk - Fix static analysis warning

Change 3939809 by Rolando.Caloca

	DR - vk - Fixes for async compute

Change 3939875 by Rolando.Caloca

	DR - vk - Support for -vktrace

Change 3939977 by Rolando.Caloca

	DR - vk - Skip a condition during gather UBs
	- Set up efficient compute async var
	- Fix validation cmd line

Change 3939982 by Rolando.Caloca

	DR - vk - Revert mipchain

Change 3939984 by Rolando.Caloca

	DR - vk - Remove unnecessary asserts

Change 3940082 by Rolando.Caloca

	DR - vk - Custom mem mgr

Change 3940475 by Rolando.Caloca

	DR - vk - Fix DFAO (indirect draw offset)

Change 3940555 by Rolando.Caloca

	DR - vk - Minor fixes

Change 3940675 by Rolando.Caloca

	DR - vk - Fix indirect type mismatch

Change 3941111 by Rolando.Caloca

	DR - Renderpass bGeneratingMips

Change 3941847 by Daniel.Wright

	Fixed Volumetric Lightmaps on Static geometry only working if the geometry had been built with Surface Lightmaps before

Change 3941978 by Rolando.Caloca

	DR - vk - Minor fixes for presenting on compute queue

Change 3942074 by Rolando.Caloca

	DR - vk - Remove some RHI stalls
	- Fixed swap chain stat

Change 3943946 by Daniel.Wright

	Fixed Texcoord0 on Volume materials on a particle sprite, including SubUV particles.

Change 3944065 by Daniel.Wright

	Fixed SceneDepth collision getting broken on GPU particles when a scene capture is rendering

Change 3944158 by Daniel.Wright

	Fixed ViewUniformShaderParameters accessing GEngine->PreIntegratedSkinBRDFTexture too early during slate loading screen

Change 3944865 by Rolando.Caloca

	DR - vk - Prep for render passes

Change 3945196 by Rolando.Caloca

	DR - Move render pass validate to cpp

Change 3945202 by Rolando.Caloca

	DR - vk - Some fixes for using real render passes

Change 3945357 by Rolando.Caloca

	DR - Fix bad condition

Change 3946295 by Yuriy.ODonnell

	Added a sentinel member to FLightMap, which is initialized in the ctor and reset in the dtor. Sentinel is then checked in FLightCacheInterface::GetLightMapInteraction().
	This aims to shed some more light on a hard-to-repro crash, which is suspected to be a use-after-free bug: http://crashreporter/Buggs/Show/1785593

Change 3946407 by Rolando.Caloca

	DR - vk - Prep for refactor

Change 3946648 by Rolando.Caloca

	DR - vk - Fixes for async compute (wip)

Change 3947299 by Rolando.Caloca

	DR - vk - FIx static analysis

Change 3948434 by Rolando.Caloca

	DR - vk - Fix exiting with parallel

Change 3948928 by Rolando.Caloca

	DR - vk - Fix enabling draw markers for tools

Change 3949021 by Rolando.Caloca

	DR - vk - Buffer tracking layer

Change 3949602 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3949757 by Rolando.Caloca

	DR - vk - Remove bogus parameter

Change 3949810 by Rolando.Caloca

	DR - vk - Move waits for cmd buffer

Change 3950270 by Guillaume.Abadie

	Implements dedicated gather pass for foreground hole filling to avoid being VGPR bound in foreground gather pass, but still being hable to amend foreground.

Change 3950272 by Rolando.Caloca

	DR - vk - Minor refactor for semaphores

Change 3950279 by Guillaume.Abadie

	Oups... fixes build

Change 3950298 by Rolando.Caloca

	DR - vk - Gather wait semaphores in the cmd buffers

Change 3950371 by Rolando.Caloca

	DR - vk - fixes for async compute

Change 3950597 by Rolando.Caloca

	DR - vk - Fix for clip distance (fixes planar reflections)

Change 3951075 by Rolando.Caloca

	DR - vk - Fix for async compute

Change 3952524 by Guillaume.Abadie

	Some DOF enum refactoring.

Change 3955016 by Daniel.Wright

	Fixed BuiltData package getting renamed into the map package during a content browser folder move, causing a redirector to be incorrectly placed in the map package

Change 3955668 by Guillaume.Abadie

	Fixes a bug where full res coc buffer was computed even if not doing slight out of focus.

Change 3956722 by Guillaume.Abadie

	Fixes a bug where r.DOF.MaximalForegroundBlurringRadius was screen percentage dependent.

Change 3959212 by Guillaume.Abadie

	Prefixes all DOF's shaders files with DOF keyword.

Change 3959705 by Guillaume.Abadie

	Optimises the DOF setup pass outputing half res and full res with LDS downsample.

Change 3959941 by Guillaume.Abadie

	Halfs DOF's hybrid scatter compilation by using a unique downsampling for both foreground and background, instead of 2 reduce passes.

Change 3962273 by Rolando.Caloca

	DR - Fix typos

	#jira UE-56317
	PR #4586

Change 3962615 by Rolando.Caloca

	DR - vk - Compile fix

Change 3962949 by Rolando.Caloca

	DR - Fix DOFDownsample extension

Change 3962993 by Guillaume.Abadie

	Back out changelist 3962949

Change 3963016 by Guillaume.Abadie

	Adds missing DOFDownsample.usf

Change 3963041 by Rolando.Caloca

	DR - vk - Misc changes to help integrate

Change 3964293 by Guillaume.Abadie

	Fixes DOF's setup pass reading outside of the viewport.

Change 3964475 by Guillaume.Abadie

	Collapses DOF's hybrid scatter compilation passes into reduce passes.

Change 3964883 by Daniel.Wright

	Fixed 3d texture in uniform buffer on unsupporting RHI

Change 3964897 by Rolando.Caloca

	DR - Compile fixes

Change 3964914 by Guillaume.Abadie

	Fixes a bug on r.DOF.RecombineQuality=0

Change 3965153 by Guillaume.Abadie

	Fixes compile warning in D3D12Commands.cpp.

Change 3965814 by Rolando.Caloca

	DR - Prep for integration conflict resolve

Change 3965899 by Rolando.Caloca

	DR - Fix odd linkage issue

Change 3966072 by Rolando.Caloca

	DR - More prep for merge

Change 3966163 by Rolando.Caloca

	DR - Merge prep

Change 3966844 by Guillaume.Abadie

	Packs multiple DOF scattered bokeh per instance and uses PT_RectList in DOF for platforms that can.

Change 3967116 by Rolando.Caloca

	DR - Compile fixes for integration

Change 3967273 by Rolando.Caloca

	DR - Use same path for mip generation

Change 3967277 by Rolando.Caloca

	DR - vk - Fix mips on cubemaps

Change 3967693 by Rolando.Caloca

	DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, missing shaders

Change 3967851 by Rolando.Caloca

	DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, Engine 2/2

Change 3968083 by Rolando.Caloca

	DR - Integration compile fixes

Change 3968240 by Rolando.Caloca

	DR - Shader compile fixes for integration

Change 3968270 by Rolando.Caloca

	DR - Fix for missing hash calculation

Change 3969426 by Rolando.Caloca

	DR - vk - Fix warning

Change 3969869 by Krzysztof.Narkowicz

	Back out changelist 3946295 - UE-54537 is fixed, so no need for this debug sentinel.
	#jira none

Change 3969944 by Rolando.Caloca

	DR - Warning fix

Change 3970020 by Rolando.Caloca

	DR - Bump after integration

Change 3970052 by Rolando.Caloca

	DR - Fix for mobile

Change 3970236 by Daniel.Wright

	Causing decal shader to recompile to fix a merge bug

Change 3970270 by Daniel.Wright

	Bump shader version from merge

Change 3970339 by Olaf.Piesche

	Replace series of locks/unlocks with a single one for curve injection

	#tests QAGame

Change 3970390 by Rolando.Caloca

	DR - Rename FSceneTextureUniformParameters to FSceneTexturesUniformParameters
	- Remove duplicate method for occlusion queries

Change 3970523 by Rolando.Caloca

	DR - Fix serialization of shaders

Change 3970533 by Arne.Schober

	DR - fix for removing the Speed tree wind when the scene gets deleted. The original enque rendercommand requeues the element onto the renderthread although the call already came from the Renderthread and the scene can get lost in between.

	#jira UE-56322

Change 3971160 by Guillaume.Abadie

	Fixes CompositeEditorPrimtive pass and SelectionOutline pass for VR editor to work with TAAU.

Change 3971516 by Guillaume.Abadie

	Cherry-pick 3912629: Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.

	#jira UE-55353

Change 3971594 by Krzysztof.Narkowicz

	Fixed assert inside BindLightMapVertexBuffer. FSplineMeshSceneProxy was calling BindLightMapVertexBuffer for invalid (still not generated) lightmap UV channel after mesh reimport. Simplified assert, as at the moment almost all of the high callsites already clamp lightmap uv channel.
	#jira UE-56321

Change 3971622 by Krzysztof.Narkowicz

	Fixed crash inside Indirect Lighting Cache. Data (reflection captures and lightmap) generation calls ULevel::GetOrCreateMapBuildData(), which can destroy lightmap data if level has legacy data. Last Lightmap generation step recreates this data, but if user cancels lightmap generation - it won't do that.
	#jira UE-56171

Change 3974788 by Rolando.Caloca

	DR - Remove GSupportsGenerateMips

Change 3974789 by Rolando.Caloca

	DR - Remove bogus function

Change 3974986 by Rolando.Caloca

	DR - vk - Tracking fixes

Change 3974989 by Rolando.Caloca

	DR - vk - Don't submit dummy barriers

Change 3975075 by Olaf.Piesche

	Update for particle curve injection improvement, fixing ES2 problems

	#tests QAGame tm-shadermodels, various color curve tests in-editor

Change 3975957 by Uriel.Doyon

	Fixed invalid max texture resolution when using the bake material tools.

Change 3978471 by Daniel.Wright

	New cvar r.SkylightUpdateEveryFrame

Change 3978779 by Rolando.Caloca

	DR - Accessor for texture sizes

Change 3978797 by Rolando.Caloca

	DR - Clean up RHI CopyTexture API

Change 3978832 by Rolando.Caloca

	DR - vk - Workaround for RenderDoc crashing due to Descriptor Pool reset

Change 3978836 by Rolando.Caloca

	DR - vk - Remove generate mips

Change 3979201 by Rolando.Caloca

	DR - vk - RHI CopyTexture. Uses general layout for generating mips

Change 3979204 by Rolando.Caloca

	DR - Use render passes and CopyTexture to generate mips

Change 3979592 by Rolando.Caloca

	DR - Warning fix

Change 3980855 by Krzysztof.Narkowicz

	Optimize bounding sphere radius after non-uniform scale by using bounding box extent.

	#jira UE-56227

Change 3981065 by Rolando.Caloca

	DR - vk - Fix bad layout

	#jira UE-56238

Change 3981346 by Rolando.Caloca

	DR - Copy from 3707257
	Support for not flushing compute jobs (r.D3D11.UAVFlushNV)

Change 3981347 by Rolando.Caloca

	DR - Copy from 3707257
	Don't flush between morph dispatched

Change 3981932 by Mark.Satterthwaite

	Generate the shader hash and function name when a Metal shader error needs to be reported so that even without shader code we get something to go on.

Change 3982442 by Rolando.Caloca

	DR - Fix warning

Change 3982652 by Rolando.Caloca

	DR - vk - Signal semaphore cleanup

Change 3983917 by Richard.Wallis

	Clone of CL 3974146 converted for mtlpp along with extra mtlpp usage suggestions by Mark Satt:

	Fix for black flickering on first paint with weighted material landscape on Mac.  When using AsyncCopyFromBufferToTexture in Metal we put the blit operation on the prologue encoder - however after a draw call using that resource the copy operation should happen after on the current encoder, this keeps the correct order of operations.

	Added Bool return from various Asnyc renderpass resource requests so caller can decide correct further action.  Updated to include the other async functions.

Change 3984409 by Guillaume.Abadie

	Attempts to make static analysis happy again.

Change 3984435 by Nick.Bullard

	Checking in Performance Test level provided to us by Tor Frick based on UE-44841.
	This has been utilized for checking issues against Aftermath performance impact.
	The Map includes 2 Level Book marks, most testing has been done against Bookmark 1 view, in fullscreen, in game mode

Change 3985087 by Mark.Satterthwaite

	Make sure that the particle scratch buffer is large enough to hold all the data for the curve texture we are rendering to, otherwise a full set of curves will start scribbling memory after 64Kb (the curve texture is 256Kb of data - 512x512x4 as sizeof(RGBAUInt8) == 4). This happens in ElementalDemo.

Change 3985201 by Rolando.Caloca

	DR - Fix bad CopyTexture

Change 3985258 by Mark.Satterthwaite

	Try and detect orientation changes so that we don't blow-up on iOS due to a huge mismatch between the drawable texture for the display and the scene's depth-stencil target. I can't just fiddle with the depth-stencil texture itself without running  the risk of obliterating in-use data and really we shouldn't permit such a mismatch anyway but it is fallout from 3620990.

	#jira UE-55756

Change 3986449 by Rolando.Caloca

	DR - vk - Update & consolidate Vulkan headers to 1.1.70.1
	Consolidate SDK into one

Change 3986571 by Guillaume.Abadie

	Makes PVS-Studio happy again in DOF.

Change 3987039 by Yuriy.ODonnell

	Initial implementation of tracing profiler to show CPU and multiple GPUs on the same timeline. Currently only supported on DX12 platforms.

	Use `TracingProfiler frames=N` console command to trigger a capture of the next N frames. Trace is saved to disk as a JSON file into `Saved/Profiling/Traces` directory.
	Trace file uses Google Tracing format and can be visualized in Chrome built-in profiler (chrome://tracing).

	`r.GPUStatsChildTimesIncluded=1` CVar makes timing scopes hierarchical.
	`TracingProfiler.BufferSize=N` CVar controls the size of the tracing buffer, which may need to be increased for long traces (default is 65k events). Only can be set at startup.

Change 3987074 by Yuriy.ODonnell

	Implemented timestamp calibration on DX11. Calibration is only performed when tracing profiler session starts.

Change 3987160 by Yuriy.ODonnell

	Added thread naming and ordering to the tracing profiler output

Change 3987331 by Mark.Satterthwaite

	Remove the Nvidia hack to retain resource references in command-buffers for UE-46604 as the mtlpp refactor provides stronger resource lifetime guarantees.

	#jira UE-46604

Change 3987754 by Mark.Satterthwaite

	Fix MetalRHI memory reporting in non-default path.

	PR #4568

Change 3988184 by Arciel.Rekman

	Linux: Fix editor OpenGL performance (UE-55960).

	- GetCurrentThreadId() calls became much more frequent with the OpenGL RHIT refactor.
	- We used to only cache that value in monolithic builds, because having per-thread static variables in dynamic libraries is risky due to OS limits.
	- This change adds dynamically-managed per-thread cache for non-monolithic builds.

	#jira UE-55960

Change 3988394 by Rolando.Caloca

	DR - vk - Improve memory mgmt
	- Use 256MB pages for Device heap (or 1/8th if less).
	- Remove texture allocations not going through resource manager

Change 3988405 by Marcin.Undak

	Fix VulkanQuery crash on exit #codereview rolando.caloca #codereview arciel.rekman #rb arciel.rekman

Change 3988567 by Rolando.Caloca

	DR - vk - Support for packed global UBs on pci aperture heap

Change 3988668 by Rolando.Caloca

	DR - vk - Remove old comments

Change 3988956 by Marcin.Undak

	RecordPerformance: added option to skip building/cooking before tests #rb none #codereview arciel.rekman

Change 3989161 by Yuriy.ODonnell

	Static analysis error fix

Change 3989196 by Guillaume.Abadie

	Fixes a crash in light shaft's TAA pass.

	#jira UE-57366

Change 3989207 by Yuriy.ODonnell

	Refactored FRealtimeGPUProfilerFrame to avoid splitting profile events when calculating exclusive times of scopes. This allows tracing profiler to retain the hierarchical view of the data, while keeping CSV and GPU Stat system behavior intact.

Change 3989469 by Rolando.Caloca

	DR - vk - Fix for bad index; fix for bad transition

Change 3989772 by Yuriy.ODonnell

	Implemented timestamp calibration on Vulkan

Change 3990040 by Marcus.Wassmer

	Aftermath enabled by default.
	Removed unnecessary warning for other vendors

Change 3990064 by Mark.Satterthwaite

	Ensure that packed globals are reuploaded when the command-encoder is restarted - don't simply invalidate the existing parameters. This properly handles cases where a single logical render-pass is broken into multiple command-encoders and/or command-buffers - otherwise all shaders must reset all parameters each time. When we move between frames we *do* want to perform a full state reset though as previous frame globals are treated as invalid.

Change 3990080 by Mark.Satterthwaite

	Change the way we invalidate the visibility buffer between command-buffers and command-encoders so that on iOS you can reuse the same buffer within the same command-buffer, but not across more than one. The code provides an exception to this rule when running under the MetalRHI validation tools which can break each draw call into its own buffer.

Change 3990084 by Mark.Satterthwaite

	Get MetalStatistics compiling again.

Change 3990381 by Arciel.Rekman

	Bring back D3D12 in RecordPerformance.

Change 3991113 by Rolando.Caloca

	DR - Fix crash on RHI thread on mobile preview
	- Check RHI objects are not null in the PSO initializer

Change 3991191 by Ryan.Vance

	#jira UE-55952

	Reimplemented instanced stereo for forward lighting cull grid after the srv/ub clean up.

Change 3991343 by Rolando.Caloca

	DR - Copy from 3911492
	UE4 - Disabled parallel mobile bass pass by default. This is experiemental and not known to be useful on any mobile platform.

Change 3991375 by Mark.Satterthwaite

	Proper copyright assignment in the mtlpp debugger header.

Change 3993151 by Daniel.Wright

	Fix RTDF resource transition found by Rolando

Change 3993818 by Rolando.Caloca

	DR - Missed file

Change 3993923 by Krzysztof.Narkowicz

	Fixed crashes inside RemoveSpeedTreeWind() and RemoveSpeedTreeWind_RenderThread().
	FStaticMeshComponentRecreateRenderStateContext didn't flush deferred render updates causing stale RenderData to be left:
	1. Thumbnail manager called SetStaticMesh(nullptr), which added StaticMeshComponent to deferred render updates.
	2. UStaticMesh::Build called FStaticMeshComponentRecreateRenderStateContext and destroyed DenderData, but didn't touch Thumbnail's manager StaticMeshComponent as it was nullptr.
	3. This resulted in a StaticMeshComponent with stale RenderData pointer.

	#jira UE-54544

Change 3994033 by Rolando.Caloca

	DR - vk - Reworked layers & extensions, as we were not doing it properly
	- Remove -vulkanstandardvalidation and -novulkanstandardvalidation as they are not needed anymore

Change 3994275 by Mark.Satterthwaite

	Change to linking against mtlpp via AddEngineThirdPartyPrivateStaticDependencies and marking its header with THIRD_PARTY_* macros in the vain hope that might convince the remote compilation code to distribute the module to the remote machine when building MetalRHI.

	#jira UE-57507

Change 3994365 by Mark.Satterthwaite

	Pilfer some code from the old MetalHeap file to handle calculating texture memory size on older macOS and iOS builds when running with stats or LLM enabled.

	#jira UE-57513

Change 3994382 by Rolando.Caloca

	DR - vk - Some missing locks during image tracking

Change 3994422 by Rolando.Caloca

	DR - vk - Remove bogus shader format

Change 3995530 by Rolando.Caloca

	DR - vk - Fix for crash when validation is enabled

Change 3995531 by Rolando.Caloca

	DR - vk - Fix static analysis

Change 3995532 by Rolando.Caloca

	DR - vk - Added support for r.Vulkan.SaveValidationCache

Change 3995610 by Uriel.Doyon

	Texture Streaming Changes and Fixes:
	- Using the small FOV items (like scopes) now only affect visible primitives (through "r.Streaming.MaxHiddenPrimitiveViewBoost").
	- Static components added after the level is registered in the streaming manager are now handled correctly (fixes the low quality on the chests)
	- Dynamic components do not need to register to the streaming manager anymore.
	- Optimized dynamic component management by removing duplicate entries in the update list.
	- Added a pregarbage collect pass to the dynamic component management to optimize GC handling.
	- Added a budget reset logic whenever the scene requirements change significantly.
	- PIE worlds now have correct visibility information.
	- Fixed possible invalid memory access when processing the streaming manager slave views.
	- Refactored the incremental level texture data build to prevent new components from being unhandled.
	- Removed StreamingManager callbacks for NotifyActorSpawned() and NotifyPrimitiveAttached()
	- Added a StreamingManager callback NotifyPrimitiveUpdated(), to be used whenever a primitive streaming state must be updated.

	#jira none

Change 3995908 by Arciel.Rekman

	Fix compile errors when using new Vulkan queries.

Change 3995990 by Arciel.Rekman

	More compile fixes to new Vulkan queries.

	- MSVC did not catch this, clang did.

Change 3996101 by Rolando.Caloca

	DR - vk - Win32 compile fix

Change 3996323 by Mark.Satterthwaite

	Use the right include path to export the mtlpp headers.

	#jira UE-57507

Change 3996392 by Arciel.Rekman

	Vulkan: fix crash on start when using new queries.

	- CommandBufferManager was not yet set at that point and the code in queries relied on it.

Change 3996585 by Rolando.Caloca

	DR - Slight improvement to GL being black, but just a temporary 'workaround' as it's not correct.

Change 3998806 by Arciel.Rekman

	Fix Linux build (UE-57602).

	#jira UE-57602

Change 3998866 by Arciel.Rekman

	SubwaySequencer: fix old shader platform name.

Change 3998947 by Mark.Satterthwaite

	Silence deprecation warnings in CEF on macOS now that we've moved to 10.12 as the minimum.

	#jira UE-57577

Change 3998951 by Mark.Satterthwaite

	Fix last of the deprecation errors that I am aware of for macOS 10.12.

	#jira UE-57581

Change 3998984 by Mark.Satterthwaite

	Build mtlpp for iOS 9.0 not 9.3.

	#jira UE-57586

Change 3999065 by Rolando.Caloca

	DR - vk - Make sure we use version 1.0.0

	#jira UE-57521

Change 3999071 by Arne.Schober

	DR - [UE-55433, UE-57361] Hack SNORM support in OpenGL by re-interpreting UNORM. Underlying data is always SNORM.

	#jira UE-55433, UE-57361

Change 3999494 by Rolando.Caloca

	DR - Enable r.UnbindResourcesBetweenDrawsInDX11 in debug
	- Clear compute resources when r.UnbindResourcesBetweenDrawsInDX11 is enabled

Change 4000197 by Krzysztof.Narkowicz

	Mesh simplifier - normalize TexCoordWeights using min/max TexCoord range. This fixes precision issues for very big TexCoord values and allows to optimize for all TexCoord channels when channels have values of different magnitudes (e.g. non standard TexCoord data).
	#jira UE-54935

Change 4000305 by Yuriy.ODonnell

	Suppress PVS Studio warning V547 (Expression is always true) related to Aftermath

	Reported issue to PVS team and to NVIDIA. Confirmed false positive, fix coming in future PVS version (v6.24).

	#jira UE-57579

Change 4000853 by Arciel.Rekman

	Linux: fix not calling CrashReportClient (UE-57678).

	#jira UE-57678

Change 4001504 by Rolando.Caloca

	DR - vk - Fix transition

Change 4002460 by Krzysztof.Narkowicz

	Toggle for contant shadow length in word space
	Exposed contact shadows to Blueprints
	#jira none

Change 4002608 by Rolando.Caloca

	DR - vk - Fix static analysis
	- Fix potential debug image tracking crash
	- Comment out unused methods

Change 4002615 by Rolando.Caloca

	DR - vk - Allow r.Vulkan.WaitForIdleOnSubmit to be set at startup (e.g. in ConsoleVariables.ini)
	Previously, if your map needed to UpdateSkyCaptureContents on startup, an ensure would fail if GWaitForIdleOnSubmit was set.
	PrepareForCPURead needs to wait for the command buffer to finish before trying to read the results back, but the wait has already happened when r.Vulkan.WaitForIdleOnSubmit is set. Trying to wait again correctly complains that the command buffer is not in the correct state. So, skip the WaitForCmdBuffer call when r.Vulkan.WaitForIdleOnSubmit is set.

Change 4002640 by Rolando.Caloca

	DR - vk - Missing support for CVarDefaultBackBufferPixelFormat

Change 4002919 by Guillaume.Abadie

	Implements DOF's temporal upsampling pass for better dynamic resolution stability.

Change 4002984 by Guillaume.Abadie

	Integrates Sebastian Aaltonen's ALU optimisations for TAAU.

Change 4003112 by Olaf.Piesche

	Fir for TBB stall (resulting in severe hitches and hangs in the editor with stats active); tested multiple scenarios and encountered no hitches.

	#tests QAGame PerformanceTest and RenderTest map with various stats on and off

Change 4003159 by Mark.Satterthwaite

	Undo parts of changelist 3970553 - the ref-counted pointer approach to returning textures to the pool is not working as expected so we'll remove that. It'll be faster on the CPU without it and everything works thanks to the changes this CL made to the way textures were released.

	#jira UE-57538

Change 4003287 by zachary.wilson

	Adding reflection capture content to TM-LightingScenarios

Change 4003395 by Arne.Schober

	DR - Fix unitzialised value when clicking Go To in the editor
	#jira UE-57048

Change 4003425 by Rolando.Caloca

	DR - vk - Fix for new occlusion queries

Change 4003530 by Arne.Schober

	DR - Disable GPU Benchmark in headless configurations

	#jira UE-57673

Change 4003717 by Rolando.Caloca

	DR - vk - Fix for depth not store, stencil store

Change 4003719 by Rolando.Caloca

	DR - Minor switch to render pass

Change 4003720 by Mark.Satterthwaite

	Don't suballocate private memory buffers on Vega and only Vega as there is something wrong with the blits in those cases but I can't capture a GPU trace to find out what right now (the driver is broken) - could be a bug in my code but this works on Polaris and Nvidia so it will need to be filed as a radar for AMD.
	Remove the FMetalBufferChunk from FMetalBuffer and simply store a pointer to the owning Heap/Magazine allocator. The FMetalResourceHeap now calls a new Release function to return the buffer to the allocator which will be faster on the CPU.

	#jira UE-57659

Change 4003854 by Mark.Satterthwaite

	Undo parts of 3990064 and try a different approach to get the uniforms to upload and remain available in the right places. As the original bug has been lost to time we should keep an eye out for missing buffer bindings by running under the Metal validation layer periodically.

	#jira UE-57576

Change 4004709 by Rolando.Caloca

	DR - Support for D3D 11, 12 & Vulkan for UAVs off Index Buffers

Change 4005149 by Guillaume.Abadie

	Adds shader permutation to avoid clamping input buffer UV in DOF's gather pass.

Change 4005284 by Uriel.Doyon

	Resaved volume texture assets with proper engine version.

	#jira UE-57534

Change 4005286 by Guillaume.Abadie

	Reduces constant setup in DOF's gather pass.

Change 4005359 by Rolando.Caloca

	DR - vk - Fix annoying warning

Change 4005363 by Rolando.Caloca

	DR - Fix android not finding vulkan shaders

Change 4005457 by Rolando.Caloca

	DR - vk - Fix swapchain crash

Change 4005473 by Patrick.Kelly

	UE-57135: Editor crash if set Reflection Capture Resolution to be 64 and New a Default level

	Codde by Daniel
	Tested by Patrick

Change 4005474 by Rolando.Caloca

	DR - vk - Remove glsl code from shaders. Packaged QAGame goes from 176MB to 162MB

Change 4005759 by Krzysztof.Narkowicz

	Fixed a bug, where reflection capture build is called, even though we are in mobile preview mode.
	#jira UE-57743

Change 4005774 by Mark.Satterthwaite

	Update the wave intrinsics to avoid implicit bool->uint conversion that Apple don't like.

	#jira UE-57750

Change 4005974 by Mark.Satterthwaite

	Don't use cubemap array types on iOS Metal as they aren't available on all devices and we need to maintain backward compatibiliy for years to come.

	#jira UE-57083

Change 4006056 by Mark.Satterthwaite

	Remove the use of the PrimitiveType argument from Metal draw calls.

	#jira UE-57822

Change 4006139 by Mark.Satterthwaite

	- Move the render-pass functions into the MetalRHI implementation for later alteration.
	- Implement Index buffer UAVs for Metal - makes them more like vertex-buffers so this is one more step on the road to a unified buffer base-class implementation.

Change 4006215 by Mark.Satterthwaite

	Metal's begin & end render/compute pass API implementation will take some time, but for now make it not depend on the parent stub implementation.

Change 4006394 by Mark.Satterthwaite

	In lieu of a real instruction count just use the number of lines in the "Main" function of the shader as the instruction count for Metal.

	#jira UE-57551

Change 4006493 by Mark.Satterthwaite

	MetalRHI can currently support 4-component formats for Buffer UAVs - this might need some thought in the future as the API evolves but we might as well take advantage while we can.

Change 4006495 by Daniel.Wright

	Integrate from Refactor branch
	* New FMaterialRenderProxy function GetMaterialWithFallback which provides both the FMaterialRenderProxy and FMaterial.  Needed when falling back to default material, so that proxy and material resource match.
	* Local vertex factory uniform buffer

Change 4006851 by Brian.Karis

	Fix for joined charts forming an L to inflate both axii.

	Thanks to Jess Kube of The Coalition.

Change 4006852 by Brian.Karis

	Fix for hard coded reflection capture cube map size. Should fix light static light aliasing in captures

Change 4006918 by Brian.Karis

	New ByteBuffer functionality. Memcpy and scatter upload. Can implement GPU side TArray reflection.

	Not yet used by checked in code. WIP optimization.

Change 4007246 by Guillaume.Abadie

	Creates lower quality permutation for DOF's gathering pass, without Coc based weighting of the samples, and lower number of gathering ring for fast accumulator.

Change 4007291 by Guillaume.Abadie

	Exposes more DOF scalability settings.

Change 4007328 by Guillaume.Abadie

	Optimises DOF's half res only setup pass using gather4

Change 4007627 by Richard.Wallis

	Fix for when Magic Mouse cannot zoom in World Composition editor.  Missing default SNodePanel::OnMouseMove behaviour.  Tested using a classic 2xbutton + wheel mouse and a Mac MagicMouse.

	#jira UE-57030

Change 4007682 by Richard.Wallis

	No video when playing HLS streaming video on Mac.  2 Issues, FPS was zero making duration for video sample buffer nonsense and Video Track dimensions were going to zero on the AVAsset once fully initialized when playing HSL streams.  Now cache relevant details and handle zero frame rate.

	Notes:
	- Caching the frame rate is not as important as we could look it up each time and fix for zero - ignoring that at the moment.
	- Assume we DO NOT want the FrameSize to be the last fetched video frame size from the AvfMediaVideoSampler as I think that is the video quality for streaming video and not the media frame size.
	- Renamed a variable in the AvfMediaVideoSample - was called FrameRate but it was the FrameDuration by that point.

	#jira UE-56734

Change 4007731 by Rolando.Caloca

	DR - Disable byte buffers on non-hlsl based platforms

	#jira UE-57851

Change 4007741 by Rolando.Caloca

	DR - Disable byte buffers on hlslcc platforms

Change 4007782 by Mark.Satterthwaite

	Force Metal shaders, including the stdlib, to recompile.

Change 4007918 by Rolando.Caloca

	DR - vk - Some static asserts

Change 4008404 by Arciel.Rekman

	Do not crash on incompatible Vulkan drivers (UE-57521).

	#jira UE-57521

Change 4008442 by Daniel.Wright

	Better comments on ERHIFeatureLevel expectations

Change 4008494 by Arne.Schober

	DR - moved bDeletedThroughDeferredCleanup before begincleanup to catch cases where the reference is added twice to the array. also removed finishcleanup as all they ever did was deleting the pointer anyway, and it sould be adfded if such functionallity is ever required fom outside of the regular destructor.

	#jira UE-57754

Change 4008730 by Mark.Satterthwaite

	After the most recent changes to handling uniform buffer dirty bits in MetalRHI we should guard against attempts to set an unbound uniform buffer.

	#jira UE-57870

Change 4008949 by Brian.Karis

	Fix compile warning

Change 4008951 by Brian.Karis

	Added LTC LUT textures

Change 4009326 by Guillaume.Abadie

	Compiles out DOF's gathering bokeh simulation on platform other than desktop.

Change 4009380 by Krzysztof.Narkowicz

	Moved area light code before the contact shadows, so contact shadows use representative light's direction.
	Merged all contact shadows shader code.
	Contact shadows keep constant screen space length independent of FoV settings.
	Contact shadows for translucents.
	Contact shadows for eye.

Change 4009555 by Guillaume.Abadie

	Splits DOFCocTile.usf in two.

Change 4009999 by Yuriy.ODonnell

	MallocStomp can now be enabled on certain platforms using '-stompmalloc' command line argument.

	Previously it was necessary to modify MallocaStomp.h and re-compile the engine.
	Currently supported platforms: Win64, Mac, Linux.

	Replaced hard-coded page size with FPlatformMemory::GetConstants().PageSize.

Change 4010288 by Rolando.Caloca

	DR - vk - Fix for vertex streams

Change 4010289 by Krzysztof.Narkowicz

	D3D12 - fixed depth bounds bug, where depth bounds wasn't properly set to [0;1] after disabling.

	#jira UE-57510

Change 4010297 by Rolando.Caloca

	DR - vk - Remove some functions for android

Change 4010315 by Rolando.Caloca

	DR - vk - Remove create info macro

Change 4010451 by Rolando.Caloca

	DR - vk - Reuse samplers
	- Infiltrator goes from 5759 to 24 samplers!

Change 4010627 by Rolando.Caloca

	DR - vk - Fix missing values for tracking swapchain validation

Change 4011924 by Guillaume.Abadie

	Implements tile based early return optimisation on DOF's postfiltering method.

Change 4011941 by Guillaume.Abadie

	Shaves some ALU in DOF's accumulator for LowQuality permutation.

Change 4012093 by Yuriy.ODonnell

	Disable MallocStompOverrunTest() in static analysis config, as it intentionally performs an out-of-bounds access.

Change 4012195 by Rolando.Caloca

	DR - vk - Fix for mobile backbuffer layout

Change 4012202 by Rolando.Caloca

	DR - vk - Don't use staging buffers on UMA

Change 4012467 by Rolando.Caloca

	DR - Remove redundant check

Change 4012486 by Rolando.Caloca

	DR - Fix missing transition

Change 4012518 by Guillaume.Abadie

	Implements fast shader permutation for DOF's TAA pass.

Change 4013084 by Arciel.Rekman

	Fix for Linux clock discrepancy.

	- Causing at least one precision issue, possibly more.

	(Edigrating 4003273, 4012462 from //UE4/Dev-Editor/... to //UE4/Dev-Rendering/...)

Change 4013266 by Uriel.Doyon

	Fixed crash when setting SceneDepthTextureNonMS and not having valid depth buffers in the  SceneContext.

Change 4013626 by Uriel.Doyon

	Fixed crash in the lighting build when creating a blueprint of the ALight and placing a light component in it.
	#jira UE-51672

Change 4013805 by Rolando.Caloca

	DR - Fix more missing transitions

Change 4014128 by Arne.Schober

	DR - Do not create LocalVFUniformBuffer when running without MVF

	#jira UE-57929

Change 4014193 by Uriel.Doyon

	Editing component transforms now invalidate the component's lighting cache.

	#jira UE-48134

Change 4014282 by Rolando.Caloca

	DR - vk - Remove extra validation during dump

Change 4014584 by Uriel.Doyon

	Duplicated static meshes now generate a new GUID to prevent possible issues with lightmass.
	#jira UE-49064

Change 4014604 by Uriel.Doyon

	UStaticMesh  postduplicate now only generates a new GUID if !bDuplicateForPIE.

Change 4015460 by Guillaume.Abadie

	Composes separate translucency within DOF's recombine pass.

Change 4015571 by Guillaume.Abadie

	Refactors tonemapper to use global shader permutation API, that adds permutation for HDR output device rather than dynamic branching that some shader compiler are not very well optimizing.

Change 4015984 by Krzysztof.Narkowicz

	Fixed crash inside DFAO resource allocation, when DFAO viewport has zero area.

	#jira UE-58000

Change 4016056 by Mark.Satterthwaite

	Fix Mac Metal shader compilation of texture cube arrays.

Change 4016062 by Richard.Wallis

	Convert things like Space, Delete, F6 etc to unicode so they display correctly on the Mac menu rather than first letter of word.  Added the default Mac commands to the GenericCommands so we get a Chord overwrite message and stop things like cmd+ q / w / h from getting bound.

	#jira UE-46999

Change 4016109 by Mark.Satterthwaite

	One unified Metal buffer implementation - will make further changes a heck of a lot easier.

Change 4016221 by Patrick.Kelly

	UE-57617: Ensure changing viewmode to ShaderComplexity while in -game

Change 4016238 by Guillaume.Abadie

	Makes clang happy again in Tonemapper.

Change 4016309 by Mark.Satterthwaite

	More *_RenderThread implementations for MetalRHI.

Change 4016414 by Mark.Satterthwaite

	And MetalRHI version of CreateStructuredBuffer_RenderThread...

Change 4016498 by Mark.Satterthwaite

	Don't hold on to the uniform buffers bound to the hull shader when switching to a tessellated draw call as they'll have the wrong buffer layout.

	#jira UE-57930

Change 4017394 by Juan.Canada

	OpenGL: Fixed shading artifacts due incorrect UNORM/SNORM conversions in skin/skincache/computetangent shaderss.
	#jira UE-57691

Change 4017522 by Rolando.Caloca

	DR - vk - Remove unused code path (old mip generation detection)

Change 4017539 by Rolando.Caloca

	DR - vk - Fix for sky lighting mips showing green on AMD

Change 4017542 by Arciel.Rekman

	Moved appCountTrailingZeros to a non-SSE header (fixes ARM64 build).

	- Arguably WITH_SLI shouldn't apply to Linux on ARM but the fact that the function wasn't available is bad on its own.

Change 4017827 by Guillaume.Abadie

	Optimises DOF's scattering cost by a third.

Change 4017835 by Rolando.Caloca

	DR - Only allow a render pass to generate mips for one color render target

Change 4017889 by Mark.Satterthwaite

	Cache all the Metal state objects to avoid hitting the API unnecessarily.

Change 4018251 by Mark.Satterthwaite

	Fix broken rendering on Metal that tracked back to the innocuous looking changes in CL #4006495 (no blame attached - these changes are entirely reasonable) and cause various bugs in QAGame's TM-DistanceFields, ElementalDemo and probably more. Doesn't fix broken SpeedTree rendering :(.

	MetalRHI was allowing uniform buffers to blow away linear texture buffers when the constant buffer has been elided due to dead-code elimination. This problem can manifest without linear textures if the uniform buffer contains both constant data and a resource-table but the shader doesn't use any of the constant data. That's because Metal doesn't separate constant buffers from any other kind of buffer unlike D3D which separates all the slots out - and Metal doesn't provide enough buffers to emulate the D3D arrangement. So far this has only manifested in the MVF + Linear Texture case but a more robust solution will be necessary long term.

Change 4018514 by Guillaume.Abadie

	Implements r.DOF.Scatter.MinCocRadius.

Change 4018553 by Guillaume.Abadie

	Implements r.DOF.Scatter.MaxSpriteRatio to control the budget upperbound of DOF's scattering

Change 4020369 by Yuriy.ODonnell

	Disable MallocStompOverrunTest in all static analysis configs (using USING_CODE_ANALYSIS macro)

	Previously was only disabled for PVS-Studio.

Change 4020620 by Arciel.Rekman

	Fix XboxOne CIS (fallout of appCountTrailingZeros move).

Change 4020949 by Guillaume.Abadie

	Configures DOF in scalability settings.

Change 4021593 by Rolando.Caloca

	DR - vk - Support for Aftermath style api on AMD

Change 4021740 by Rolando.Caloca

	DR - vk - Change log output

Change 4022008 by Uriel.Doyon

	Fixed renderthread stalls when streaming texture mips on low end systems.

Change 4022135 by Rolando.Caloca

	DR - vk - Fix last mip's layout during mip chain creation

Change 4022607 by Jian.Ru

	Speculative fix for a bug where an invalid vertex buffer is deferenced
	#jira UE-56229

Change 4022890 by Rolando.Caloca

	DR - Fix reference count not getting released

Change 4023540 by Mark.Satterthwaite

	Avoid some pointless retain/release calls on Metal Encoders.

Change 4023796 by Marcus.Wassmer

	Tell users they are over the maximum size when allocating very large rendertargets.

Change 4025337 by Yuriy.ODonnell

	Improved use-after-free detection mechanism and physical memory usage of MallocStomp on Windows.

	MallocStomp on Windows will now reserve virtual address space for every allocation and then commit physical pages only to the valid usable part.
	Physical pages will be unmapped on Free, but virtual address space will not be released and therefore will never be re-used.

	Virtual address space is allocated from the OS in blocks of 1GB and then linearly sub-allocated.
	This reduces VA space usage, as VirtualAlloc returns blocks on 64KB granularity even if we just need 4KB. As a small bonus, this also reduces number of syscalls per allocation.

	This dramatically increases accuracy of use-after-free detection, but consumes significant amount of memory for the OS page table.
	Virtual memory limit for a process on Win10 is 128 TB, which means we can afford to keep virtual memory reserved for a long time.
	Running Infiltrator demo consumes ~700MB of virtual address space per second.

	Additionally, committing physical pages only for the usable part of the entire virtual block reduces physical memory usage by ~30% compared to old behavior,
	which allocated and committed entire block of pages via BinnedAllocFromOS and then marks border page as non-accessible.

Change 4026047 by Rolando.Caloca

	DR - Fix test/shipping

	#jira UE-58148

Change 4026150 by Krzysztof.Narkowicz

	Force proper ordering of buffer visualization materials - after tonemapping (so exposure doesn't influence it) and before editor stuff like icons.
	#jira UE-57992

Change 4026226 by Rolando.Caloca

	DR - Fix static analysis

	#jira UE-58150

Change 4026354 by Jian.Ru

	Debug check trying to catch a crash. Only enabled in editor build
	#jira UE-50111

Change 4026655 by Rolando.Caloca

	DR - Fix for static analysis

	#jira UE-58149

Change 4026763 by Rolando.Caloca

	DR - Remove references to defunct CCT to avoid confusing licensees

Change 4027167 by Uriel.Doyon

	Fixed possible out of bound buffer access when serializing with FDuplicateDataWriter.

	#jira UE-56509

Change 4027850 by Jian.Ru

	Prevent log spam
	#jira UE-50111

Change 4029546 by Rolando.Caloca

	DR - Compile fixes

Change 4029624 by Yuriy.ODonnell

	Addressed static analysis errors in MallocStomp

	- VirtualAlloc return value is now explicitly checked.
	- C6250 is suppressed, as VirtualFree does not release address space by design.

Change 4030225 by Yuriy.ODonnell

	Static analysis warning fix: make sure declaration of Sleep() is consistent between Windows headers and TBB

	The complexity with this particular case is that the warning is generated in synchapi.h, which is included by some Windows headers.
	If a module includes TBB and then Windows platform headers, static analyzer will report this warning.
	Suppressing it would require wrapping all instances of Windows header includes in third-party macros.

	Current pragmatic solution is to modify the Sleep() declaration in TBB header to be consistent with Windows and to report the issue to Intel for a permanent fix.

Change 4030440 by Rolando.Caloca

	DR - Fix crash on mobile

	#jira UE-58222

Change 4030570 by Daniel.Wright

	Allow null SRV's in uniform buffers for feature levels that don't support SRV's in shaders

Change 4030618 by Arne.Schober

	DR - missing tangent/normal sign conversion after integration from main
	#jira UE-58224

Change 4031588 by Rolando.Caloca

	DR - vk - Fix compile error when missing vkCmdWriteBufferMarkerAMD

Change 4032145 by Mark.Satterthwaite

	Fix UE-58268 by only emitting the base_instance/base_vertex variables required to fix-up the instance/vertex ID values to match D3D when the Metal version is 1.1 or higher, earlier versions don't support these features.

	#jira UE-58268

Change 4032209 by Rolando.Caloca

	DR - Fix crash on EngineTest: Mesh Batch's UserIndex is not a union anymore

Change 4033178 by Guillaume.Abadie

	Fixes FXAA sampling outside viewports, that was causing black outline on bottom and right edge of the screen when ViewSize != BufferSize, problematic for some screenshot automated test.

	#jira UE-58151

Change 4034489 by Daniel.Wright

	Fixed UStaticMeshComponent modifying its UStaticMesh when undoing a change.  This caused a crash when other static mesh components using the same mesh asset were rendered, since their rendering state was not recreated.  A component should not modify its asset during PostEditUndo.
	 * This behavior has been present for a long time but was previously hidden because only the vertex factory of the mesh asset is cached in static draw lists, not any of its rendering resources (eg vertex declaration).

Change 4035157 by Uriel.Doyon

	Fixed deadlock in the streaming code when running with -onethread.
	#jira UE-58299

Change 4035198 by Rolando.Caloca

	DR - vk - Fix issue when an older SDK was installed, UBT would pick it (should pick the newer of ThirdParty\Vulkan or installed SDK).

	#jira UE-58267

Change 4035730 by Arne.Schober

	DR - Fix missing Fog parameters during LightScattering Injection

	#jira UE-57608

Change 4035843 by Daniel.Wright

	Reimplemented support for EyeAdaptation node in opaque materials

Change 4036837 by Marcus.Wassmer

	Replace some of the screenshots to match new un-tonemapped buffer visualization

Change 4036980 by Rolando.Caloca

	DR - vk - Fix deadlock contention during mem allocation on Linux

Change 4037225 by Guillaume.Abadie

	Fixes jittering selection outline.

	#jira UE-58350

Change 4038056 by Marcus.Wassmer

	roll back changelist 4026150.  breaks a bunch of automated tests by cutting off half the image.
	Change can go back in later with that part fixed also

Change 4038296 by Jian.Ru

	Static analysis fix
	#jira UE-58377

Change 4038402 by Ben.Marsh

	Suppress IncludeTool warnings caused by CL 3998947.

Change 4038514 by Arne.Schober

	DR - Fix case with MVF where instance offset is not supported by the API (in this case only foliage OpenGL and TvOS), usually the buffers are offsetted instead but with MVF we do not use offsetted buffers, therfore the offset needs to be passed into the shader although we are drawing with offset of 0.

	#jira UE-57652

Change 4038747 by Marcus.Wassmer

	Back out changelist 3853645, causing us to lose shadows in the shaderhair test

Change 4040138 by Rolando.Caloca

	DR - Fix compile warning

Change 4041614 by Rolando.Caloca

	DR - vk - Fix for Oculus module

	#jira UE-58267

Change 3810277 by Daniel.Wright

	Ray Traced Distance Field shadows use a two pass tile culling algorithm with no tile max - fixes flickering from tile overflow in dense areas or with a low sun angle.  Costs .2ms on PS4.
	The distance field scene buffers now use float4 on PS4 and Xbox, saves .1ms on PS4.

Change 3817029 by Uriel.Doyon

	Added UVolumeTexture, which use 3D textures. Compressed formats are supported on DX11, DX12, PS4 and XB1.
	Projects targetting OpengGL don't have access to compressed formats (as the implementation has texture tiling issues).
	Add "r.AllowVolumeTextureAssetCreation" set as 0 by default, which controls whether volume texture can be sampled in materials and whether they can be created from 2D texture assets.
	Platform not supporting BC7, will now fallback on RGBA8 instead of DXT to preserve quality, in an attemps to increase usage of BC7.

	#jira UE-32263

Change 3819960 by Michael.Lentine

	Expose UEPhysics Clothing Parameters through UI.

Change 3823401 by Rolando.Caloca

	DR - Add NumQueriesInBatch to RHIBeginOcclusionQueryBatch

Change 3844805 by Arne.Schober

	DR - Increased Intermediate normal of Umodel and Skelmesh from 8bit Unorm Compressed to float. A resave/rebuid/reimport of the meshes is recommended to recover some lost precision.
	Fixed an issue with compressed (packed) normals on the GPU which were off by one integer representation. Also switched from UNORM to SNORM to get a discrete zero representation and removed some mads from all the VertexShaders.

Change 3847283 by Marcus.Wassmer

	Extra fixes from Uriel

Change 3876607 by Rolando.Caloca

	DR - Use render passes when running occlusion queries
	- Removes the RHI(Begin|End)OcclusionQueryBatch API

Change 3903799 by Daniel.Wright

	[Integrate] Pass Uniform Buffers
	* All pass-constant shader inputs should go into the appropriate pass uniform buffer, instead of being set per-draw
	* Moved many per-draw base pass parameters over to the Base Pass Uniform Buffer
	* Opaque and Translucent base pass shaders have different uniform buffers, which allows compile errors when accessing an invalid resource (eg GBuffer in Opaque), instead of silently falling back to GBlackTexture

	Uniform buffers can now contain nested structs with UNIFORM_MEMBER_STRUCT()
	* This allows composing a uniform buffer at a particular update frequency out of many features, with encapsulation of each feature's parameters in a struct.
	* Eg deferred fog uses FFogUniformParameters, but so does translucency in the base pass, where FFogUniformParameters is reused nested inside the base pass uniform buffer.
	* Resources can now be located anywhere in the uniform buffer.  Padding is inserted to the cbuffer representation to keep memory layouts matching.  In the future the cbuffer could be compacted.
	* RemoveUniformBuffersFromSource() which works around HLSLCC lack of struct initializers now handles nested structs

Change 3917500 by Rolando.Caloca

	DR - Change depth bounds so only the enable bit is in the PSO, allow min/max to be dynamically modified

Change 3964907 by Guillaume.Abadie

	Implements RectList topology support in RHI.

Change 3979171 by Mark.Satterthwaite

	Copying //Tasks/UE4/Dev-UERNDR-354-mtlpp to Dev-Rendering (//UE4/Dev-Rendering):

	Rewrites MetalRHI in terms of mtlpp, which is a C++ wrapper library built around Metal's Objective-C API that attempts to reduce overheads and eliminate resource lifetime errors.

	Regarding mtlpp:
	- The mtlpp library uses C++ constructor/destructor and smart-pointer style management of Objective-C retain/release calls to prevent over- and under-release problems.
	- To reduce Objective-C overheads the mtlpp library caches the internal C-function that implements the Objective-C selectors for the most commonly used Metal protocol types and calls the function directly - this avoids objc_msgSend which does this look-up dynamically and thus improves CPU performance slightly.
	- Another advantage is that mtlpp provides infrastructure to extend the Metal API slightly to help improve MetalRHI - the two important aspects are mtlpp::CommandBufferFence which provides a consistent CPU<->GPU synchronisation primitive and sub-buffer allocations from mtlpp::Buffer which allow for far superior memory management.
	- Validation functionality is also provided by mtlpp to detect CPU vs. GPU data races and resource lifetime validation - this is expensive and is thus optional and compiled out from Shipping binaries that should be used when performance is most critical. The validation only works between resource modification and *submitted* command-buffers - anything that is being actively encoded on the CPU is ignored and it remains the responsibility of the application to validate the order of operations when encoding.

	Apple Platform:
	- LLM support which tracks Objective-C objects is enabled only on macOS - we don't have the necessary libraries to intercept and override the internal system calls on iOS.

	MetalRHI:
	- All the types are switched over, (mostly) insuling the external API from the horror of Metal and Objective-C.
	- Buffers are now managed quite differently, small buffers are allocated from a magazine allocator that allocates in fixed blocks from a larger parent buffer, intermediate sized buffers are allocated from a simple heap allocator that wraps a larger buffer and anything of reasonable size (>2Mb) will use the pooled allocator. This *radically* reduces the number of buffer resources, by as much as a factor of 10, because they are now sub-allocated without the need to use MTLHeap or MTLFence so they are performance equivalent to the existing implementation on the GPU and much faster on the CPU. Total memory use is approximately the same.
	- Vertex & index buffer management has been updated to reflect changes in the management and to avoid reallocating buffers which provide a Linear Texture (for SRVs) unless strictly necessary. This ensures that even in cases where a dynamic buffer is updated multiple times in a frame it will still work acceptably well.
	- The Metal ring-buffer implementation is completely different again, this time it can use Managed memory on macOS which allows for much better performance on eGPUs which will be more and more important for Mac.
	- Everyone that needs to wait on a command-buffer fence (rather than a command-buffer itself) now use mtlpp::CommandBufferFence, which prevents race conditions between the different command-buffer handlers (which sometimes execute out of order).
	- LLM tracking should now report the same data as the MetalRHI stats group for buffer & texture allocations - there is no segmentation for Vertex/index/Structured/Uniform allocations in Metal so these numbers are going to be wrong and will need to be rethought.
	- What will be unseen are the number of small but important resource usage fixes that avoid stale resources from being bound to the device after the point at which they become invalid. This should eliminate a class of errors where the GPU uses a resource pointer that is modified by the CPU and was necessary to satisfy the new mtlpp validation code.

	Other:
	- Remove the Metal focused workarounds from the ClothBuffer resource binding and related vertex-buffer SRV - these were put in when MetalRHI/MetalShaderFormat couldn't handle float->uint conversions correctly and they should now.
	- Fix a validation error caused by trying to render a 0-sized scissor rect which is invalid in Metal and simply pointless elsewhere.
	- Consistency of disabling the Manual Vertex Fetch behaviour in shaders.

	#jira UERNDR-354

Change 3979312 by Rolando.Caloca

	DR - Remove bogus bKeepOriginalSurface parameter in CopyToResolveTarget

Change 4005122 by Rolando.Caloca

	DR - Support for PS4 Index Buffer UAVs

Change 4016298 by Guillaume.Abadie

	Fixes DOF hybrid scattering on platforms that supports RectList topology.

Change 4018575 by Guillaume.Abadie

	Optimises DOF's reduce pass when doing scattering compilation.

Change 4020317 by Guillaume.Abadie

	Implements WaveBroadcastIntrinsics.ush.

[CL 4042226 by Marcus Wassmer in Main branch]
2018-05-01 10:36:33 -04:00
Ben Marsh
7ce4c05fda Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3851142 by Robert.Manuszewski

	When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.

Change 3853797 by Ben.Marsh

	BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...

	Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.

Change 3857540 by Graeme.Thornton

	Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed

Change 3860062 by Steve.Robb

	Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).

Change 3860138 by Steve.Robb

	Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.

Change 3860273 by Steve.Robb

	Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.

Change 3863203 by Steve.Robb

	Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).

	See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html

Change 3864588 by Graeme.Thornton

	Crypto Keys Improvements
	 - Removed UAT command line params for encryption. Centrally configured by the editor settings now.
	 - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
	 - Minor refactoring of UAT encryption processing to use the new cryptokeys json file
	 - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
	 - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks

Change 3864691 by Robert.Manuszewski

	Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.

Change 3864744 by Robert.Manuszewski

	Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.

Change 3864816 by Graeme.Thornton

	TBA: Minor formatting improvements to textasset commandlet

Change 3868939 by Graeme.Thornton

	TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory

Change 3869031 by Graeme.Thornton

	TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log

Change 3871802 by Steve.Robb

	Class cast flags and property flags are now visible in the debugger.

Change 3871863 by Robert.Manuszewski

	Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.

Change 3874413 by Steve.Robb

	Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
	TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.

Change 3874457 by Ben.Marsh

	When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.

	The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.

Change 3876435 by Robert.Manuszewski

	Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever

Change 3878762 by Robert.Manuszewski

	Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.

Change 3878850 by Robert.Manuszewski

	SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.

Change 3881331 by Graeme.Thornton

	TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter

Change 3886983 by Ben.Marsh

	UGS: Fix notification window not expanding to fit long captions.

Change 3887006 by Ben.Marsh

	UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.

Change 3887500 by Ben.Marsh

	UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).

	Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.

Change 3887513 by Ben.Marsh

	UGS: Fix badge text drawing outside the clipping bounds.

Change 3888010 by Josh.Engebretson

	Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
	#jira none

Change 3888418 by Ben.Marsh

	UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.

Change 3889457 by Steve.Robb

	GitHub #4457 : Display abbreviations properly when converting FNames to display string

	#jira UE-54611

Change 3889547 by Ben.Marsh

	UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.

	Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:

	[Badges]
	+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")

	The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.

Change 3889726 by Ben.Marsh

	UGS: Fix description badges that don't have any associated URL.

Change 3889995 by Ben.Marsh

	UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.

Change 3890007 by Ben.Marsh

	UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.

Change 3890057 by Ben.Marsh

	UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.

Change 3891069 by Robert.Manuszewski

	Fixing a crash in MallocBinned2 when running with malloc profiler enabled.

Change 3891084 by Steve.Robb

	Back out changelist 3881331 because it's causing cook errors.

Change 3891100 by Ben.Marsh

	UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:

	[//UE4/Main/Samples/Games/ShooterGame.uproject]
	Message=:alert:  Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.

	A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:

Change 3891346 by Steve.Robb

	TSharedPtr::operator bool, and some usage of it.

Change 3891787 by Steve.Robb

	Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().

Change 3892379 by Ben.Marsh

	UGS: Fix notification window containing the group fix for each build type.

Change 3892400 by Ben.Marsh

	UGS: Shrink the size of the alert panel.

Change 3892496 by Ben.Marsh

	UGS: Dim badges for changes which aren't eligable for syncing.

Change 3893932 by Steve.Robb

	Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.

Change 3895872 by Ben.Marsh

	UGS: Show the stream name in tab labels by default.

Change 3896366 by Ben.Marsh

	UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.

	Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.

Change 3896367 by Ben.Marsh

	UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.

Change 3896425 by Ben.Marsh

	UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.

Change 3896461 by Ben.Marsh

	UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:

	[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
	StatusPanelColor=#dcdcf0

Change 3899530 by Ben.Marsh

	Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.

Change 3901164 by Ben.Marsh

	UGS: Add a class to store all the resources for the status panel.

Change 3901165 by Graeme.Thornton

	TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written

Change 3901301 by Ben.Marsh

	UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.

Change 3902454 by Ben.Marsh

	UGS: Fix logo not being redrawn in the correct position when starting to sync.

Change 3903416 by Ben.Marsh

	UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.

Change 3904154 by Josh.Engebretson

	Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
	#jira UE-55442

Change 3904648 by Ben.Marsh

	UGS: Remove files from the workspace that are excluded by the sync filter.

	The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.

	#jira UE-47335

Change 3905442 by Steve.Robb

	Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
	Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.

Change 3905629 by Ben.Marsh

	UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.

Change 3906447 by Steve.Robb

	Rename EConvertFromTypeResult enumerators.

Change 3906574 by Steve.Robb

	Crash fix for container conversion failure during tagged property import.

Change 3909255 by Daniel.Lamb

	Fixed issue with DLCpackaging crashing on windows
	#jira UE-42880
	#test EngineTest windows

Change 3909270 by Steve.Robb

	Seek instead of skipping bad properties byte-by-byte.

Change 3909324 by Steve.Robb

	Use switch statement instead of repeated if/else.

Change 3909525 by Ben.Marsh

	UGS: Use the StudioEditor target when syncing content-only Enterprise projects.

Change 3911754 by Daniel.Lamb

	Fix for building pak patches.

	#jira UE-55340

Change 3911942 by Robert.Manuszewski

	Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.

Change 3913067 by Ben.Marsh

	UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.

Change 3913209 by Ben.Marsh

	UGS: Fix incorrect target name when compiling Enterprise projects.

Change 3917358 by Steve.Robb

	Fix for GetLen(FString).

Change 3919610 by Ben.Marsh

	Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.

	CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.

Change 3921002 by Ben.Marsh

	UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).

Change 3921008 by Ben.Marsh

	UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.

Change 3921906 by Steve.Robb

	New interpolation functions for quaternions.

	https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html

Change 3921978 by Graeme.Thornton

	TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.

Change 3924520 by Graeme.Thornton

	UnrealPak: Improve encryption summary log messages

Change 3924522 by Graeme.Thornton

	UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames

Change 3924604 by Graeme.Thornton

	UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.

Change 3924638 by Graeme.Thornton

	Crypto: Improvements to parsing of old fashioned encryption.ini settings:
	 - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
	 - Signing keys will emit an error when they are too long (>64bytes)
	 - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues

	#jira UE-55080

Change 3924747 by Steve.Robb

	Fix for degrees.

Change 3925459 by Chad.Garyet

	Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.

Change 3926703 by Ben.Marsh

	BuildGraph: Include the path to the XML file when displaying an XML parse error.

Change 3926917 by Ben.Marsh

	UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).

	Set the solution name using an entry in BuildConfiguration.xml as follows:

		<ProjectFileGenerator>
			<MasterProjectName>UE4_Main</MasterProjectName>
		</ProjectFileGenerator>

Change 3927683 by Graeme.Thornton

	UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.

Change 3928111 by Ben.Marsh

	UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.

Change 3928926 by Ben.Marsh

	BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.

Change 3931041 by Graeme.Thornton

	TBA: Add option to textasset commandlet to also include engine content in a resave

Change 3931043 by Graeme.Thornton

	TBA: Redirect some more FArchive members in FArchiveProxy

Change 3931913 by Ben.Marsh

	UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.

	#jira UE-47368

Change 3932419 by Ben.Marsh

	UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.

	#jira UE-33541

Change 3932483 by Ben.Marsh

	PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)


Change 3932624 by Ben.Marsh

	UGS: Add an error dialog when trying to clean the workspace before closing the editor.

	#jira UE-42308

Change 3932679 by Ben.Marsh

	UGS: Add the date/time to the end of the sync log.

	#jira UE-33540

Change 3932705 by Ben.Marsh

	UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.

	#jira UE-53182

Change 3933318 by Ben.Marsh

	UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.

	#jira UE-33535, UE-53914

Change 3933840 by Graeme.Thornton

	TBA: When loading assets, only use structured archive adapters for exports when loading text files.

Change 3936040 by Ben.Marsh

	UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.

	Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.

	#jira UE-52870

Change 3940230 by Robert.Manuszewski

	Fixes for FilenameToLongPackageName crashes when runnign commandlets

Change 3940240 by Graeme.Thornton

	Automated cycling of encryption and signing keys

Change 3940243 by Graeme.Thornton

	UAT: CryptoKeys automation script

Change 3940321 by Ben.Marsh

	UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.

Change 3940538 by Ben.Marsh

	UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.

Change 3941285 by Gil.Gribb

	UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
	#jira none

Change 3942404 by Graeme.Thornton

	Pak Signing:
	 - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
	 - Format the signedarchivereader output to match the pak precacher
	 - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
	 - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
	 - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.

Change 3942825 by Ben.Marsh

	UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.

Change 3942839 by Ben.Marsh

	UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.

Change 3943153 by Ben.Marsh

	Use the correct logical processor count in ParallelExecutor.

Change 3943210 by Ben.Marsh

	UGS: Add an option to the editor arguments window that allows prompting before launching the editor.

Change 3943329 by Ben.Marsh

	UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.

Change 3944294 by Ben.Marsh

	UGS: Prompt for confirmation before removing any files from the workspace.

Change 3945283 by Ben.Marsh

	UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.

Change 3945325 by Ben.Marsh

	PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)


Change 3947359 by Graeme.Thornton

	TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.

Change 3947360 by Graeme.Thornton

	TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.

Change 3949431 by Graeme.Thornton

	TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks

Change 3950843 by Ben.Marsh

	UBT: Add a better error if an XML config file is corrupt.

Change 3952504 by Steve.Robb

	GitHub #4545 : UE-55924: CaseSensitive token recognition

	#jira UE-55961
	#jira UE-55924

Change 3952707 by Graeme.Thornton

	Make RandInit(...) log message verbose

Change 3954694 by Ben.Marsh

	BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.

	To define a Macro, use the syntax:

		<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
			<Log Message="First message" If="$(PrintFirstMessage)"/>
			<Log Message="Second message" If="$(PrintSecondMessage)"/>
			<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
		</Macro>

	To expand a macro, use the syntax:

		<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>

	An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.

	Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.

Change 3954695 by Ben.Marsh

	PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)


	#jira UE-56283

Change 3954961 by Ben.Marsh

	UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.

	#jira UE-56040

Change 3955785 by Steve.Robb

	GitHub #4546 : Don't discard errors from zlib inflate

	#jira UE-55969

Change 3955940 by Steve.Robb

	Redundant and confusing macro check removed.

Change 3956809 by Ben.Marsh

	Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.

Change 3959590 by Steve.Robb

	Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.

Change 3959864 by Robert.Manuszewski

	Increasing the size of permanent object pool to fix warnings in cooked ShooterGame

	#jira UE-56001

Change 3960956 by Steve.Robb

	New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.

Change 3963628 by Ben.Marsh

	UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.

Change 3964349 by Ben.Marsh

	Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.

Change 3964821 by Ben.Marsh

	Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.

Change 3965269 by Ben.Marsh

	Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.

Change 3966554 by James.Hopkin

	#core Removed redundant cast

Change 3966558 by James.Hopkin

	#core Removed redundant casts and changed some MakeShareables to MakeShared

	#robomerge #fortnite

Change 3966754 by Ben.Marsh

	Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.

Change 3967397 by Ben.Marsh

	Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.

Change 3967664 by Ben.Marsh

	Update UGS solution to use Visual Studio 2017.

Change 3967838 by Ben.Marsh

	Couple of fixes to conform scripts.

Change 3968767 by Ben.Marsh

	Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.

Change 3968771 by Ben.Marsh

	Fix compiled-in engine path being subject to macro expansion.

	#jira UE-56504

Change 3968886 by Robert.Manuszewski

	Merging 3914301:

	Remove any references we had added to the GGCObjectReferencer during Init

Change 3968978 by Steve.Robb

	FString->FName fixes for module names in HotReload.

Change 3969019 by Steve.Robb

	Minor refactor of property skipping logic in SerializeTaggedProperties().

Change 3969041 by Steve.Robb

	Simplification of Build.version filename construction.

Change 3969049 by Steve.Robb

	Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.

	This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().

	#jira UE-52405

Change 3969120 by Ben.Marsh

	Enable errors for using undefined identifiers in conditional expressions by default.

Change 3969161 by Ben.Marsh

	Remove log line that should only be included in the log.

Change 3969216 by Steve.Robb

	Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
	This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.

	#jira UE-52405

Change 3969346 by Steve.Robb

	Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.

Change 3969598 by Ben.Marsh

	Fix warning from VS2017.

Change 3971101 by Graeme.Thornton

	TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.

Change 3971407 by Ben.Marsh

	UBT: Fix exception when enumerating toolchains if the directory does not exist yet.

Change 3971523 by Graeme.Thornton

	Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching

Change 3971613 by Ben.Marsh

	Fix Lightmass non-unity compile errors.

Change 3971649 by Ben.Marsh

	Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.

Change 3971829 by Ben.Marsh

	Fix deprecated header warning from PVS Studio.

Change 3972503 by Ben.Marsh

	Changes to build failure notifications:

	* Only people that submitted between builds with different error messages will be included on emails by default.
	* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
	* Anyone that starts a build will be included on all failure emails.

Change 3972732 by Ben.Marsh

	Changes to ensure notification messages are stable.

Change 3972810 by Ben.Marsh

	Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.

Change 3973331 by Ben.Marsh

	Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.

Change 3973343 by Ben.Marsh

	PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)


Change 3973820 by Ben.Marsh

	Fix incorrect error message when unable to find Visual C++ install directory.

Change 3974295 by Robert.Manuszewski

	Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.

Change 3975336 by Robert.Manuszewski

	CIS fix after the last merge from main

Change 3976999 by Ben.Marsh

	Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.

	This should cause CIS to better errors for compiling Odin editor.

Change 3977934 by Ben.Marsh

	UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.

Change 3977953 by Ben.Marsh

	UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.

Change 3978544 by Ben.Marsh

	UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.

Change 3978780 by Ben.Marsh

	Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.

Change 3979313 by Ben.Marsh

	UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.

Change 3980499 by Ben.Marsh

	UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.

Change 3980890 by Ben.Marsh

	UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.

Change 3981495 by Ben.Marsh

	Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.

	#jira UE-54343

Change 3982157 by Ben.Marsh

	Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.

Change 3982239 by Ben.Marsh

	Update tooltip directing users to install Visual Studio 2017 instead of 2015.

Change 3983395 by Graeme.Thornton

	Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file

Change 3983523 by Graeme.Thornton

	Backwards compatibility for pak files with compressed chunk offsets

Change 3983769 by Ben.Marsh

	UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.

Change 3984529 by Ben.Marsh

	BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.

Change 3984557 by Ben.Marsh

	BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.

Change 3986520 by Ben.Marsh

	Remove hacks to uniquify response file name on Android and Linux.

Change 3987166 by Steve.Robb

	Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.

Change 3989061 by Graeme.Thornton

	TBA: Text asset loading/saving work
	 - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
	 - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
	 - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.

Change 3989109 by Graeme.Thornton

	TBA: TextAsset commandlet emits a warning when binary package determinism fails

Change 3990823 by Ben.Marsh

	UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.

Change 3990832 by Ben.Marsh

	UGS: Make the schedule window resizable.

Change 3991569 by Steve.Robb

	GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message

Change 3991970 by Steve.Robb

	Fix for 4096 char limit on FParse::Value.

Change 3992222 by Steve.Robb

	Advice added to the coding standard for using default member initializers.

Change 3993675 by Ben.Marsh

	UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.

Change 3994199 by Ben.Marsh

	UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.

	In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.

	Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx

Change 3994243 by Ben.Marsh

	UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.

Change 3994260 by Ben.Marsh

	UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.

Change 3994350 by Ben.Marsh

	UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.

Change 3995159 by Ben.Marsh

	UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.

	Indend to re-introduce this functionality through the manual 'clean workspace' operation.

Change 3995169 by Ben.Marsh

	UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.

Change 3995228 by Ben.Marsh

	UGS: Update recently opened projects list when editing project for an existing tab.

Change 3995312 by Ben.Marsh

	UGS: Stop showing all dialogs in the taskbar.

Change 3995929 by Robert.Manuszewski

	Completely rewritten FReferenceChainSearch class used by 'obj refs' command.

	- 3+ times faster
	- Uses the same code as GC to track all the references down
	- Actually reports all reference chains properly
	- Less code that is more readable than the previous version

Change 3995981 by Ben.Marsh

	UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.

Change 3996113 by Ben.Marsh

	UGS: Fix crash upgrading config files from older versions.

Change 3997990 by Ben.Marsh

	UGS: Prevent error when syncing an empty workspace.

Change 3998095 by Ben.Marsh

	UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.

	Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.

Change 3998264 by Ben.Marsh

	UGS: Fix exception when switching projects in-place.

Change 3998643 by Ben.Marsh

	Fix shared DDC not being used for installed engine builds.

	#jira UE-57631

Change 4000266 by Ben.Marsh

	UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:

	    UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]

	The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.

Change 4000293 by Ben.Marsh

	Add a compression flag that allows selecting compressor without using the default platform implementation.

Change 4000315 by Ben.Marsh

	Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.

Change 4000610 by Ben.Marsh

	UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.

Change 4000627 by Ben.Marsh

	UBT: Include enabled plugin info in the UBT log.

Change 4000793 by Ben.Marsh

	UBT: Remove some member variables from VCEnvironment that don't need to be stored.

Change 4000909 by Ben.Marsh

	UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.

Change 4001923 by Ben.Marsh

	UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.

	At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.

Change 4001927 by Ben.Marsh

	Fixes for compiling against the Windows 10 SDK.

Change 4002439 by Robert.Manuszewski

	Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of  TFastReferenceCollector

Change 4003508 by Ben.Marsh

	UGS: Fix new workspaces not having the correct owner and host set.

Change 4003622 by Ben.Marsh

	UGS: Add support for "skipped" as a build result.

Change 4004049 by Robert.Manuszewski

	Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy

Change 4005077 by Ben.Marsh

	UGS: Update version number.

Change 4005112 by Ben.Marsh

	UBT: Reduce number of times a target has to be constructed while generating project files.

Change 4005513 by Ben.Marsh

	UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.

Change 4005516 by Ben.Marsh

	UBT: Add warnings whenever a module adds an include path or library path that doesn't exist

Change 4006168 by Ben.Marsh

	CIS fixes.

Change 4006236 by Ben.Marsh

	UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.

Change 4006266 by Ben.Marsh

	UGS: Swap around the new workspace/existing file boxes on the open project dialog.

Change 4006552 by Ben.Marsh

	If staging fails because a restricted folder name is found, include a list of them in the error message.

Change 4007397 by Steve.Robb

	Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.

Change 4007458 by Ben.Marsh

	UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.

Change 4009343 by Ben.Marsh

	UGS: Set the rmdir option on new workspaces by default.

Change 4009501 by Ben.Marsh

	UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.

Change 4009509 by Ben.Marsh

	UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.

Change 4010543 by Ben.Marsh

	Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).

Change 4010553 by Ben.Marsh

	UAT: Include platform groups in restricted folder names when staging.

Change 4012030 by Ben.Marsh

	UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.

Change 4012204 by Chad.Garyet

	- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
	- Create directory for sqlite db if it doesn't exist
	#jira none

Change 4014209 by Brandon.Schaefer

	New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows

	#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills

Change 4015606 by Brandon.Schaefer

	Missed a code project that needed updating for new Breakpad changes for Mac

Change 4017795 by Robert.Manuszewski

	GC assumption verification should now be 3-4x faster.

	- Refactored Disregard For GC to use TFastReferenceCollector
	- Move both Disregard For GC and Cluster verification code to separate source files

Change 4020381 by Ben.Marsh

	Add link to the new official doc page for UnrealGameSync.

Change 4020665 by Ben.Marsh

	UBT: Prevent plugins being precompiled if they don't support the current target platform.

Change 4021829 by Ben.Marsh

	Update message about downloading a new version of Visual Studio.

Change 4022063 by Ben.Marsh

	UBT: Suppress toolchain output when generating project files.

Change 4023248 by Ben.Marsh

	Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().

	(Also fix an exception within the exception handler, if GError has not been created yet)

Change 4025759 by Ben.Marsh

	Fix universal CRT include paths not being added to compile environment for VS2015.

Change 4026002 by Ben.Marsh

	UBT: Check the old registry locations for the Windows SDK installation directory.

Change 4026068 by Ben.Marsh

	UBT: Use the correct compiler version in the error message for not having the UCRT.

Change 4026181 by Ben.Marsh

	Fix DebugGame editor configurations not enumerating modules correctly.

	#jira UE-58153

Change 4026285 by Ben.Marsh

	UBT: Add additional logging for enumerating Windows SDKs.

Change 4026708 by Ben.Marsh

	UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.

Change 4029404 by Ben.Marsh

	Remove incorrect include paths to fix CIS warnings.

Change 4031517 by Steve.Robb

	Fix for UHT errors not being clickable in the Message Log.

	#jira UE-58173

Change 4031544 by Ben.Marsh

	Fix errors building asset catalog for IOS due to modifying shared build environment.

	#jira UE-58240

Change 4032227 by Ben.Marsh

	BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.

Change 4032262 by Ben.Marsh

	BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.

Change 4032288 by Ben.Marsh

	Remove UFE from the BuildEditorAndTools script.

Change 3833533 by Ben.Marsh

	Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.

Change 3838569 by Steve.Robb

	Algo moved up a folder.

Change 3848581 by Robert.Manuszewski

	Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.

	#jira UE-49446

Change 3864743 by Steve.Robb

	Fix for buffer overrun when copying a context string.
	Fix for being unable to link to MallocLeakDetection.
	Fix to prefix for FMallocLeakDetection::ContextString.
	New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
	Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.

	#jira UE-54612

Change 3865020 by Graeme.Thornton

	TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions

Change 3869550 by Josh.Engebretson

	New SymGen and SymUpload tasks (ShooterGame usage example)
	Example C# symbolicator (using saved crash and data router formats)
	Updates for stack walking and crash runtime xml on Windows/Mac

Change 3905453 by Steve.Robb

	USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.

Change 3910012 by Ben.Marsh

	UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.

Change 3920044 by Graeme.Thornton

	TBA: Text asset loading

	* Added a structured archive layer to FLinkerLoad
	* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
	* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
	* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
	* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
	* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.

Change 3921587 by Steve.Robb

	Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
	Fixes for various misuses.

	#jira UE-55681

Change 3942873 by Ben.Marsh

	UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.

Change 3944629 by Graeme.Thornton

	Merging back a couple of fixes from Fortnite
	 - Extra parenthesis around some calculations in the pakprecacher
	 - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
	 - Added documentation for build script crypto options

Change 3945381 by Ben.Marsh

	Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.

Change 3968969 by Steve.Robb

	Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.

Change 3969417 by Ben.Marsh

	Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.

	Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".

Change 3972443 by Ben.Marsh

	Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.

Change 3977198 by Ben.Marsh

	Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.

Change 3979632 by Ben.Marsh

	Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.

	* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
	* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
	* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.

Change 3981738 by Ben.Marsh

	Move utility classes for filtering files and matching wildcards into DotNETUtilities.

Change 3983888 by Steve.Robb

	Warning C4868 disabled, about evaluation order of braced initializer lists.

	https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html

Change 3984019 by Steve.Robb

	FString::Printf formatting argument checking added.
	Vararg support for FText::Format.
	All remaining usage fixed.

Change 3985502 by Steve.Robb

	Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.

Change 3985999 by Graeme.Thornton

	TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
	 - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA

Change 3986461 by Ben.Marsh

	Fixup lots of platforms not adding response files as a prerequisite.

	This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.

Change 3990081 by Ben.Marsh

	Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.

	Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).

Change 3996714 by Chad.Garyet

	UGSRestAPI, conversion of UGS to use it.

	#jira none

Change 4008287 by Ben.Marsh

	UBT: Change the engine to use the Windows 10 SDK by default.

	Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.

	The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).

Change 4008516 by Chad.Garyet

	- Adding support for both SQLite and MsSql
	- API now reads from only MsSql, but writes to both
	- Added support for POST to CIS for badges
	- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB

	#jira none

Change 4010296 by Chad.Garyet

	Moving SQLite db initilization into Application_Start.  An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
	#jira none

Change 4024045 by Ben.Marsh

	Set the list of supported target platforms for OnlineSubsystemGameCircle.

	#jira UE-57887

Change 4031014 by Ben.Marsh

	UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.

[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
Ben Marsh
348616bd78 Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3873914)
============================
  MAJOR FEATURES & CHANGES
============================

Change 3873906 by Dan.Oconnor

	Revised fix for preventing delegate functions from appearing in context menu when using the compilation manager - needed to run after CallDelegateHandler changed statement type

	#jira UE-51726

Change 3873614 by Dan.Oconnor

	Prevent delegate functions from appearing in context menu when using the compilation manager and prevent crash if such a function is somehow compiled

	#jira UE-51726

Change 3873428 by Ben.Zeigler

	#jira UE-54753 Fix class pin on SpawnActorFromClass to correctly support browse. It was inherting from the wrong pin widget
	Copy of 3873408

Change 3873083 by Ethan.Geller

	[4.19]#jira UE-54865 fix seconds -> milliseconds conversion issue. #rb aaron.mcleran #lockdown cristina.riveron

Change 3872714 by Dan.Oconnor

	Further revise fix for UE-53840, mistakenly reverted to old behavior when compiling synchronously
	#jira UE-53840

Change 3872648 by Ben.Zeigler

	#jira UE-54845 Fix crash in NextDebugTarget when there are no valid debug targets
	Copy of CL #3872636

Change 3872500 by Arne.Schober

	Back out changelist 3870283
	#jira UE-54838

Change 3872412 by Mark.Satterthwaite

	Remove now unnecessary r.Metal.ManualVertexFetch from the device profiles.

	#jira UE-54853

Change 3872313 by Martin.Wilson

	Add UI to Live Link Client to warn live link users about background performance throttling

	#jira none

Change 3872272 by Martin.Wilson

	Fix crash when clearing a skeletal mesh on a skeletal mesh component with an active Post Process Anim Instance

	#jira none

Change 3872238 by Mark.Satterthwaite

	Duplicate CL #3871025
	Make Manual Vertex Fetch a property of the shader platform for Metal - only the desktop platforms (METAL SM5/SM5_NoTess/MRT) will use manual vertex fetch. The mobile platforms use vertex descriptors. Prevents problems with cooked versions of games not working properly on Metal due to a mismatch between the runtime's Manual-Vertex-Fetch state versus the state used by the cooker when compiling shaders.

	#jira UE-54843

Change 3872087 by Yasiman.Ahsani

	Adding Python, libdisasm, musl, and LSS licenses.

	#JIRA n/a - adding licenses for new TPS

Change 3872037 by Ben.Marsh

	BuildGraph: Add a task for compiling MSBuild projects.

	#jira

Change 3871934 by Lina.Halper

	#jira: UE-54703

Change 3871595 by Michael.Trepka

	Fixed a problem with Mac editor not exiting with error code returned from GuardedMain function

	#jira UE-54830

Change 3870829 by Joe.Barnes

	Fix unintentional change to PhysX libs used in Debug builds.

	#jira ue-54817

Change 3870820 by Nick.Atamas

	Copying //Tasks/UE4/Dev-VR-4.19a@3870772 to Release-4.19 (//UE4/Release-4.19)

	#jira UE-54816

Change 3870755 by Chance.Ivey

	Min Android version set - should fix camera permissions issue found in #JIRA UE-54024 #rb none #fyi nick.atamas

Change 3870547 by Krzysztof.Narkowicz

	Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel.

	#jira UE-53640

Change 3870546 by Krzysztof.Narkowicz

	Fixed tesselation shader tex/uniform initialization in OpenGL3/4 path

	#jira UE-54471

Change 3870284 by Ben.Zeigler

	#jira UE-54583 Fix issue where loading multiple already loaded assets via Async Load Asset node could return the wrong asset on the loaded pin. The assign variable node was happening at a slightly wrong time
	Copy of CL #3870279

Change 3870283 by Arne.Schober

	SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
	Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary

	#jira none

Change 3870098 by Ben.Marsh

	Fix OptimizeCode = CodeOptimization.Always causing compile errors in Linux debug builds. bUseInlining was not set correctly on the global compile environment used to build shared PCHs. Also fixed other settings not being propogated down from the target correctly.

	#jira UE-53855

Change 3870013 by Ben.Marsh

	UBT: Add an error if a user attempts to clean a target through hot-reload, rather than just failing to delete DLLs because they are locked.

	#jira UE-54179

Change 3870010 by Ben.Marsh

	UBT: Add an option to format output messages in a form that can be parsed by MSBuild. Prevents errors showing as "EXEC: Error:", and displays them correctly in the error list window.

	#jira

Change 3869814 by Ben.Marsh

	UBT: Unify command line arguments to use -Name=Value syntax. -Module <Name>, -ModuleWithSuffix <Name> <Suffix>, -Plugin <Path> and -Receipt <Path> are no longer supported.

	Also remove the RemoteRoot option, which was not used anywhere.

	#jira

Change 3869786 by Martin.Wilson

	Fix Live Link Remove Source button not working

	#Jira UE-54652

Change 3869660 by Martin.Wilson

	Fix missing message bus sources in the live link client (not repolling for new sources)

	#Jira UE-54712

Change 3869659 by Guillaume.Abadie

	Fixes SimpleComposure's BP_AdvancedCompositing keep allocating memory every frame.

	Credits for fixing the issue to Ron Radeztsk.

	#jira UE-54780

Change 3869401 by Lauren.Ridge

	Adding to the conditional in FindAllAncestorNamedSlotHostWidgetsForContent

	#jira UE-51470

Change 3869384 by Brandon.Schaefer

	Open the project in the explorer when NullSourceCodeAccess is done creating the project

	#jira UE-54630

Change 3869308 by Ben.Marsh

	PR #4452: Fixed FindFilesRecursively in IPlatformFilePak (Contributed by user37337)


	#jira UE-54568

Change 3869265 by Martin.Wilson

	Fix crash and subsequently found issues with unloading/reloading Maya Live Link plugin
	-Crash on reload due to core code getting reinitialize, made this a one time only thing (as Maya never gets rid of the module from memory)
	-Added manual ticking of FTicker, allows message bus objects to be cleaned up properly (cannot do this as part of normal flow as it is in engine code which we dont have)
	-rebuild binaries for Engine/Extras

	#Jira UE-54643

Change 3869206 by Benn.Gallagher

	Fixed crash updating clothing paint mode after tab spawners have been destroyed by the hosting application.

	#jira UE-54116

Change 3869064 by Benn.Gallagher

	Resolved skeletal mesh data changes and clothing section disable changes after collision. Re-added ability to disable sections at the mesh level and removed the ability to strip editor sections as these are required for a number of other features to correctly function.

	#jira UE-52557

Change 3869062 by Guillaume.Abadie

	Fixes "dynamic resolution is not supported on this platform" warning message being always visible.

	#jira UE-54655

Change 3868202 by Lauren.Ridge

	Fix for assert on expanding vector param in layered material
	#jira UE-54737

Change 3868161 by zak.parrish

	Replacing FaceARDebugUI with a blank UI until a new one can be created, due to a crash bug. #rb none #JIRA UE-54639

Change 3867750 by Ethan.Geller

	[4.19] #jira UE-54725 Fix for Envelope attack and release values not being properly set on Synth Components #rb aaron.mcleran #lockdown cristina.riveron

Change 3867657 by Lauren.Ridge

	Adding if with editor wrapper to new function
	#jira cis fix

Change 3867646 by Aaron.McLeran

	#jira UE-53867 Access violation on Switch when playing sound with specified time out of range

Change 3867340 by Lauren.Ridge

	Fixes to Material Layers from 4.19 preview feedback
	-Need to pass through base attributes better/have better default nodes in layer (optional Example Layers and Blends checkbox now enables this in Experimental Settings)
	-Parent in function should be editable
	-Enforce only two layers in a blend
	-Mat layer should warn if it has incorrect output in the layer itself
	-Enforce not being able to delete outputs
	-Warn about creating a MAL node inside a function

	#jira UETOOL-1312

Change 3867317 by Aaron.McLeran

	#jira UE-53867 Access violation on Switch when playing sound with specified time out of range

Change 3867000 by Lauren.Ridge

	Fix for folder favorites possibly becoming very large
	#jira UE-54704

Change 3866892 by Martin.Wilson

	Fix crash if clicking ok on message bus add source without having a source selected

	#jira UE-54572

Change 3866391 by Matt.Kuhlenschmidt

	Fix static analysis

	#jira UE-53379

Change 3866241 by Ryan.Vance

	#jira UE-54681
	Fixed missing Vulkan texture GetNativeResource implementation that was lost in a bad merge.

Change 3866071 by Nick.Shin

	UDN 412414

	update HTMl5 readme file

	#jira none

Change 3866005 by Max.Preussner

	Messaging: Preventing dangling references when removing message subscribers

	#jira UE-54680

Change 3865988 by Simon.Tourangeau

	Fix static analysis warnings

	#jira none

Change 3865895 by zachary.wilson

	Renaming QA-PhysicalLightUnits to TM-PhysicalLightUnits in QAGame.

	#JIRA UE-29618

Change 3865469 by Simon.Tourangeau

	Support for DX11 quad buffer stereo rendering

	#jira UEENT-704

Change 3865461 by Chris.Babcock

	Add a wait for audio thread to pause audio on going to background
	#jira UE-54301
	#ue4
	#android

Change 3865350 by Matt.Kuhlenschmidt

	Fix issue where cascade emitter UI would disapper

	#jira UE-53379

Change 3865336 by Arne.Schober

	REL - Fix UE-52356 Bone Weight

	#jira UE-52356

Change 3865257 by Ben.Marsh

	Fix editor failing to load content-only projects when compiled in DebugGame.

	#jira UE-54661

Change 3865238 by Simon.Tovey

	Pulling Olaf's fix from 3832595 over to release

	#tests EngineTests boots in vulkan
	#JIRA UE-54394

Change 3865191 by Sorin.Gradinaru

	UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format

	#jira UE-54317
	#Android
	#4.19

	From //Dev-Mobile/3863322

Change 3865190 by Sorin.Gradinaru

	UE-54175 Selecting For Distribution no longer sets configuration to Shipping

	#UE4
	#4.19
	#jira UE-54175

	From //Dev-Mobile/3863371
	"For Distribution" enable-> reset "Build COnfiguration" to Shipping and force serialization to DefaultGame.ini (see UE-52845)

Change 3865056 by Jamie.Dale

	Fixed culture being incorrect when added via the Localization Dashboard

	#jira none

Change 3864826 by Max.Preussner

	WmfMedia: Added missing scope lock

	#jira UE-54365

Change 3864055 by Aaron.McLeran

	#jira UE-54213

	Crash fix for GC'd plugin settings objects. Adding to AddReferencedObjects.

Change 3863775 by Andrew.Porter

	MediaFrameworkTest: Removing Platform Media Source TVOS test content

	#jira UE-29618

Change 3863714 by Dan.Oconnor

	Make array, set, and map nodes no longer switch object type when a pin is disconnected. Also, you can no longer attach unrelated map types to the MakeMap node if only the value pin has been inferred

	#jira UE-54634

Change 3863696 by Max.Chen

	Sequencer: Fix crash open a new sequence while another is still active.

	#jira UE-54620
	#jira UE-54624

Change 3863638 by Dan.Oconnor

	Make sure all blueprints that are skeleton compiled get a BroadcastChanged notification, also run BroadcastChanged after reinstancing, matching pre compilation manager behavior
	#jira UE-54193

Change 3863494 by Jamie.Dale

	Ensure Py_SetPythonHome is set correctly before the embedded Python interpreter is initialized

	#jira UE-54345

Change 3863433 by Max.Preussner

	MediaPlayerEditor: Removed tvOS from list of available platforms in Platform Media Source assets

	tvOS currently reports itself as iOS, so it cannot have its own setting.

	#jira UE-54559

Change 3863406 by Lauren.Ridge

	Fix for a crash when filtering a dropdown with no set value
	#jira UE-54631

Change 3863238 by Michael.Kirzinger

	#jira UE-52730: Fix mac voip crash

Change 3862586 by Marc.Audy

	Clean up rendering thread heartbeat checks that got mangled in various integrations

	#jira

Change 3862247 by Guillaume.Abadie

	Fixes editor lines that were using a simple element blending mode that was generating an incorrect alpha channel.

	#jira UE-53830

Change 3862120 by Guillaume.Abadie

	Fixes USceneCaptureComponent::HiddenActors always staying gray out in world editor.

	#jira UE-51458

Change 3861363 by Jamie.Dale

	Static analysis fixes

	#jira none

Change 3861150 by Matt.Kuhlenschmidt

	Fix static mesh editor displaying 0 for all stats on LODs > 0

	#jira UE-53776

Change 3860990 by Dan.Oconnor

	Clear subobjects not recreated on load, e.g. because we're running with -game and the subobject was created using CreateEditorOnlySubobject
	#jira UE-54551

Change 3860972 by Nick.Shin

	HTML5 - detect "SyntaxError: " and do a forced reload

	- an actual syntax error would be caught during compile time
	- this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page

	#jira UE-54017  QAGame fails to launch properly on HTML5 Firefox 64 bit

Change 3860951 by Arne.Schober

	Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer.

	#jira UE-54587

Change 3860950 by tim.gautier

	QAGame: Updating ML_Stone to include Texture Coordinate and Panner functions
	#jira UE-29618

Change 3860833 by Michael.Dupuis

	#jira UE-54181: Repopulate the foliage list when existing simulate mode
	Let the GC know that internal struct hold UObject ptr

Change 3860762 by Jamie.Dale

	Ensure we invoke the correct version of Python from UBT

	#jira UE-54345

Change 3860676 by Simon.Tourangeau

	Remove DirectoryWatcher warning in output log

	#jira UEENT-846

Change 3860598 by Lauren.Ridge

	Fix for crash on opening new material instance
	#jira UE-54589

Change 3860338 by Michael.Lentine

	Integrate changes for fixing MorphTargets.

	#jira 54398

Change 3860215 by Ben.Marsh

	UAT: Fix exception consturcting target rules assembly inside UAT, now that there's an abstract TargetRules class.

	#jira UE-54578

Change 3860186 by Matt.Kuhlenschmidt

	Fix crash top 10 with the font editor shutting down and then a dpi event occuring

	#jira UE-54543

Change 3859854 by Graeme.Thornton

	PR #4124: VSCode: Changed VisualStudioCodeSourceCodeAccessor to work with non-default VSCode install paths on Linux (Contributed by christopherreed)


	#jira UE-51289

Change 3859848 by Graeme.Thornton

	Fix crypto.cs reading the wrong ini setting names for uasset encryption settings

	#jira UE-54566

Change 3859684 by Ben.Marsh

	PR #4436: Fix compile error when building BlankProgram because incorrect directory path (Contributed by windkey)


	#jira UE-54392

Change 3859657 by Ben.Marsh

	Fix FTransform being passed by value, causing alignment error when compiling for Win32.

	#jira

Change 3859312 by nick.bullard

	Updating AEOverviewMan to remove reference to sub-level AEOverviewSWP which was deleted in 3859278
	Still need to update menu to remove selection

	#jira UE-50784

Change 3859278 by Nick.Bullard

	Deleteing AEOverviewSWP.umap per request of Developer. Also updated TM-AnimPhys which refereneced this map as well.

	"This test map is a custom C++ implementation of a "procedural sound wave". This code is super janky and not worth fixing up. I'm sure there's a legit thread safety problem in there but the code is in QAGame only.

	We've since implemented "synth components" which do what this test does in a much safer/better way and maintaining/testing this old thing is *not* worth the time."

	#jira UE-50784

Change 3859124 by Dan.Oconnor

	Fix long standing crash when duplicating a blueprint that is missing its parent class. Entries in CrashReport go back to 4.16

	#jira UE-54468

Change 3859086 by Ryan.Vance

	#jira UE-54470

	We need to set the viewport in both cases.

Change 3859006 by Dan.Oconnor

	Revise fix for archetype lookup when reinstancing. During compilation we do not want to force use of the up to date class

	#jira UE-54541

Change 3858990 by mason.seay

	Cleaned up blueprints to remove compile errors

	#jira UE-29618

Change 3858945 by Aaron.McLeran

	#jira UE-54265

	PR #4428: Fixing Envelope Bug in AudioMixer (Contributed by Chrispykins)


Change 3858719 by Aaron.McLeran

	#jira UE-54552 Fix for sample buffer reader

Change 3858647 by Ethan.Geller

	PR #4439: Removes ambiX -> FuMa conversion (Contributed by mgorzel)

	#jira UE-54407

Change 3858364 by Michael.Dupuis

	#jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances.

Change 3858268 by Dan.Oconnor

	Prevent postload logic running on REINST and SKEL classes

	#jira UE-54531

Change 3858205 by Mitchell.Wilson

	Removed particle looping from some emitters to resolve anim notify warnings.
	#jira UE-53823

Change 3858148 by Lauren.Ridge

	Changes based on Material Layer Feedback from previews
	- (Temporary) Disabled being able to create a layer or blend in the asset dropdown
	- Sections of the stack that have been disabled now inactivate that part of the UI
	- Create Function Instance now indicates if you are making a layer or a blend
	- Parent dropdown has been removed from layers and blends. Where relevant, a filter button has been added instead.

	#jira UETOOL-1328

Change 3857933 by Michael.Dupuis

	#jira UE-45854: Properly unregister callback when replacing foliage type with another one

Change 3857898 by Michael.Dupuis

	#jira UE-54396: Remove the Ensure as it could be possible that the Landscape Info is invalid during an undo operation

Change 3857878 by Max.Chen

	Sequencer: Assign the sequence id after the template is compiled.

	Copy from Dev-Sequencer

	#jira UE-54462

Change 3857808 by Michael.Dupuis

	#jira UE-54421: Prevent edition during Simulate when clicking on actor

Change 3857786 by Rolando.Caloca

	UE4.19 - Fix recompute tangents and skin cache for OpenGL

	#jira UE-42108
	PR #3271

Change 3857549 by Lina.Halper

	another jittering issue due to revision number change
	clear the motion vector after compile

	#jira: UE-53930

Change 3857439 by Lina.Halper

	Clear motion vector when end of sequencer when in editor world

	#jira:UE-54057

Change 3857384 by Graeme.Thornton

	Restore fix for visual studio source code accessor not correctly determining that a content project has no solution and opening a fresh instance of visual studio

	#jira UE-50020

Change 3856596 by Chris.Babcock

	Fix ResonanceAudioApi Android library architecture filtering
	#jira UE-54478
	#ue4
	#android

Change 3856449 by Michael.Dupuis

	#jira UE-35097: Various cosmetic changes that were done in phase 2 that help improve clarity of the design.

Change 3856415 by Dan.Oconnor

	Fix regression when loading instances that have had their class deleted. Issue detected by static analysis

	#jira UE-54467

Change 3856332 by Ben.Marsh

	Resaving TP_HandheldARBP assets to fix version again.

	#jira

Change 3856319 by Ben.Marsh

	Back out changelist 3855588

	Causes build failure in UFE because it introduces a dependency on the Engine module. UFE compiles with WITH_ENGINE = 0.

	#jira UE-54472

Change 3856292 by Ben.Marsh

	Fix app-local dependencies not being included in binary builds, and only working for code projects in source builds.

	#jira UE-54448

Change 3856190 by Martin.Wilson

	Fix bone access mismatch between raw mesh bones and final bones (that include virtual bones too)

	#jira UE-54266

Change 3856169 by Ben.Marsh

	Tag XGEControlWorker.exe as a build product, so it's included in the binary distro.

	#jira UE-54283

Change 3856123 by Chris.Babcock

	Fix missing ARCore file
	#jira UE-54453
	#ue4
	#android

Change 3856005 by Richard.Wallis

	Clone of Dev-Rendering CL 3855993 - turn off FShaderCache.

	#jira UE-52928

Change 3855961 by Jian.Ru

	Copy 3855047 - fix DFAO Nan problem
	#jira UE-54403

Change 3855811 by Martin.Wilson

	Add build process for Maya Live Link plugin (standalone, manually triggered) + add built binaries to Engine/Extras (Maya 2016, Maya 2017, Maya 2018)

	#jira none

Change 3855758 by Cosmin.Sulea

	UE-53569 - tvOS does not package or launch-on

	#jira UE-53569

Change 3855727 by Ben.Marsh

	Resaving assets with a versioned build in the editor, to fix warnings building DDC.

	#jira

Change 3855626 by Adrian.Siminciuc

	https://jira.it.epicgames.net/browse/UE-50979 (MP4 doesn't resume playback when iOS 11 device wakes from sleep)

	#jira UE-50979

Change 3855588 by Graeme.Thornton

	Fix visual studio solution path being incorrect for content projects

	#jira UE-50020

Change 3855283 by Ben.Marsh

	Fix race condition where stdout/stderr write handles could be inherited by multiple processes, resulting in them not being closed (and the process exit being detected) until all processes that inherited them had been closed. Improves performance of ParallelExecutor.

	#jira

Change 3855009 by Chance.Ivey

	Resaving with version number. #JIRA-54330 #rb none

Change 3854943 by Dan.Oconnor

	Fix archetype lookup when searching hierarchy that has been partially reinstanced

	#jira UE-53840

Change 3854882 by Ryan.Vance

	#jira UE-54438

	Removing vr related references to screen percentage.
	Removing previously removed gvr screen percentage code that came back in an integration from google.

Change 3854806 by Mike.Beach

	Mirroring part of CL 3802176 to fix a crash that can occur when users try to use the default 'DisplayModel' on MotionController components. Also provided users a better error message to explain why a model might not be showing up.

	#jira UE-54214

Change 3854680 by Chance.Ivey

	Saving assets with version number#JIRA UE-54330 #rb none

Change 3854652 by Uriel.Doyon

	Added a tooltip to the EV100 slider in the exposure menu.
	Using game settings now disables the slider.
	#jira UE-53945

Change 3854605 by Dan.Oconnor

	Make sure we don't create objects outered to a placeholder object, also make sure that archetypes that are reinstanced on load are relinked in to the linker table so that they are postload'd (and the old instance isn't)

	#jira UE-53954

Change 3854274 by Brandon.Schaefer

	Changes in CL 3842286 changed the function glslang::GlslangToSpv and requires a rebuild on Linux

	#jira UE-54302

	#codeview Arciel.Rekman

Change 3854255 by Phillip.Kavan

	Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties.

	- Mirrored from //UE4/Dev-Framework (3853349).

	#jira UE-53960

Change 3854177 by Ethan.Geller

	#jira UE-54415 set EnabledByDefault to false for Resonance Audio

Change 3854123 by Ethan.Geller

	#jira UE-54410 set AudioComponentID

Change 3853775 by Lauren.Ridge

	Minor cleanup
	#jira UE-54054

Change 3853772 by Lauren.Ridge

	Don't create widgets when just testing if the selected widget is a replacement candidate
	#jira UE-54054

Change 3853715 by Rolando.Caloca

	UE4.19 - Fix for OpenGL overwriting texture units

	#jira UE-54401

Change 3853655 by Ben.Marsh

	Add a retry loop on creating the first directory before copying files. Attempt to work around problems copying to shared folders.

	#jira

Change 3853535 by Ben.Marsh

	Expose the engine compatible changelist to Perforce. If EnginePatchVersion > 0, this will be the changelist of the original .0 release.

	#jira

Change 3852583 by Nick.Atamas

	Resaved assets so they don't produce DDC warnings.
	#jira none

Change 3852552 by Uriel.Doyon

	Fixed Pre-Exposure shader compilation and Temporal AA issue.

	#jira UE-54276

Change 3852354 by Nick.Atamas

	Hopefully fixes the static analysis warning from jira issue.
	#jira UE-54332

Change 3852281 by Nick.Atamas

	Merging CL 3851690 from //Tasks/UE4/Dev-VR-4.19a/... to //UE4/Telease-4.19/...
	#jira UE-54331

Change 3852274 by Simon.Tourangeau

	Back out changelist 3851041 until Win7 issue is resolved.

	#jira UE-54354

Change 3852208 by Jamie.Dale

	Merging CL# 3821754 from //UE4/Dev-Enterprise

	Class property conversion now goes through NativizeClass/PythonizeClass

	This allows it to coerce from Python wrapped object types

	#jira none

Change 3852202 by Jamie.Dale

	More explicit handling of EngineDir for Python SDK

	#jira UE-54345

Change 3851982 by Brandon.Schaefer

	Workaround using a hardcoded path

	#jira UE-54136

Change 3851748 by Michael.Dupuis

	#jira UE-53904: Put the code back to what it was before, as we really only want to perform this code if bIsLayerThumbnail is true, it was changed to fix another issue complaining about a missing shader, that end up being added to the existing functions

Change 3851545 by Marc.Audy

	Remove debugging code that slipped in

	#jira none

Change 3851461 by Ben.Marsh

	Fix #includes with backslashes from crashing UBT.

	#jira UE-53996

Change 3851391 by Jamie.Dale

	Updated Python to prefer our TPS SDK

	#jira UE-54345

Change 3851372 by Jamie.Dale

	Added bat file to copy the Python SDK into TPS

	#jira UE-54345

Change 3851218 by Ben.Marsh

	Add missing template to installed engine build.

	#jira UE-54339

Change 3851117 by andrew.porter

	QAGame: Removing duplicate map

	#jira UE-29618

Change 3851041 by Simon.Tourangeau

	Support for DX11 quad buffer stereo rendering

	#jira UEENT-704

Change 3850548 by Ben.Marsh

	Add TP_HandheldARBP to installed engine build.

	#jira

Change 3850424 by Ben.Zeigler

	Fix reported memory for asset registry to be correct, extracted from a larger change

	#jira none

Change 3850324 by Ryan.Vance

	#jira UEVR-1050

	Hook up the Rift dynamic res to the new IDynamicResolutionState framework

Change 3849819 by JeanLuc.Corenthin

	Unhide Datasmith plugins in "regular" projects to allow easy project conversion

	#jira UEENT-795

Change 3849302 by Martin.Wilson

	Live Link is no longer experimental in 4.19 (moved from experimental folder to Animation)

	#jira none

Change 3849238 by Max.Chen

	Sequencer: Remove bKeepStaleTracks so that stale tracks are now always purged.

	#jira UE-54248

Change 3849211 by Michael.Dupuis

	#jira UE-54181: Prevent foliage edition during PIE or simulate mode

	#coderevire jack.porter

Change 3849123 by Benn.Gallagher

	Fixed crash in clothing actor creation when the clothing simulation mesh has no simulated vertices

	#jira UE-53741

Change 3849120 by Benn.Gallagher

	Fixed crash adding empty materials to destructible meshes in the destructible mesh editor

	#jira UE-53938

Change 3849047 by Jurre.deBaare

	Move material baking out of experimental
	#fix follow-up also remove the entry from experimental settings
	#jira UE-52685

Change 3848808 by Michael.Dupuis

	#jira UE-35097: Remove IncludeTessellationInShadowLOD & RestrictTessellationToShadowCascade from 4.19 as there is currently a bug regarding this in the dynamic rendering code path and would be too risky to fix for now.
	Fixed dynamic shadow code path issue vs static code path

Change 3848659 by Lina.Halper

	Fix issue with animation resetting in the sequencer

	#jira: UE-54047

Change 3848635 by Rolando.Caloca

	UE4.19 - Fix static analysis

	#jira UE-50449

Change 3848515 by Sorin.Gradinaru

	Unshelved from pending changelist '3843541':

	WebBrowser Android crash on 4.4.3

	#jira UE-53247
	#Android
	#4.19

	Crash on Android 4.x.x caused by a call to a Api Level 21 method

Change 3848514 by Jurre.deBaare

	Moving over:
	CL 3832173
	"Failed to import Alembic files
	#jira UE-53941
	#fix Change Alembic thirdparty library setup
		- Removed old unused library files
		- Updated batch files for building HDF5 ILMBase and Alembic libraries to use new AlembicDeploy path
		- HDF5 is now build as a Dynamic library (which also enableds multi-threading)
		- Added DLLs for HDF5 to build.cs file

	CL 3838053
	"Adding missing hdf5 dynamic libraries

Change 3848245 by Ben.Marsh

	Downgrade warning about not using XGE shader compilation to a log message. Build machines do not have XGE.

	#jira UE-54237

Change 3847300 by Phillip.Kavan

	Fix shadowed local variable.

	#jira UE-54141

Change 3846922 by Max.Preussner

	ImgMedia: Fixed image media player never finished initialization if loading failed

	Copied from Dev-Sequencer CL# 3846902

	#jira UE-54247

Change 3846831 by Arciel.Rekman

	Linux: only use lld for x86_64 (UE-54144).

	- lld support for other architectures seems to not ready for prime time.

	#jira UE-54144

Change 3846771 by Lauren.Ridge

	Material window now uses the background color set in preview scene.
	#jira UE-52215

Change 3846705 by Ben.Marsh

	Fix batch file paths not being quoted correctly when run through XGE.

	#jira

Change 3846550 by Lauren.Ridge

	Toggling Show Background now updates the background as well
	#jira UE-52250

Change 3846417 by Matt.Kuhlenschmidt

	Fix crash resizing shootergame window

	#jira UE-53137

Change 3846295 by Rolando.Caloca

	UE4.19 - New Vulkan descriptor pooling mechanism (enabled on non-android)

	#jira UE-50449

Change 3846273 by tim.gautier

	QAGame: Updating Material Layer test assets to include more Params
	- Added temp assets, quicker repros for bugs
	#jira UE-54176, UE-54165

Change 3846255 by Lauren.Ridge

	Parameter tab is the primary tab for material instances

	#jira UE-54092

Change 3846086 by Chris.Babcock

	Add missing SecureHash.h include
	#jira UE-54026
	#PR #4417
	#ue4
	#android

Change 3846049 by Martin.Wilson

	Fix Set Root Motion Enabled Anim Data Modifier node (previously didn't set the enabled flag)

	#jira UE-54220

Change 3846033 by Martin.Wilson

	Fix root motion being repeatedly applied ( Clear() call only clears bHasRootMotion flag, not the transform itself )

	#Jira UE-54219

Change 3845991 by andrew.porter

	QAGame: Updating bindings on activechannels sequencer test content

	#jira UE-29618

Change 3845933 by Lauren.Ridge

	Check for original material being valid

	#jira UE-54166

Change 3845920 by Martin.Wilson

	Optimized redundant key removal

	#jira UE-51303

Change 3845812 by Matt.Kuhlenschmidt

	Fix not being able to change BSP brush shape

	#jira UE-53738

Change 3845790 by Martin.Wilson

	Fix for assert failure when accumulating root motion in debug.

	#jira UE-53955

Change 3845730 by JeanLuc.Corenthin

	Fix build breakage
	warning: resaved disc.uasset with 4.19.0 preview #1
	failure: set the correct default mesh for AreaLightStruct.uasset

	#jira none

Change 3845693 by Lina.Halper

	Fix issue with previewing pose asset with curve data

	#jira: UE-53967

Change 3845533 by Andrew.Rodham

	Sequencer: Fixed sub sequences potentially being loaded during AddReferencedObjects

	#jira UE-54173

Change 3845472 by Thomas.Sarkanen

	Prevented debug object selection dropdown from displaying objects with pending kill outers

	#jira UE-54045 - Animation Blueprint Editor Crashes on Compile if the Debug Instance Selection is Other Than No Object or Preview Instance

Change 3845401 by Yannick.Lange

	Reverting thumbnail capture from viewport.
	#jira UE-53775
	#jira UE-53701

Change 3844693 by JeanMichel.Dignard

	Changed IES texture brightness to be the max candela value and set the texture multiplier to be 1. This fixes the IES lights intensity being too high.

	#jira UEENT-632

Change 3844689 by JeanLuc.Corenthin

	Update Datasmith content assets to latest

	Copying fix from Dev-Enterprise by Jean-Luc Corenthin CL 3809803
	Updated assets with correct release version
	Cleanup some paths on static meshes and texture

	#jira UEENT-759
	#jira UEENT-657

Change 3844571 by Martin.Wilson

	Fix motion controller motion source pin still showing when pin is connected to something

	#Jira UE-53236

Change 3844564 by Martin.Wilson

	Due to previously fixed bug some anim blueprint nodes could have duplicated guids, this fixes them

	#Jira UE-54174

Change 3844545 by Jamie.Dale

	No longer attempt to parse group separators for numeric inputs

	This avoids some ambiguity when parsing numbers for languages such as German

	#jira UE-54170

Change 3844221 by Nick.Shin

	HTML5 - filter out "windows/super" keys - these are not used in UE4

	- but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead...

	#jira UE-54056  HTML5 crashes inside browser upon pressing windows key

Change 3843937 by JeanMichel.Dignard

	Fixed a crash when right clicking on a static mesh for which its AssetImportData class is currently unavailable (ie: in an unloaded plugin).

	#jira UEENT-764

Change 3843929 by Peter.Sauerbrei

	pull over fix for bad directory when copying launch images
	#jira UE-53177

Change 3843658 by Thomas.Sarkanen

	Text is red again in anim viewports

	#jira UE-53224 - Colouring removed from "Animation is being edited" warning messages

Change 3843657 by Thomas.Sarkanen

	Enable picking via Enter for details panel asset pickers

	The previous (4.18) behavior was to only allow selection of the previous/next item in the list with arrow keys. A fix (CL 3783114) for pickers with many assets broke this. This change now allows for selection of any item by navigating with arrow keys and pressing Enter, as suggested in the Jira.

	#jira UE-53440 - Unable to select assets within modal Asset Selection dropdowns after navigating with keyboard entry

Change 3843120 by Dan.Oconnor

	Avoid fixing component template games outside the editor, this logic does not work for games that have been nativized
	#jira UE-54009

Change 3842841 by Ben.Zeigler

	#jira UE-50020
	Switch visual studio module back to using absolute paths so go to definition works, broken in CL #3796157

Change 3842582 by Lauren.Ridge

	Guards against the widget passed to scrollwidgetintoview being null
	#jira UE-54037

Change 3842575 by Max.Chen

	Sequence Recorder: Stop recording if the preview window is destroyed.

	#jira UE-49778

Change 3842551 by Michael.Dupuis

	#jira UE-35097: Minor bug fix, documentation, etc. to the landscape optim that was done in the phase 2 that have 0 risk.

Change 3842371 by Max.Preussner

	Media: Merged 4.19 fixes from Dev-Sequencer

	CL 3807293 WmfMedia: Fixed YUY2 video format strides
	CL 3827988 MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together
	CL 3805414 MediaAssets: Setting valid GUID when initializing media texture resource
	CL 3804183 MediaAssets: Added missing lock in media sound component
	CL 3831580 MfMedia: Media open events generated in same order as on other platforms
	CL 3807193 WmfMedia: Fixed incorrect buffer stride for RGB32 video tracks

	#jira UE-53532
	#jira UE-53328

Change 3842356 by Max.Preussner

	ImgMedia: Fixed ensure when cooking project that uses ImgMediaSource

	#jira UE-51631

Change 3842335 by Aaron.McLeran

	#jira UE-54087

	PR #4419: Fixes a crash due to nullptr dereference (Contributed by mgorzel)


Change 3842286 by Rolando.Caloca

	UE4.19 - Fix for static analysis
	- Glslang 1.0.65.1

	#jira UE-54128

Change 3842222 by andrew.porter

	QAGame: Updating framerate of EXR_Sequence

	#jira UE-29618

Change 3842211 by Ben.Marsh

	Fix determination of Windows version string. The manifest for UE4 applications declares compatibility with Windows 10 nowadays, so we get accurate version numbers returned from GetOSVersionInfo().

	#jira UE-54035

Change 3842163 by Cosmin.Sulea

	UE-53303 - We do not check for remote connection before attempting remote shader compile, causing crashes when misconfigured

	#jira UE-53303

Change 3841770 by Max.Chen

	Sequencer: Fix to allow keying of an arbitrarily deep property path.

	#jira UE-54095

Change 3841758 by Max.Chen

	Sequencer: Fix unbound possessable components when pasting spawnables.

	#jira UE-54104

Change 3841415 by Lauren.Ridge

	Renaming a material layer or material layer blend will no longer cause the asset to appear removed from the stack
	#jira UE-53942

Change 3841327 by Arciel.Rekman

	Linux: fix Debug build (UE-53855)

	- A workaround. UBT should be using proper PCH files instead.

	#jira UE-53855

Change 3840975 by Rolando.Caloca

	UE4.19 - Updated VulkanRHI
	- Fixes for GPU frame time
	- Fixes for CPU performance

	#jira UE-50449

Change 3840838 by Michael.Dupuis

	#jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash

Change 3840693 by Ben.Zeigler

	#jira UE-53923 Fix regression in 4.19 where PrintScriptCallstack is not always safe to call from the immediate window. I narrowed down the issue to some confusing optimized code so I turned off optimization
	Copy of CL #3840692

Change 3840680 by Aaron.McLeran

	Bringing fixes from Dev-AnimPhys to 4.19.

	#jira UE-53903 crash on load with oculus audio and old audio engine
	#jira UE-52786, UE-53910 Fix for broken spatialization on xaudio2, old audio engine.

Change 3840663 by Rolando.Caloca

	UE4.19 - Fix for layout ensure on HMD projects on Vulkan

	#jira UE-50265

Change 3840577 by Rolando.Caloca

	UE4.19 - Fix for CPUs with more than 16 cores

	#jira UE-53434

Change 3840551 by andrew.porter

	QAGame: Setting Allow Bindings from Asset to false

	#jira UE-29618

Change 3840491 by Ben.Zeigler

	#jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing
	Copy of CL #3840489

Change 3840297 by Max.Chen

	Sequencer: Fix copy/paste crash for lights

	#jira UE-54084

Change 3840284 by Michael.Dupuis

	#jira UE-53053: Was having a mismatch between the remove reorder and the actual remove

Change 3840215 by Sorin.Gradinaru

	Unshelved from pending changelist '3812852':

	UE-53550 Level doesn't render on Lenovo 939
	UE-53592 Assertion right after rendering scene on Lenovo S939

	#jira UE-53550
	#jira UE-53592
	#4.19
	#Android

	UE-53550
	Removed force disabling texture2DLodEXT and textureCubeLodEXT on Mali-400 devices
	The problem was that the shader compiler complains about code lines before the #extension directives.
	Placeholder // end extensions in the original shader code - to be replaced with round() functions

	UE-53592
	Always use a new task for devices that have GIsThreadedRendering=false, even when the call is from the rendering thread

Change 3840048 by Michael.Dupuis

	#jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate

Change 3840005 by Richard.Wallis

	Clone of CL 3835252

	Fix for shader library not working with iterative cooking, also fixes native Metal library not working with iterative cook.  This works by saving a "backup" of the shader library file - this is reloaded only during iterative cook and adds back in shaders that are missing from the current cook.

	Fix for extracting/searching .metal files in different directories so debug tgz archiving wasn't working correctly and also support iterative cook.

	Includes first pass code review suggestions by Mark Sat and Dmitriy Dyomin.

	#jira UE-53815

Change 3839968 by Michael.Dupuis

	#jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date
	Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing

	##codereview jack.porter

Change 3839924 by Richard.Wallis

	Clone of CL 3838093

	Fix for rewind / seek bugs in AvfMediaPlayer.

	- Don't initialise and send audio buffers that have a duration of Zero from the audio tap.  This chokes the audio sink and adds overhead we don't need.
	- Don't faff around with current play rates during loop operation - normal seek doesn't do this so loop seek shouldn't either.
	- SetRate() should not required to be passed to media tracks - should be enough to do this on audio track select only.

	#jira UE-54019, UE-53027

Change 3839321 by andrew.porter

	QAGame: Adding missing bookmark to QA-Sequencer_Blending

	#jira UE-29618

Change 3839286 by Marcus.Wassmer

	Duplicate CL: 3823296
	#jira UE-52784

Change 3839229 by Brandon.Schaefer

	Fix audio clean up crash when exiting PIE

	#jira UE-54050

	#review-3839109 @Arciel.Rekman, @Aaron.McLeran

Change 3839223 by andrew.porter

	QAGame: Rebinding pointlight actor to sequences

	#jira UE-29618

Change 3839098 by andrew.porter

	QAGame: Fixing missing sequencer blending test content

	#jira UE-29618

Change 3838919 by Mike.Erwin

	glTF: binary format's BIN chunk is not necessarily right after the JSON chunk.

	Discussed this with glTF spec authors. See https://github.com/KhronosGroup/glTF/issues/1177

	Rearranged how we read "chunks" from the file since they are not fixed in number or order, besides JSON always being first.

	#jira UE-50695

Change 3838909 by Mike.Erwin

	glTF: base64 decoding of data buffers and images

	Data can be encoded inside the glTF JSON as a Base64 data URI. This CL addresses a known limitation of initial commit CL 3793018. I added this after because base64 is expected to be uncommon in the wild. Authoring software will typically use external BIN files (.gltf) or a BIN chunk (.glb) to store data.

	#jira UE-50695

Change 3838812 by Uriel.Doyon

	Integrated CL 3838576, 3838581 and 3831760 from DevRendering, fixing issues with texture streaming.

	#jira none

Change 3838773 by Lauren.Ridge

	Fixing material layer filters

	#jira UE-54064

Change 3838748 by Michael.Trepka

	Fixed EngineTest runtime warning caused by CL 3838626

	#jira UE-53893

Change 3838730 by Max.Chen

	Sequencer: Add notification when the blend type is changed.

	#jira UE-54046

Change 3838626 by Michael.Trepka

	Changed FMacMenu to store MultiBox and MenuEntryBox as weak pointers instead of shared pointers. This way we avoid a situation where FMacMenu would try to release them on the main Cocoa thread or where we'd try to execute a menu action for menu items that Slate considers released.

	#jira UE-53893

Change 3838392 by Arciel.Rekman

	Fix assert on a policy removal (UE-54042).

	- Applying Gil's safe fix which just sweeps the problem under the rug.

	#jira UE-54042

Change 3838162 by Arciel.Rekman

	Linux: fix crash due to lambda lifetime issues (UE-54040).

	- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).

	#jira UE-54040

	(Edigrating 3819174 to Release-4.19)

Change 3838156 by Rolando.Caloca

	UE4.19 - Support for Vulkan devices that have no cached memory type

	#jira UE-54039

Change 3838096 by Brandon.Schaefer

	Set sound to unfocused volume multiplier if not focused

	#jira UE-51327

	#review-3835736 arciel.rekman

Change 3838087 by Brandon.Schaefer

	Fix arm server building. A fix from CL 3617084 remove inheriting from IHeadMountedDisplayVulkanExtensions. Remove overrides

	#jira UE-53901

	#review-3838088 arciel.rekman

Change 3837072 by Phillip.Kavan

	Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18.

	- Mirrored from //UE4/Dev-Framework (3836768).

	#jira UE-53908

Change 3837071 by Phillip.Kavan

	Emit proper syntax for set/map fields containing converted assets to generated C++ Blueprint class headers when Blueprint nativization is enabled.

	- Mirrored from //UE4/Dev-Framework (3835944, 3835965).

	#jira UE-42614

Change 3837070 by Phillip.Kavan

	#4202 -  Blueprint nativization bug fixes (PR).

	- Mirrored from //UE4/Dev-Framework (3830562, 3832292).

	#jira UE-52188

Change 3836507 by Ryan.Vance

	#jira UE-53992

	Due to hijacking the depth target directly from the scene context, we can't support depth compositing if it's being scaled by screen percentage since it wont match our color render target dimensions.

Change 3836390 by Dan.Oconnor

	Fix failure to resolve archetype when using the compilation manager

	#jira UE-53840

Change 3836251 by Ryan.Vance

	#jira UE-53992

Change 3835852 by Mark.Satterthwaite

	Fix tessellation shaders in Metal with Manual Vertex Fetch enabled:
	- The control points idnex buffer shouldn't collide with anything else.
	- We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures.

	#jira UE-53851

Change 3835802 by JeanMichel.Dignard

	UBT changes for Enterprise deployment
	- Allow building enterprise against an installed engine version
	- Added enterprise to the cleanup process if its not installed

	#jira UEENT-748

Change 3835625 by Bogdan.Vasilache

	UE-50257 --> (Skeletal meshes silently fail to render if they have more than 75 bones) --> changed logged error with a warning
	#jira UE-50257

Change 3833649 by Mike.Beach

	Enabling debug layer when multiview is enabled.

	#jira UE-49954

Change 3833525 by Ethan.Geller

	Fix copyright in ActiveSound.cpp #jira none #rb none

Change 3642649 by Stewart.Lynch

	Renamed loctext key to stop it clashing with an existing entry

	#jira UE-49432

Change 3644762 by Stewart.Lynch

	LLM update: Added Total, Untracked and FMalloc Unused to LLMFULL stat page. Fixed occasionally missing allocs/frees. Removed platform csv.

	* removed CheckSize arg from OnLowLevelFree
	* show a warning in LLM Map when replacing existing value. This means that there has been an alloc/free mismatch.
	* minor optimization in LLMMap::GetMaxIndex - cache Mask value
	* added Total and Untracked stats to LLMFULL. LLMFULL now tracks almost all of the memory that LLMPlatform does, so there is no real need to use LLMPlatform. Removed the LLMPlatform csv.
	* added FMalloc Unused stat to LLMFULL to account for memory Binned2 has allocated internally. This can be used to track Binned2 fragmentation over time.
	* renamed Binned stats to FMemory to make it more general
	* added Default tracking to CustomVirtualAlloc and disable it where necessary. This catches the few VirtualAlloc calls that were missed.
	* added AllocType arg to all allocation tracking. This was needed in order to track the FMalloc total, and also to fix the pausing
	* fixed a bug in pausing where alloc/frees were being missed. Now only pauses a specific allocation type.
	* Trackers now maintain totals for each enum tag
	* tracking of Texture and mesh allocation on Windows D3D11 & D3D12

Change 3651334 by Joe.Barnes

	Fix misspelled function name.

	#jira 39441
	#3016

Change 3653857 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3653675 to //UE4/Dev-Console/...

Change 3656553 by Joe.Barnes

	Add path for SCS_DeviceDepth.

Change 3662703 by Ben.Woodhouse

	Merging CL 3659069 from //Fortnite/Main/... to to //ue4/dev-console/...:

	[FORTNITE] [CONSOLE] [+] Improved frame syncing mechanism
	 - Improves input latency by allowing the game thread to sync to the swap chain flip of the previous frame.
	 - Added "r.GTSyncType" CVar to control how the game thread syncs with the rest of the pipe.
	 - r.GTSyncType 2 will sync the game thread with the flip of the swap chain, preventing the pipe from getting too long and causing excess input latency.

	Platforms are required to implement RHIWaitForFlip and RHISignalFlipEvent, and call RHIInitializeFlipTracking on RHI startup.
	A separate thread monitors the progress of frame flips and signals task graph events as they pass their corresponding frame index.
	In r.GTSyncType 2 mode, the game thread is signaled by this flip tracking thread.

	[~] Unified platform specific sync interval CVars into one: rhi.SyncInterval
	 - 1 == 60Hz
	 - 2 == 30Hz
	 - 3 == 20Hz

Change 3675239 by Keith.Judge

	Fixed thread priorities for Windows so that BelowNormal and SlightlyBelowNormal are the same. Bumped Lowest down a notch so they all fit.

	#jira UE-50626

Change 3676709 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3675008 to //UE4/Dev-Console/...

Change 3689712 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3687781 to //UE4/Dev-Console/...

Change 3701778 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3699491 to //UE4/Dev-Console/...

Change 3677043 by Ben.Woodhouse

	From StewartL:
	I also found that on Windows Fortnite is overflowing int32 values due to the number of allocations. I changed LLMArray and LLMMap to use uint32 and it seems to be Ok now. I didn't want to check this in at the last minute, so here's the shelf: 3645336

Change 3726532 by Luke.Thatcher

	[CONSOLE] [~] Enable XGE shader compilation by default.
	 - Also set XGE mode to "force interception". With XGE on by default, we don't want people with an old Incredibuild version using the old system inadvertently.

Change 3726554 by Luke.Thatcher

	[CONSOLE] [+] Improved Scoped Named Events
	 - Added SCOPED_NAMED_EVENT(_FSTRING/_TEXT/_F) macros to allow use of string literals, FString and printf in scoped named event strings.
	 - Replaced explicit use of FPlatformMisc::Begin/EndNamedEvent throughout the engine with macros, so the events can be compiled out.
	 - Fixed performance issues on various platforms with named events. SCOPED_NAMED_EVENT macros were not considering whether the platform uses wide or ansi char strings.

Change 3751378 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3748735 to //UE4/Dev-Console/...

Change 3751812 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3750870 to //UE4/Dev-Console/...

Change 3728571 by Luke.Thatcher

	[CONSOLE] [!] Drop another XGE controller warning to log.

Change 3747150 by Joe.Barnes

	Add AuthoringToolHelper.bat file to installed build copy list.

Change 3768585 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3767531 to //UE4/Dev-Console/...

Change 3772333 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3771573 to //UE4/Dev-Console/...

Change 3786872 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3786785 to //UE4/Dev-Console/...

Change 3787279 by Luke.Thatcher

	[CONSOLE] [~] Unified present threshold CVars.
	 - CVars are now in RHIUtilities.cpp, and are renamed to rhi.PresentThreshold.Top and rhi.PresentThreshold.Bottom.
	 - Platform implementations will be checked in shortly.

Change 3787445 by Luke.Thatcher

	[CONSOLE] [^] Merging (as edit) improvements to low-latency frame syncing from //Fortnite/Main to //UE4/Dev-Console

	Original CLs
	 - 3708949 - Added rhi.SyncSlackMS cvar to allow an offset of the game thread sync time by a number of milliseconds.
	 - 3712693 - Fix for crash on startup in new frame syncing.
	 - 3735765 - Fix r.GTSyncType logic when vsync is disabled (falls back to old behaviour when vsync is off).

Change 3788417 by Ben.Woodhouse

	Duplicate from FN CL 3712515
	CSV profiler GPU and pre-declared stat support
	- refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds
	- add support for pre-declared CSV stats, using FNames (these are required for GPU stats)
	- add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations
	Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats

Change 3807818 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3803271 to //UE4/Dev-Console/...

Change 3818577 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3812936 to //UE4/Dev-Console/...

Change 3821198 by Ben.Woodhouse

	Integrate from //UE4/Release-4.19/...@3820127 to //UE4/Dev-Console/...

Change 3821519 by Ben.Woodhouse

	Integrate from //UE4/Release-4.19/...@3820753 to //UE4/Dev-Console/...
	#robomerge none

Change 3813513 by Ben.Woodhouse

	CSV profiler refactor+ bug fix
	- Move the CSV profiler to core, so we can use it in modules other than engine
	- Profiler no longer enqueues RT commands - this is handled by a new core delegate type
	- Make begin/end requests more robust, enqueued via a command queue and processed in order
	- Defer end capture requests by a frame. This ensures stats on threads other than the gamethread (e.g. renderthread etc) are complete, so the last frame is not truncated
	- Fix long-standing bug with multiple captures where old/stale frames would appear in the first <128 frames of captures
	- Move unit stats and dynamic resolution out of the profiler itself and into the engine. Only frametime is recorded in the profiler now
	- Fix longstanding bug in first frame renderthread time in the engine

Change 3814039 by Ben.Woodhouse

	More Csvprofiler improvements
	- Event support (via CSV_EVENT macros). These appear in the "EVENTS" column of the CSV and can be used to add context to the stat data
	- Reduced memory overhead for timestamps through bit-packing (now 16 bytes per marker instead of 24), and splitting stats into different types

Change 3814041 by Ben.Woodhouse

	Integrate as edit CL 3796390 from Fortnite/Main:

	Fix CsvProfiler not compiling in shipping for now

Change 3814229 by Ben.Woodhouse

	Integrate + refactor of CL 3792591 to reduce complexity and fix bugs

	Original changelist description:
	CSV profiler improvements:
	- The CSV profiler is now always compiled in on the server
	- The CSV profiler can now handle both int32 and float stats
	- In BeginCapture, the function can take additional arguments for some customization of filenames

	Fixes to the above:
	 - Remove FCustomValue class
		- Fixes bug where all timestamp values from CSV_SCOPED_STATs were garbage (due to issues resulting from FCustomValue type ambiguity when adding values together)
		- FCsvCustomStat now just uses simple union + bitfield flag to reduce size and complexity (4 bytes instead of 8 per value)
		- FCsvColumn class modified to use doubles, which can represent both ints and floats without loss of precision - this class is not memory or time critical
	 - Replace multiple overrides used by the server for filenameprefix/folder/postfix etc with a single FilenameOverride

Change 3814242 by Ben.Woodhouse

	Disable CSV unit stats on the dedicated server

Change 3817339 by Ben.Woodhouse

	Duplicate from 3816641: CSV profiler improvements
	- Added a low-pri processing thread to compress raw timing data into a much more efficient format
	   - Reduces memory usage for 15 minute 30k frame capture with GPU stats enabled from 110MB to 3.4MB
	   - Processing time : 0.1ms per frame
	- Improved name handling for char literal stats. We now use the string as the ID rather than the pointer so multiple stat uses of the same name string apply only to  a single stat
	- Reworked thread data access to eliminate locking for anything time-critical. Frame boundaries now handled via a lock-free helper class
	-  Fixed bug with queue implementation where 1 in 128 reads would duplicate the last block of stat data
	-  Reduced #include dependencies for CSVProfiler.h
	-  Removed AccumulateMax because it doesn't work, and implementing properly would add a lot of complexity
	-  Added a simple test harness

Change 3817582 by Ben.Woodhouse

	Fix android compile warning

Change 3823242 by Ben.Woodhouse

	Integrate as edit from Fortnite/Main 3820067:

	Fix threading issue with D3D12 pipeline state caches for windows. This was caused by the usage of FRwScopeLock::RaiseLockToWrite. A pointer read before RaiseLockToWrite was called was invalidated because RaiseLockToWrite has to release the read lock before acquiring the write lock.

	Rename FRwScopeLock::RaiseLockToWrite to ReleaseReadOnlyLockAndAcquireWriteLock_USE_WITH_CAUTION to make it more explicit what's happening. As the comment says:

		// This function should be used with caution.
		// It releases the read lock _before_ acquiring a new write lock. This is not an atomic operation and the caller should
		// not treat it as such.
		// E.g. Pointers read from protected data structures prior to this call may be invalid after the function is called.

Change 3823840 by Ben.Woodhouse

	Edigrate from 3823816
	Fix an issue where the csvprofile console commands would sometimes result in an empty CSV. The root cause was GFrameNumber incrementing between the console command being read and FCSVProfiler::EndFrame(). We now use our own frame counter which is updated in EndFrame, so this can't happen

	Also fix an issue where calling csvprofile stop twice would cause all further commands to be ignored.

Change 3827787 by Ben.Woodhouse

	Integrate-as-edit CL 3820678 from Fortnite/Main
	Allow the CSV Profiler to be compiled in to shipping dedicated server builds

Change 3827842 by Ben.Woodhouse

	Integrate-as-edit CL 3827079 from Fortnite/Main
	CSV profiler category support

Change 3827918 by Luke.Thatcher

	[CONSOLE] [!] Fix compile error in CSV custom stats.

Change 3827964 by Luke.Thatcher

	[CONSOLE] [!] Fix inverted logic and spelling of boolean.
	 - Functionally, the boolean did the correct thing, but the logic was backwards inside the build tool.

Change 3831661 by Ben.Woodhouse

	Integrate-as-edit CL 3830630 from Fortnite/Main
	Fix CSVProfiler assert in dev builds on XB1

Change 3860300 by Joe.Barnes

	Use same method for src and dest rect calculation as other post processing passes so rects match between passes. Prevents read of unprocessed pixels.

Change 3860347 by Joe.Barnes

	Delete existing SourceConfigFile before allocating a new one to prevent them leaking.

Change 3860348 by Joe.Barnes

	Completely encapsulate GetLLMAlloc() in #ifdef.

Change 3861772 by Ben.Woodhouse

	Integrate-as-edit CL 3861688 from Fortnite/Main: Forward lighting GPU crash fixes

Change 3861774 by Ben.Woodhouse

	Integrate as edit CL 3833918 from dev-rendering (courtesy of DanielW):
	D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled.

Change 3862214 by Ben.Woodhouse

	Integrate-as-edit CL 3859637 from Fortnite/Main
			Dynamic resolution console tweaks
			- Dynamic resolution high level switch driven by a cvar instead of code
			- Disable user settings dynamic resolution handling on non-desktop platforms. DynamicRes as a user setting does not make sense on consoles/mobile - we'll drive it from device profiles/scalability
			- Modify naming of GPUHeadRoom to make it clear that it's a percentage, not millseconds

Change 3863919 by Ben.Woodhouse

	[Copy] Integrate console dynamic resolution interface changes from CL 3863354, 3862754, 3862639

Change 3864347 by Ben.Woodhouse

	Fix the editor build. This will need a proper fix before 4.19 ships.

#lockdown Nick.Penwarden
#rb none

[CL 3913399 by Ben Marsh in Main branch]
2018-02-27 17:30:35 -05:00
Marc Audy
cb964e7f10 Fix up duplicate global symbols that cause a monolithic editor to fail to compile
#codereview Ethan.Geller, Thomas.Sarkanen
#lockdown Nick.Penwarden
#rb Ben.Marsh
#rnx

[CL 3906945 by Marc Audy in Main branch]
2018-02-23 16:11:03 -05:00
Marc Audy
7a0f229e8d Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main/Engine @ 3876564)
#lockdown Nick.Penwarden
#rnx
#rb none

[CL 3903710 by Marc Audy in Main branch]
2018-02-22 11:25:06 -05:00
Ben Marsh
30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3805828 by Gil.Gribb

	UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.

Change 3806784 by Ben.Marsh

	UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.

Change 3807549 by Graeme.Thornton

	Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

	When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet

Change 3808221 by Steve.Robb

	GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()

	^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.

Change 3809233 by Graeme.Thornton

	TBA: Misc changes to text asset commandlet
	 - Rename mode to "loadsave"
	 - Add -outputFormat option which can be assigned "text" or "binary"
	 - When saving binary, use a differentiated filename so that source assets aren't overwritten

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

	GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value

	#jira UE-53037

Change 3809862 by Steve.Robb

	GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

	Minor updates to output formatting and timing for the text asset commandlet

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

	Incorrect semi-colon search removed after discussion with author.
	Test added.

	#jira UE-48242

Change 3812864 by Steve.Robb

	Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.

	See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html

	#jira UE-53089

Change 3820358 by Ben.Marsh

	PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

	- Always create log files in the final location, rather than writing to a temp directory and copying in later.
	- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
	- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
	- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.

Change 3823695 by Ben.Marsh

	UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).

	Now always queries changes up to the last change for which zipped binaries are available.

Change 3823845 by Ben.Marsh

	UBT: Exclude C# projects for unsupported platforms when generating project files.

Change 3824180 by Ben.Marsh

	UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

	Optimized PIE lazy pointer fixup. Should be up to 8x faster now.

Change 3826734 by Ben.Marsh

	Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.

Change 3827730 by Steve.Robb

	Try to avoid decltype(auto) if it's not supported.

	See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

	GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()

	#jira UE-53813

Change 3829189 by Ben.Marsh

	UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.

Change 3830444 by Steve.Robb

	BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
	This should be revisited when Core has its own JSON library.

Change 3830718 by Ben.Marsh

	Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.

	The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.

	For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.

	When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

	UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.

Change 3832680 by Ben.Marsh

	UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.

Change 3832695 by Ben.Marsh

	UGS: Invert the options in the 'Show Changes' submenu for simplicity.

Change 3833528 by Ben.Marsh

	UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].

Change 3833543 by Ben.Marsh

	UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.

Change 3834354 by Robert.Manuszewski

	Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

	Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.

	#jira UE-52035

Change 3834947 by Steve.Robb

	USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.

Change 3835004 by Ben.Marsh

	Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.

Change 3835340 by Ben.Marsh

	Fix errors making installed build from directories with spaces in the name.

Change 3835972 by Ben.Marsh

	UBT: Improved diagnostic message for targets which don't need a version file.

Change 3836019 by Ben.Marsh

	UBT: Fix warnings caused by defining linkage macros for third party libraries.

Change 3836269 by Ben.Marsh

	Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.

Change 3836543 by Ben.Marsh

	Enable SoundMod plugin on Linux, since it's already supported through the editor.

Change 3836546 by Ben.Marsh

	PR #4412: fix type mismatch (Contributed by nakapon)


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

	UBT: Fix ability to precompile plugins from installed engine builds.

Change 3837036 by Ben.Marsh

	UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.

Change 3837037 by Ben.Marsh

	UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).

Change 3837040 by Ben.Marsh

	UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.

Change 3837247 by Ben.Marsh

	UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).

	Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.

Change 3837262 by Ben.Marsh

	UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.

	Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.

Change 3837343 by Ben.Marsh

	UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

	UnrealPak: KeyGenerator: Only generate prime table when required, not all the time

Change 3837823 by Ben.Marsh

	UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.

Change 3837831 by Graeme.Thornton

	UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives

Change 3837857 by Robert.Manuszewski

	PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

	UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.

	#jira UE-53996

Change 3839519 by Ben.Marsh

	UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

	Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.

	Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.

	#jira UE-54157

Change 3845796 by Ben.Marsh

	Workaround for slow performance of String.EndsWith() on Mono.

Change 3845823 by Ben.Marsh

	Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.

	#jira UE-54123

Change 3845901 by Arciel.Rekman

	Linux: fix crash due to lambda lifetime issues (UE-54040).

	- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

	Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.

	Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

	UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.

Change 3816986 by Ben.Marsh

	UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.

Change 3816991 by Ben.Marsh

	UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

	- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
	- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
	- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
	- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.

Change 3826082 by Ben.Marsh

	UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.

Change 3827025 by Ben.Marsh

	UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

	Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.

Change 3835826 by Ben.Marsh

	UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.

Change 3835969 by Ben.Marsh

	UBT: Fix cases where text is being written directly to the console rather than via logging functions.

Change 3837777 by Steve.Robb

	Format string type checking added to FOutputDevice::Logf.
	Fixes for those.

Change 3838569 by Steve.Robb

	Algo moved up a folder.

[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
Marc Audy
994a524453 Merging //UE4/Release-4.19 to Release-Staging-4.19 (//UE4/Release-Staging-4.19) @ 3833288
#rb none
#jira no
#rnx

[CL 3833418 by Marc Audy in Staging-4.19 branch]
2018-01-11 16:07:16 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
cfc9f4775f Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3623004 by Ben.Marsh

	Fix RemoteExecutor not taking the remote machine specs into account.

Change 3623172 by Ben.Marsh

	UGS: Fix "More Info..." button not using P4 server override.

Change 3628820 by Ben.Marsh

	PR #3979: Get working directory from task element, not tool node (Contributed by nullbus)


Change 3630424 by Graeme.Thornton

	Make the AES key parameter const in FAES::EncryptData()

Change 3632786 by Steve.Robb

	FString constructor fixed to not take an ignored void* parameter, which can be misleading.

Change 3639534 by Ben.Marsh

	Remove old P4.NET library. Doesn't seem to be used by anything.

Change 3640536 by Steve.Robb

	GitHub #4007 : Delete unnecessary specialization of MakeArrayView

	#jira UE-49617

Change 3641155 by Gil.Gribb

	UE4 - Speculative fix for problem with summary reading in FAsyncArchive2.

Change 3643932 by Ben.Marsh

	Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument).

Change 3644825 by Ben.Marsh

	Use VSWHERE to find the location of MsBuild.exe, if available.

	https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645

Change 3647395 by Ben.Marsh

	Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options.

Change 3650300 by Ben.Marsh

	UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis.

Change 3650856 by Robert.Manuszewski

	Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread

Change 3651022 by Gil.Gribb

	UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher.

Change 3658331 by Steve.Robb

	Fix for the parsing of large integer values.

Change 3661958 by Gil.Gribb

	UE4 - Fixed rare hang in task graph.

Change 3664021 by Robert.Manuszewski

	Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy

	See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html

Change 3664254 by Steve.Robb

	Use ANSI allocator when thread sanitizer is enabled.  This allows the generation of more accurate and meaningful reports.

Change 3664436 by Steve.Robb

	Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads.

Change 3666461 by Graeme.Thornton

	Improvements to signing/encryption key embedding and runtime access
	 - Changed method of embedding key into the executable to make it more secure
	 - Added FAESKey class to wrap a 32 byte key

Change 3666462 by Graeme.Thornton

	Cut ShooterGame AES key down to 32 characters

Change 3677560 by Ben.Marsh

	PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn)


Change 3683534 by Steve.Robb

	Refactoring of enum/struct lookup during hot reload.

Change 3683754 by Steve.Robb

	Alignment fixes to allow int64 on 32-bit platforms
	Support for integral types in IsAligned.
	Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types.
	Some fixes to existing code.

Change 3686670 by Steve.Robb

	Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS.

Change 3687540 by Ben.Marsh

	Fix all UBT/UAT output going to stderr rather than stdout.

Change 3688931 by Gil.Gribb

	UE4 - Critical fix for a rare race condition in the pak file async IO layer.

Change 3690000 by Graeme.Thornton

	Manual copy of 4.18 CL 3687869

	Make UBT include the destination INI file for a given hierarchy if it exists
	Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name

Change 3690030 by Graeme.Thornton

	VSCode fixes
	 - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path
	 - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for
	 - Various fixes for vscode project file generation

	#jira UE-50554

Change 3690885 by Steve.Robb

	Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.

Change 3691052 by Steve.Robb

	Free stats thread on shutdown.

Change 3695138 by Steve.Robb

	AsConst helper function added.

Change 3696627 by James.Hopkin

	Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr

	(review-3606695)

Change 3697099 by Steve.Robb

	GitHub #4105 : Removed redundant class access modifier

Change 3697154 by Steve.Robb

	Removal of deprecated functions in delegates.
	Mutable lambdas to can now be bound to delegates.

Change 3697180 by Steve.Robb

	GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty

Change 3697239 by Steve.Robb

	Allow TArray::Insert to take an array with any allocator type.

Change 3697269 by Steve.Robb

	RelocateConstructItems instead of MoveConstructItems.

Change 3697558 by Steve.Robb

	New _GetRef functions for TArray, which return a reference to the newly-added element.
	Unit tests for these functions.

Change 3699776 by Steve.Robb

	TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.

Change 3702397 by Steve.Robb

	TIsTrivial type trait.

Change 3702569 by Steve.Robb

	Allow a TGuardValue to be assigned to a different type from the one being guarded.

Change 3706644 by Robert.Manuszewski

	Different stack ingore count for development builds for FArchiveStackTrace

Change 3709272 by Steve.Robb

	Removal of redundant UpdateVertices, which causes a race condition on the renderer thread.

Change 3709452 by Robert.Manuszewski

	Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies

Change 3709454 by Robert.Manuszewski

	Added command line option -NOEDL to disable EDL

Change 3709487 by Steve.Robb

	Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.

Change 3709645 by Ben.Marsh

	Fix race condition between multiple instances of UBT trying to write out the XML config cache.

Change 3711193 by Ben.Marsh

	Add an editor setting for the shared DDC location to use.

	#jira UE-51487

Change 3713811 by Steve.Robb

	Update .modules files after a hot reload.
	Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks.
	Pass hotreload flags around in UBT instead of relying on global state.

	This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205.

	#jira UE-51472

Change 3715654 by Steve.Robb

	GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy.

Change 3718782 by Steve.Robb

	TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called.

Change 3720830 by Steve.Robb

	Initial import of TAtomic object wrapper, which guarantees atomic access to an object.

Change 3720881 by Steve.Robb

	FCompression ThreadSanitizer data race fixes.

Change 3722640 by Graeme.Thornton

	Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading.

	#jira UE-51463

Change 3722655 by Steve.Robb

	Don't null name table because it's already zeroed at startup.
	Some tidy-ups.

Change 3722754 by Steve.Robb

	Thread sanitizer fix.
	Small typo fix.

Change 3722849 by Graeme.Thornton

	Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server

Change 3723081 by Steve.Robb

	TAtomic is now aligned to the underlying integer type.
	TAtomic will now static assert with a better error message when given an unsupported type.
	Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number.
	Misc renames.

Change 3723270 by Ben.Marsh

	Include /d2cgsummary argument when running UBT with -Timing.

Change 3723683 by Ben.Marsh

	Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance.

Change 3725422 by Robert.Manuszewski

	When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning.

Change 3725735 by Robert.Manuszewski

	Making all CheckDefaultSubobjects related functions const

Change 3726167 by Steve.Robb

	FMinimalName::IsNone added.

Change 3726458 by Steve.Robb

	TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer.

Change 3726542 by Ben.Marsh

	UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths.

Change 3726595 by Ben.Marsh

	Allow building multiple game targets in the example BuildEditorAndTools.xml script.

Change 3726724 by Ben.Marsh

	Fix ambiguities in calculating root directory. (GitHub #4172)

Change 3726959 by Ben.Marsh

	Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does.

Change 3728437 by Steve.Robb

	VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel.
	Some improved documentation.

	NOTE: This is a backward-incompatible change to VisitTupleElements.  Any existing calls will need their arguments swapping.

Change 3732262 by Gil.Gribb

	UE4 - Fixed rare hangs in the task graph.

Change 3732755 by Steve.Robb

	Stats TSAN fixes.
	Optimizations to FCycleCounter::Start() to only read the stat name once.

Change 3735000 by Robert.Manuszewski

	Always preload the AssetRegistry module on startup. even if EDL is disabled.

	Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert.

Change 3735292 by Robert.Manuszewski

	Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates.

Change 3735332 by Steve.Robb

	Refactoring of UDelegateProperty::Identical() to clarify logic.
	Fixed UMulticastDelegateProperty::Identical() to compare the bound function names.
	PPF_DeltaComparison removed, as it doesn't seem useful.

Change 3737960 by Graeme.Thornton

	VSCode - Add launch task for generating project files for the given folder

Change 3738398 by Graeme.Thornton

	Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor

	#jira UE-51451

Change 3738405 by Graeme.Thornton

	VSCode: Format c/cpp settings strings using comment path formatting function

Change 3738928 by Steve.Robb

	Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18)

	#jira UE-51842

Change 3739135 by Ben.Marsh

	Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history.

	#jira UE-51855

Change 3739360 by Ben.Marsh

	UAT: Fix issue with P4PORT setting not being parsed correctly.

Change 3745959 by James.Hopkin

	#core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types

Change 3746125 by Steve.Robb

	FName ThreadSanitizer fixes.

Change 3747274 by Steve.Robb

	TSAN fix for FMediaTicker::Stopping.

Change 3747618 by Steve.Robb

	ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.

Change 3747720 by Steve.Robb

	ThreadSanitizer fix for FMessageRouter::Stopping.

Change 3749207 by Graeme.Thornton

	First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys.

Change 3749323 by Graeme.Thornton

	Fix UAT crash when only -targetplatform is specifiied

Change 3749349 by Steve.Robb

	TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.

Change 3749617 by Steve.Robb

	Logf static_assert for formatting string enabled.

Change 3749897 by Steve.Robb

	FDebug::LogAssertFailedMessage static assert for formatting string enabled.

Change 3754011 by Steve.Robb

	Static asserts that the allocator supports move.
	Move-enabled our allocators which don't support move.

Change 3754227 by Ben.Marsh

	Fix build command line in generated projects missing a space before the compiler version override.

	#jira UE-52226

Change 3754562 by Ben.Marsh

	PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk)


Change 3755616 by Graeme.Thornton

	Runtime code for using the new crypto ini files to define signing/encryption keys

	#jira UE-46580

Change 3755666 by James.Hopkin

	Used ImplicitConv to remove Casts being used for up-casts

	#review-3745965

Change 3755671 by Graeme.Thornton

	Add log message in unrealpak to say which config file system it is using for crypto keys

Change 3755672 by Graeme.Thornton

	Updating ShooterGame with new CryptoKeys based security setup

Change 3756778 by Ben.Marsh

	Add support for running multiple jobs simultaneously on a single builder.

	When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used.

Change 3758498 by Ben.Marsh

	Re-throw exceptions when a file cannot be deleted when cleaning a target.

Change 3758921 by Steve.Robb

	ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access.
	DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory.

Change 3760599 by Graeme.Thornton

	Added missing epic header comment to some new source files

Change 3760642 by Steve.Robb

	ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.

Change 3760669 by Graeme.Thornton

	Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually.

	Added a test mode to the cryptokeys commandlet to test signing key generation

Change 3760711 by Steve.Robb

	ThreadSanitizer fixes to GIsRenderingThreadSuspended.

Change 3760739 by Steve.Robb

	ThreadSanitizer fix for FQueuedThread::TimeToDie.

Change 3760763 by Steve.Robb

	ThreadSanitizer fix for GRunRenderingThreadHeartbeat.
	Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread.

Change 3760793 by Steve.Robb

	Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos.

Change 3760817 by Steve.Robb

	ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.

Change 3761331 by Josh.Engebretson

	UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj

	#jira UE-52416

Change 3761521 by Steve.Robb

	ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.

Change 3763117 by Graeme.Thornton

	PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL)


Change 3763358 by Graeme.Thornton

	Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes
	Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path

	Derived from the content of this PR:
	PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang)


Change 3764058 by Graeme.Thornton

	Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes

	#jira UE-52359

Change 3764705 by Steve.Robb

	Better handling of whitespace in ImportText_Internal() for set and map properties.
	Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data).
	Fix to USetProperty's temp buffer size to avoid buffer overruns.
	Duplicate map keys are now skipped during import, same as USetProperty's behavior.

Change 3764731 by Steve.Robb

	Don't re-run UHT if only source files have changed in the same folder as headers.  This was already done for hot reload, but there's no reason why it should be limited to that.

Change 3765923 by Graeme.Thornton

	VSCode - "taskName" -> "label" for C# build tasks

Change 3766018 by Steve.Robb

	constexpr constructor for TAtomic.

Change 3766037 by Steve.Robb

	Misc tidyings in HotReload.cpp.

Change 3766046 by Steve.Robb

	ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local.

Change 3766288 by Steve.Robb

	Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects.

Change 3766374 by Josh.Engebretson

	Fix issue with ini quoted value comparison

	#jira UE-52066

Change 3766532 by Josh.Engebretson

	PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu)
	#jira UE-46156

Change 3766740 by Steve.Robb

	TMultiMap::Append added.

Change 3767523 by Steve.Robb

	ThreadSanitizer fix for UE4Delegates_Private::GNextID.

Change 3767601 by Steve.Robb

	ThreadSanitizer fix for FStats::GameThreadStatsFrame.

Change 3770567 by Ben.Marsh

	Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives.

Change 3770826 by Ben.Marsh

	Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it.

Change 3770875 by Steve.Robb

	Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading.  This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps.

Change 3772167 by Ben.Marsh

	Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data.

Change 3772248 by Steve.Robb

	ThreadSanitizer fixes to FMalloc call counters.

Change 3772383 by Ben.Marsh

	Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive.

Change 3772906 by Graeme.Thornton

	TextAssetCommandlet - Utility commandlet for testing/converting to text asset format

Change 3772932 by Ben.Marsh

	Fix "String:" prefix not being stripped from escaped string values.

Change 3772942 by Graeme.Thornton

	Add experimental setting to enable in-editor text asset format functionality
	Add "export to text" option into the content browser asset actions context menu

Change 3772955 by Ben.Marsh

	Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility.

Change 3772963 by Ben.Marsh

	Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries.

Change 3773010 by Graeme.Thornton

	Added CORE_API to FArchiveFromStructuredArchive
	Gave text asset format experimental option a slightly less random tooltip comment

Change 3773057 by Ben.Marsh

	Add a flag to FArchive to determine whether the archive is text (IsTextFormat()).

	Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive.

	Also rename FStructuredArchive::TryEnterSlot() to TryEnterField().

Change 3773118 by Steve.Robb

	TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size.

Change 3773122 by Steve.Robb

	TAtomic fixes for pointer arithmetic.
	TSignedIntType used instead of reimplementing its own trait.

Change 3773123 by Steve.Robb

	Unit tests for TAtomic.

Change 3773138 by Steve.Robb

	Run numeric tests on integer types instead of basic tests.
	Fix for compiler warnings when subtracting from unsigned atomics.

Change 3773166 by Steve.Robb

	Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that.

Change 3774216 by Gil.Gribb

	UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file.

Change 3774426 by Ben.Marsh

	Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all.

	See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html

Change 3774658 by Ben.Marsh

	Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it.

Change 3775141 by Ben.Marsh

	Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor.

Change 3775459 by Ben.Marsh

	Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically.

Change 3775522 by Ben.Marsh

	UGS: Treat .uproject and .uplugin files as code changes.

Change 3775597 by Ben.Marsh

	Fix post-build steps for plugins not being executed.

	#jira UE-52754

Change 3777895 by Graeme.Thornton

	StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive

Change 3777931 by Graeme.Thornton

	Refactored FArchiveUObjects serialization code into some static helpers
	Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers

Change 3777942 by Graeme.Thornton

	Added missing CORE_API to FStructuredArchive::FStream
	Added FStructuredArchive::FSlot insertion operator for char
	Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value

Change 3778084 by Graeme.Thornton

	Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files

Change 3778096 by Graeme.Thornton

	Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class

Change 3778389 by Josh.Engebretson

	Fix an optimization issue with CPU benchmarking
	Add better support for debugging/testing local rocket builds

	UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html

	#jira UE-52192

Change 3778701 by Josh.Engebretson

	Ensure plugin content folders are mounted consistently.  Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets

	UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html

	#jira UE-40317

Change 3778832 by Chad.Garyet

	Adding enterprise path support for PCB's for UGS

Change 3780258 by Graeme.Thornton

	TextAssetCommandlet - Accumulate timings for loading packages and saving packages

Change 3780463 by Graeme.Thornton

	CryptoKeys improvements
	 - Enable CryptoKeys plugin by default
	 - Attempt to inherit settings from the old system by default
	 - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system

	Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings

Change 3780557 by Ben.Marsh

	Fix LoginFlow module not being precompiled for the binary release.

Change 3780846 by Josh.Engebretson

	Improve filename to long package name resolution when provided a relative path

Change 3780863 by Ben.Marsh

	UAT: Add a better error message when a C# project has an invalid reference.

Change 3780911 by Ben.Marsh

	Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce.

	The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument.

Change 3780956 by Josh.Engebretson

	Add support for ! (RemoveKey) config command to UBT

	UDN Link: https://udn.unrealengine.com/questions/397267/index.html

	#jira UE-52033

Change 3782957 by Robert.Manuszewski

	UE4 - Fixed a linear search in EDL that caused performance problems for very large maps.

Change 3784503 by Ben.Marsh

	Optimizations for FStructuredArchive:

	* Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it.
	* Prevent shrinking of arrays when removing elements.
	* Add an inline allocator to the scope and container stacks.

Change 3784700 by Ben.Marsh

	Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front.

Change 3784989 by Ben.Marsh

	Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0.

Change 3786860 by Gil.Gribb

	UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely.

Change 3787159 by Ben.Marsh

	Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution.

Change 3787493 by Josh.Engebretson

	Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores
	Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile
	Fix for multiple threads parsing ini keys (PR 3995)

	#PR 3995
	#jira 52913
	#jira 49503

Change 3787773 by Steve.Robb

	Fix for missing final values from FOREACH_ENUM_ macros.

Change 3788287 by Ben.Marsh

	TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique.

Change 3788678 by Ben.Marsh

	Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive.

Change 3789353 by Graeme.Thornton

	Removed unused/rotten modes from TextAsset commandlet.
	Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing.

Change 3789396 by Ben.Marsh

	Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h

Change 3789772 by Ben.Marsh

	Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line.

Change 3790003 by Ben.Marsh

	TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record.

Change 3790051 by Steve.Robb

	PIE is disabled during a hot reload.
	Hot reload in editor is disabled during PIE.
	Hot reload from IDE is deferred until after PIE is exited.
	Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change.

	#jira UE-20357
	#jira UE-52137

Change 3790709 by Steve.Robb

	Better move support for TVariant.
	EVariantTypes switched over to using an enum class to aid debugger visualization.

Change 3791422 by Ben.Marsh

	TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time.

Change 3791489 by Graeme.Thornton

	TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record

Change 3792344 by Ben.Marsh

	Improvements to base64 encoding library.

	* Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations.
	* Added support for decoding base-64 blobs without padding marks.
	* Added support for decoding into pre-allocated buffer.
	* Added constexpr functions for determining the encoded and maximum decoded size of an input buffer.
	* Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes).

Change 3792949 by Ben.Marsh

	TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.

Change 3794078 by Robert.Manuszewski

	Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine

	#jira UE-52392

Change 3794413 by Ben.Marsh

	TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack.

Change 3794731 by Ben.Marsh

	TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable.

Change 3795081 by Ben.Marsh

	UBT: Move LinuxCommon.cs into Platform/Linux folder.

Change 3795137 by Ben.Marsh

	UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property).

Change 3795247 by Ben.Marsh

	Fix missing header when creating a new interface from the editor new code wizard.

	#jira UE-53174

Change 3796025 by Graeme.Thornton

	Fixed some deprecated "Definitions" warnings in OpenCV build files

Change 3796103 by Graeme.Thornton

	Disable experimental text asset option - it does nothing useful yet.

Change 3796157 by Graeme.Thornton

	Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open.

	#jira UE-53206

Change 3796315 by Ben.Marsh

	Move Formatter to the correct position for initializer.

	#jira UE-53208

Change 3797082 by Ben.Marsh

	UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT.

	#jira UE-53232

Change 3799050 by Ben.Marsh

	Make UnrealPak.version files writable for Mac and Linux.

Change 3801012 by Graeme.Thornton

	VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory

Change 3801214 by Gil.Gribb

	UE4 - Remove assert to work around minor problem with lock free lists.

	#jira UE-49600

Change 3801219 by Steve.Robb

	WeakObjectPtrs now warn when casting away const.

Change 3801299 by Graeme.Thornton

	Fix quote issue with foreign project build tasks on PC

Change 3803292 by Graeme.Thornton

	Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries

Change 3803559 by Steve.Robb

	TSAN fix for FMalloc::MaxSingleAlloc.

Change 3803735 by Graeme.Thornton

	Last set of cryptokeys changes
	 - Added some comments for editor exposed settings
	 - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets"

Change 3803929 by Ben.Marsh

	UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog.

Change 3624590 by Steve.Robb

	AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector.
	Tidy-up of existing calls to AddReferencedObjects.

Change 3629473 by Ben.Marsh

	Build: Rename the option for embedding source server information in PDB files for installed engine builds.

Change 3632894 by Steve.Robb

	VARARG* macros deprecated and usage replaced with variadic templates.

Change 3640704 by Steve.Robb

	MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type.
	Fix to TWeakObjectPtr's constructor which implicitly removed const.
	Fixes to everything which didn't compile as a result.

Change 3650813 by Graeme.Thornton

	Removed FStartupPackages and associated code

Change 3651000 by Ben.Marsh

	Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out.

	#jira UE-49980

Change 3690842 by Steve.Robb

	FPlatformAtomics::AtomicRead added - needs optimizing.
	AtomicRead() used in FThreadSafeCounter::GetValue().

Change 3699416 by Steve.Robb

	Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator.
	Improved readability of TSparseArray visualization.

Change 3720812 by Steve.Robb

	Atomic functions for 8-bit and 16-bit.
	Android, Linux and Switch implementations now just use the Clang implementation.
	AtomicRead64 deprecated in favor of the int64* AtomicRead overload.

Change 3722698 by Steve.Robb

	VS debugger visualizers for TAtomic.

Change 3732270 by Steve.Robb

	Relaxed stores and loads.

Change 3749315 by Graeme.Thornton

	If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform

	#jira UE-52034

Change 3750657 by Josh.Engebretson

	Fixed issue when debugging editor cook/package and project launch operations

	#jira UE-52207

Change 3758514 by Steve.Robb

	Fixes to FString::Printf having non-literals being passed as its formatting string.

Change 3763356 by Steve.Robb

	ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters.

Change 3770549 by Steve.Robb

	Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES.
	Tidy up of existing code which uses it.

Change 3770553 by Ben.Marsh

	Adding structured serialization API to Core/CoreUObject for use with text-based assets.

	* FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types.
	* Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Maps are string -> value dictionaries where the key names are present regardless of the build type.
	* Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects.
	* Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type.
	* The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Includes implementations of FArchiveFormatter for binary and JSON formats.

Change 3771105 by Steve.Robb

	Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS.
	Fix for incorrect warning formatting on Clang platforms.

Change 3771520 by Steve.Robb

	Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header.

Change 3771564 by Steve.Robb

	More common macros moved to the Clang pre-setup header.

Change 3771613 by Steve.Robb

	EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.

Change 3772881 by Ben.Marsh

	Add support for serializing FName and UObject through FStructuredArchive.

	In order to allow custom linker behavior when serializing objects:

	* The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer.
	* The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table)

	Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix).

Change 3772941 by Graeme.Thornton

	Make build work when including StructuredArchive.h from core container types
	Added standard header to new files
	Add structured archive serializer for TArray
	Fix bug in structured archive where containers weren't being popped from the scope stack

Change 3772972 by Ben.Marsh

	Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot.

	Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately.

	When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields.

Change 3773006 by Ben.Marsh

	Rename FStructuredArchive::FRecord::EnterSlot() to EnterField().

Change 3773013 by Steve.Robb

	bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes.

Change 3774499 by Ben.Marsh

	Minor fixes for FStructuredArchive related classes:

	* Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types.
	* FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions.

Change 3774600 by Ben.Marsh

	Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data.

	This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data.

Change 3789721 by Ben.Marsh

	TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing.

Change 3789920 by Ben.Marsh

	TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double.

	#jira UECORE-364

Change 3789982 by Ben.Marsh

	TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter.

Change 3792466 by Ben.Marsh

	TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly.

	In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations.

Change 3792935 by Ben.Marsh

	TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.

Change 3795100 by Ben.Marsh

	UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer.

Change 3795106 by Ben.Marsh

	Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions.

Change 3796275 by Ben.Marsh

	Fix paths to Version.h includes from resource files.

Change 3800683 by Josh.Engebretson

	Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format
	#jira UE-50073

Change 3803545 by Steve.Robb

	TWeakObjPtr const-dropping assignment fix.
	Fixes to change.

[CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
Marc Audy
74f7654eb7 Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main/Engine @ 3780923)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3780878 by Nick.Darnell

	UMG - Providing more information when the compile fails to find a bindable widget.


Change 3780855 by Gil.Gribb

	UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Saves half the load time in FN-BR.


Change 3780803 by Thomas.Sarkanen

	Dont create animation tasks for skeletal meshes that have no anim instance

	This avoids some wasted work for non-animated attachments, such as pickaxes

	#jira FORT-61523 - Don't create anim worker tasks if no AnimBP


Change 3780741 by Yenal.Kal

	#jira FORT-60177

	Fixed the bug where the anim branching points (begin and end) may be triggered twice incorrectly.

Change 3780663 by Gil.Gribb

	UE4 - Batching for audio thread commands.


Change 3780466 by Ben.Marsh

	Add error matcher for generic Microsoft errors (eg. 'cl : Command line error D8049 : command line too long to fit in debug record')

Change 3779937 by Nick.Darnell

	UMG - Adding an accessor on UUserWidget to get the owning player state easier, since it's a common operation.


Change 3779858 by Sam.Zamani

	#http
	use separate "-multihomehttp" instead of "-multihome" for routing http socket

	#jira FORT-61666
	#tests none

Change 3779288 by Michael.Trepka

	Changed FMacConsoleOutputDevice::Serialize to use FString's GetNSString() instead of converting the string using FPlatformString::TCHARToCFString to make it safer in case of garbage text passed in Data

	#jira FORT-59762

Change 3779062 by Mike.Fricker

	Merged CL 3731188 and CL 3733311 from //UE4/Dev-Editor.

	----

	Improve responsiveness of Open Asset dialog.

	On large projects, there's a noticeable delay when opening and searching/filtering assets.

	Stopwatch measurements on my machine (seconds for ~122,000 assets):
		before	with this CL
	ctrl-P	1.4	0.45
	search	1.8	0.55

	CollectionManagerModule was the main culprit for search/filter slowness.

	Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation.


Change 3778954 by Nick.Darnell

	Slate - Making the Horizontal and Vertical analog keys configurable in the navigation config.  Tweaking how fast the navigation is with the analog stick, trying to tune the feeling.


Change 3778896 by Ben.Marsh

	Separate FNameEntrySerialized from FNameEntry, rather than deriving from it. It has to be allocated differently, and many fields cannot be shared between the two.

	#jira

Change 3778807 by Ben.Marsh

	Fix Tencent include paths not registering if workspace directory contains a space.

	Tencent include paths currently have a trailing backslash, and this is surrounded by quotes if the root directory contains a space. The backslash is interpreted as escaping the trailing double quote.

	#jira

Change 3778686 by Luke.Thatcher

	 Reduced impact of dynamic vertex buffer RHI stall in D3D12
	 - In most cases we can avoid the stall if the vertex buffer has never been used before.
	 - Only when a buffer has an existing SRV do we need to stall.

	 - Also, delete copy and move constructors of FD3D12ResourceLocation. Moving or copying an instance of this class leads to double free crashes, so this is now a compile error rather than a runtime crash.

	This saves an average of 2ms frame time in a StW lastperftest replay, with r.screenpercentage 10.

	#jira FORT-61390

Change 3778679 by Thomas.Sarkanen

	Fix Linux server crash - dont attempt to run threaded work in a single-threaded environment

	We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously.

	#jira FORT-61548

Change 3778591 by Ben.Woodhouse

	Add build config to FPSChart HTML output

	#jira FORT-56478

Change 3778175 by ben.marsh

	Remove code to trigger an ensure on Arxan guards. We already send analytics for this, and don't need this legacy path. There is a large number of incoming ensures with this callstack that are clogging up crash reporter.

	Will remove all the surrounding code in a later update to a development branch.

	#jira

Change 3777750 by Chris.Gagnon

	- Slate now supports a CustomBoundary Navigation type wich allows a custom handler if the boundary is hit.
	  - This provides the ability to have normal navigation while within the boundary and the custom function only on the boundary.
	  - This differs from Custom which is a full override of the navigation behavior.



Change 3777678 by Bob.Tellez

	#UE4 Fix a bug that was causing fastpath nodes in non-nativized BPs to not be fastpath


Change 3776962 by Bob.Tellez

	#UE4 Fix warning about missing virtual destructor by making a struct final (like other RHICommands)


Change 3776656 by Thomas.Sarkanen

	Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components

	This was causing AIs to get stuck in montage playback in some circumstances

	#jira FORT-61324, FORT-60558


Change 3776655 by Bob.Tellez

	#UE4 CIS fix after 3776629


Change 3776650 by Bob.Tellez

	Counting uplugin and uproject files as code changes so UGS will trigger code builds on checkins containing these files


Change 3776649 by Nick.Darnell

	UMG - Fixing a rare crash when destructing a widget in the designer.  It's trying to remove widgets from a half garbage collected panel.


Change 3776629 by Bob.Tellez

	#UE4 Using a more efficient data structure for keeping track of visited nodes when verifying EDL.


Change 3776328 by James.Golding

	Add command line option (-statnamedevents) for enabling named events



Change 3776024 by Nick.Darnell

	Slate - Adding an accessor to SSafeZone to get the amount of padding that will be added, given some scale.


Change 3775569 by Gil.Gribb

	UE4 - Fixed bugs with r.DelaySceneRenderCompletion


Change 3775543 by Luke.Thatcher

	 [XBOXONE] [~] Remove stall in D3D12 CreateRHIBuffer
	 - Buffer update is enqueued as a task on the RHI thread instead of stalling the RHI thread for the duration of the update.


Change 3775488 by Thomas.Sarkanen

	Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks

	#jira FORT-61157 - Run anim update on worker, even if not visible

Change 3775219 by Bob.Tellez

	#UE4 Dont SerializeThumbnails when calling savepackage while editoronly data is excluded (cooking). This saves a lot of memory while cooking


Change 3774886 by Mike.Fricker

	Fixed occasional crash when backing out to lobby
	- Don't force DF data to be updated when the mesh isn't in the world or has no scene interface

	#jira FORT-60863

Change 3774767 by Ori.Cohen

	Fix race condition for creating statid in test configs


Change 3774682 by Bob.Tellez

	#UE4 Don't bother clearing cached platform data during shutdown purge since there may be a lot of it and it takes a while to destroy it.


Change 3774621 by Bob.Tellez

	#UE4 Move Tree rebuilding during cook from Serialize to PreSave to avoid building the tree multiple times for a single platform. Also properly clear out CacheMeshExtendedBounds.


Change 3774201 by Gil.Gribb

	UE4 - Fixed rare crash caused by unmounting pak files.


Change 3773920 by Gil.Gribb

	UE4 - Added experimental option r.StartPrepassParallelTranslatesImmediately which allows the parallel translate tasks from the prepass to start before we init shadows. Disabled by default.


Change 3773896 by Thomas.Sarkanen

	Push non-rendered anim updates back onto the worker thread

	Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation).

	#jira FORT-61157 - Run anim update on worker, even if not visible


Change 3773886 by Gil.Gribb

	UE4 - Reduced r.RHICmdMinCmdlistForParallelSubmit from 2 to 1.


Change 3773882 by Gil.Gribb

	UE4 - Improved profiler markers when they are used without stats to cover the task graph and some things related to the parallel renderer.


Change 3773461 by Gil.Gribb

	UE4 - Increased the granularity of the ParallelFor blocks for greater load balancing.


Change 3773459 by Gil.Gribb

	UE4 - Adds TLS caches for MallocBinned2 to the Audio thread.


Change 3773458 by Gil.Gribb

	UE4 - Added an experimental option to do the slate render before waiting for the rendering tasks.


Change 3773011 by Robert.Manuszewski

	Header (uasset) and export (uexp) files will now be compared seperately when running cook commandlet with -diffonly to avoid situations where a mismatch in size of the header produces more differences between exports.

	+ Renamed ini setting to ignore header differences from SkipHeaderDiff to IgnoreHeaderDiff


Change 3772867 by Thomas.Sarkanen

	Nativization now correctly generates and builds code for "Client" builds

	Overall this is a bunch of hacks, but necessary for nativization to work at present. Once the cooker and UAT both have a concept of "Client" targets, this can be implemented properly.
	Instead of building to a "Client" directory, we build to "Game" for client-only platforms (like PS4, XboxOne)
	Also we need to add "Client" targets to the whitelist for the nativized assets plugin, as UBT still thinks it is building for "Client"

	#jira FORT-52823 - Nativizing Player Animation Blueprints

Change 3772408 by Robert.Manuszewski

	Cook commandlet will now report full property name when running a diff against the existing cook (-diffonly)


Change 3772359 by Thomas.Sarkanen

	Improvements to the Cpp backend to allow VC++ to compile nativized code more effectively

	Added a new scoped helper to wrap areas of the code in PRAGMA_DISABLE_OPTIMIZATION. This helps with functions that are large tables or long lists of initializations.
	Split anim node initialization up into functions, called from a seperate function dedicated to initializing anim nodes. This splits the 5k+ line constructor into mutiple smaller functions, which the compiler has no problems with.
	Overall (along with splitting up the anim BP into functions in the asset) this reduces compilation time for the worst-case compilation unit from ~11m 40s to ~2m 32s.

	#jira FORT-52823 - Nativizing Player Animation Blueprints

Change 3771975 by Zak.Middleton

	Fix character proxies doing up to two floor check when only rotation changes. Add some optional verbose logging to FindFloor() and ComputeFloorDist().

	#jira FORT-61134

Change 3771421 by Ori.Cohen

	Fix CIS


Change 3771052 by Robert.Manuszewski

	Package diff improvements (-diffonly mode for cooker). Exposed max diffs to report to ini and added the ability to suppress header differences reporting as they are usually a result of differences in exports anyway.


Change 3771039 by Bob.Tellez

	#UE4 Allowing use of -FPS in PGO profile builds


Change 3770747 by Ori.Cohen

	Added missing stat named events for anim bp


Change 3769616 by Arciel.Rekman

	UBT: Use response files for compiler when compiling for Linux.

	- Some command lines are too long when cross-compiling on Windows, which is a problem for non-unity builds (or local changes that result in exclusion of checked out files from the lumped units).

Change 3769457 by Gil.Gribb

	UE4 - Added eviction to r.DoLazyStaticMeshUpdate. It just removes 10 prims a frame in a rolling fashion.


Change 3769136 by Michael.Noland

	Engine: Improve IsServerDelegateForOSS to allow it to use the play world during PIE even if no context was passed in


Change 3768736 by Robert.Manuszewski

	More debug info for ensure in FLinkerSave when a name that has not yet been mapped is being serialized

	#jira FORT-60943

Change 3768634 by Robert.Manuszewski

	Small optimization to FEDLCookChecker::Verify function


Change 3768603 by Robert.Manuszewski

	Merging CL #3766740 by Steve.Robb

	TMultiMap::Append added.


Change 3768586 by Ben.Woodhouse

	csv profiler screen message


Change 3768506 by Thomas.Sarkanen

	Duplicating CL 3764661 from Paragon:

	Only update Children attached to Sockets in USkeletalMeshComponent::PostBlendPhysics().
	Saves ~20% of STAT_UpdateChildTransforms and ~10% of STAT_UpdateLocalToWorldAndOverlaps in 5ofEach_Dusk_vs_Dusk automation test.

	#jira OR-46341

	#tests LaneMinionFXTests, monolith w/ full teams.

Change 3768504 by Thomas.Sarkanen

	Duplicating CL 3758315  from Paragon:

	Optimized PostAnimEvaluation when URO is skipping a frame with no interpolation. Skip unnecessary work.
	PreEvaluateAnimation() is now only called if we're about to evaluate anims. PostEvaluateAnimation() is also called only if we have evaluated animations.
	Therefore PostEvaluateAnimation() has been pulled inside of PostAnimEvaluation() instead of FinalizeTransforms.
	Added a call to ConditionallyDispatchQueuedAnimEvents() in the event that we're not calling PostBlendPhysics because we have not evaluated or interpolated anims.
	Added missing call to PostEvaluateAnimation() for PostProcessAnimInstance.

	#jira OR-46341

	#tests minion FX perf map, lane minion test map, monolith match with 2 full teams.

Change 3768097 by Bob.Tellez

	#UE4 Fix non-editor CIS


Change 3767957 by Bob.Tellez


	#UE4 Fix an issue that was causing FullLoadAndSave to fail to cache platform data for textures that were created by landscape on mobile and another issue that caused parallel saving to fail in landscape (when cooking for mobile targets)


Change 3767906 by Mike.Fricker

	Add Blueprint functions to query parameters from MIC

	- GetScalarParameterValue
	- GetTextureParameterValue
	- GetVectorParameterValue

	MIDs already had these functions, but MICs did not.


Change 3767737 by Max.Preussner

	Engine: Fix for external textures referenced by a material before being associated with a media player never having their uniform expressions recached

	#author jack.porter

	#jira FORT-59777

Change 3767735 by Bob.Tellez

	#UE4 Setting Opened to false in FOutputDeviceFile::TearDown so if the device file gets initialized again it will do the same initialization logic as the first time.

	#jira FORT-60918

Change 3767244 by Ethan.Geller

	#jira FORT-60885 Merge in fix for memory leak from 4.18.1.


Change 3766567 by Marc.Audy

	Fix initialization ordering warnings

Change 3766443 by Jian.Ru

	Submit PSO locking fix again as it has passed local tests


Change 3766362 by Ori.Cohen

	Added the ability to get concurrent captures in Test configurations without having to turn full stats on


Change 3766277 by Marc.Audy

	Shrink Skinned and Skeletal Mesh Component, FBodyInstance, and UBodySetup

Change 3766275 by Marc.Audy

	Better pack UTexture* classes

Change 3766272 by Thomas.Sarkanen

	Fixes to enable auto-nativization for animation blueprints

	For blend profiles in particular, I've added subobject support to the fake import table building for nativized assets:
	- In FEmitterLocalContext::FindGloballyMappedObject, if we dont find the referenced asset then we traverse the object's outer chain if it is a subobject. We add it to UsedObjectInCurrentClass if we find its outer.
	- Updated the structure used to build the fake import table to include a specified outer. Beforehand we assumed that all objects referenced by the import table were 'top-level'.
	- Updated the fake import table building code in FLinkerLoad::CreateDynamicTypeLoader() to use the new specified outer if found. This asserts if it couldnt find the outer in the already-parsed dependencies (as it reverse-iterates). If in the general case thius turns out to be a problem we can move this to a two-pass system.

	Disabled fast-path optimization when running a native anim BP, as native code is faster!

	#jira FORT-52823 - Nativizing Player Animation Blueprints
	#jira FORT-57378 - Perf optimization: animation blueprint improvements


Change 3766215 by Marc.Audy

	Shink FFromatContainer from 88 bytes to 24 by storing in TSortedMap instead of TMap


Change 3765664 by Michael.Noland

	Engine: Add support for sets to FJsonObjectConverter::JsonValueToUProperty


Change 3765624 by Marc.Audy

	Create helper macro in Archive.h for encapsulating needed steps for serializing a bitpacked boolean

Change 3765200 by Nick.Darnell

	Slate - Fixing a memory leak in the invalidation panel.  It never cleared out the cached textures and materials it kept alive during retention.


Change 3764881 by Wes.Hunt

	Fix FApp::Get/SetIdleTimeOvershoot. It was overwriting IdleTime, which made FrameTimeWithoutSleep look like FrameTimeWithSleep.
	#jira FORT-60585
	#review-3764882 @arciel.rekman

Change 3763872 by Max.Chen

	Sequencer: Set default completion mode for all sections to project default.

	Copy from Dev-Sequencer

	#jira UE-49480


Change 3763871 by Max.Chen

	Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState.

	Copy from Dev-Sequencer

	#jira UE-49480


Change 3763810 by Gil.Gribb

	UE4 - remove some init timing spew in programs (i.e. UHT)


Change 3762939 by Robert.Manuszewski

	Removing all locks from FEDLCookChecker to improve SavePackage performance


Change 3762851 by Bob.Tellez

	Duplicating CL#3740778 from //UE4/Dev-Editor

	Fixed issue with content browser column sorting

	#jira UE-49460


Change 3762660 by Bob.Tellez

	#UE4 Fix a few parallelsave threading problems.



Change 3761861 by Marc.Audy

	Fix archive complaints about bitfield

Change 3761802 by Marc.Audy

	Pack FTimeline, FHitResult, FAnimUpdateRateParameters, FMeshBuildSettings

Change 3761299 by Matt.Kuhlenschmidt

	Fix levels not being lockable/unlockable if they are not checked out

	#jira FORT-60086

Change 3760422 by Bob.Tellez

	#UE4 Stop caching or clearing platform data when saving concurrently. This was causing threading problems in materials.


Change 3760113 by Jian.Ru

	Back out changelist 3759715 as it causes a crash on UGS autotest


Change 3759761 by Jian.Ru

	Clean up some debug comments


Change 3759715 by Jian.Ru

	Removing excessive locking when accessing PSO caches.


Change 3759285 by Nick.Darnell

	Editor - Fixing the length of the datatable row dropdown in the editor.


Change 3758334 by Alexis.Matte

	Fix a crash when importing morph target there was a unsync between some buffer depending on the import options

	#jira UE-52319

Change 3758332 by Ben.Marsh

	Fix output subfolder being appended twice when generating project files. Causes incorrect command line when launching from Visual Studio.

	#jira

Change 3758215 by Brian.Bekich

	Make Tint property of FSlateBrush NotReplicated now that it is WITH_EDITORONLY_DATA so that cooked clients can connect to uncooked servers


Change 3757702 by Bob.Tellez

	#UE4 Fix -NoConcurrentSave cook option in FullLoadAndSave


Change 3757545 by ben.marsh

	Suppress Arxan warning about being unable to install a default guard at it's default location.

Change 3757452 by Aaron.McLeran

	#jira FORT-59675 Client Crash in __delayLoadHelper2()

	Fixing build error on linux.


Change 3757389 by Hongyi.Yu

	Fixed the crash in UEditorEngine::CheckForWorldGCLeaks() when load a level (level A), PIE, load a sublevel of level A and then load another level.
	#jira FORT-58283

Change 3757229 by Aaron.McLeran

	#jira FORT-59675 Client Crash in __delayLoadHelper2()


Change 3757077 by Max.Preussner

	MediaAssets: Fix for media texture crashing if media player is generated from GC clustered blueprint

	#jira FORT-59774
	#jira UE-51943

	#tests none

Change 3756854 by Mike.Fricker

	Fix "double-delete" crash when using level streaming
	- Backed out unintentional network checksum change!


Change 3756790 by Bob.Tellez

	#UE4 Fix inconsistency with how FSoftObjectPtr case is managed between FLinkerSave and FArchiveSaveTagImports, which would cause a cook ensure under some circumstances


Change 3756639 by Arciel.Rekman

	Pool memory (only 64KB allocations) on servers (FORT-60342).

	- Has a fixed cost of 1GB virtual memory usage.

	#jira FORT-60342

Change 3755995 by Alexis.Matte

	Fix crash when importing morph target with "built in" tangent option

	#jira UE-52319

Change 3755896 by Arciel.Rekman

	Remove unnecessary switch for profiling (part of FORT-58878).

	- -fno-omit-stack-pointer is only needed when getting callstacks for perf.

	#jira FORT-58878

Change 3755711 by Mike.Fricker

	Fix "double-delete" crash when using level streaming
	- Initialize network GuidCache entries as soon as Guids are registered on the server so that we can fill them out with valid information before the object is destroyed. Fixes issues when a guid is exported for the first time to send a destroy to clients. (from RyanG)


Change 3755701 by David.Ratti

	FObjectReplicator no longer a GCObject since adding/removing from the global GCObject list is too slow. Managing FObjectReplciators's object references at the NetDriver level now.

	#jira FORT-60317
	#review-3755702 @Ryan.Gerleve

Change 3754928 by Arciel.Rekman

	Linux: add LTO support and more.

	- Adds ability to use link-time opitimization (reusing current target property bAllowLTCG).
	- Supports using llvm-ar and lld instead of ar/ranlib and ld.
	- More build information printed (and in a better organized way).
	- Native scripts updated to install packages with the appropriate tools on supported systems
	- AutoSDKs updated to require a new toolchain (already checked in).
	- Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089

	#jira FORT-58878

Change 3753986 by Ben.Zeigler

	#jira UE-45505 Fix issue where FCoreUObjectDelegates::OnAssetLoaded was being called from an inner loop inside EndLoad. Maps would register components from that callback, and if those registers started their own loads, those objects would be returned in a partially loaded state. We now defer the asset loaded callback to the very end of the loop so recursive loads work properly


Change 3753274 by Ben.Marsh

	Fix blank lines in errors and warnings being omitted from notification emails.

	#jira

Change 3753175 by Thomas.Sarkanen

	Fix hang in animation editor menus

	Sound waves were being loaded by the visibility delegate for the 'play' button overlay. This caused major hangs as the ogg compressed data was built on the fly. Handled the unloaded asset case in the various delegates.
	Also made the menu larger, as picking a sound wave was all but impossible when you couldnt even see one in the list.

	#jira UE-52271 - Persona menu option locks up editor


Change 3752887 by Nick.Darnell

	Slate - Adding automatic invalidation to a few more widgets that were found lacking when adding or removing children.


Change 3752785 by Marc.Audy

	Avoid doing any work to evaluate streaming volumes if there are no player controllers using streaming volumes

Change 3752185 by Ben.Marsh

	Reduce cook time regression caused by correcting package names to match case on disk (to fix deterministic cooking problems). Switched to use IPlatformFile::GetFilenameOnDisk(), and improved performance of FWindowsPlatformFile::GetFilenameOnDisk() by using GetFinalPathNameByHandle() instead of recursively searching up the directory tree.

	#jira

Change 3751813 by Ben.Marsh

	Improve parsing of diagnostics for deterministic cooking test. Now allows multiple lines in the generic EC error/warning matcher if indented more than the first line, and skips over empty lines.

	#jira

Change 3750413 by Ben.Zeigler

	Fixes for cook save performance regressions. Add GetAllMarks to object and use that to dramatically reduce contention for the object mark annotation. Implement ShouldLoadForServer/Client directly on some core classes to stop it from calling the slow generic one
	Fix issue where refreshing tags for asset registry would do a very slow array delete/add
	Improve speed of redirectcollector, there's no need to force-rehash the soft object path list as the remove handles it conditionally


Change 3750014 by Lina.Halper

	- duplicate change from following changelists

	CL 3669273 - delete all tracks option
	- allow to opt out on bone track importing
	- fixed pose preview for fullbody to select weights that has pose from asset.

	CL 3672170 Remove track support for Animation Blueprint Library

	This is required for facial pose retargeting


Change 3749714 by Brian.Bekich

	Back out changelist 3748287

	#jira FORT-60125


Change 3749377 by Robert.Manuszewski

	Improved log formatting for reporting deterministic cook issues.

	#jira FORT-59919

Change 3749360 by Robert.Manuszewski

	Improved performance of -diffonly mode for cook commandlet for assets with hundreds of thousands of differences.

	#jira FORT-59919

Change 3748746 by Hongyi.Yu

	Fixed compiling error in Automation project

	#jira FORT-59621

Change 3748530 by Mike.Fricker

	Fixed non-determinism of landscape grass across platforms/compilers

	This causes bushes to be located in different places depending on what platform you were playing on.

	1)  Random number reseeds were happening as part of function arguments to FVector(), but function argument evaluation order is unspecified, and behaved differently on Consoles/Mac/Windows.  Fixed this bug.

	2)  Strings used for foliage CRCs could use different character sizes on different platforms.  Now we always use ANSI.

	3)  Strings used for CRCs could have possibly have different case.  Now forced lowercase.

	#jira FORT-60109

Change 3748471 by Zak.Middleton

	Added stats to NetDriver TickFlush and stats gathering within that function.


Change 3748287 by Brian.Bekich

	Adding net.MaxStringSerializationSize to cap maximum string read from network, default to 4096, used by FNetBitReader
	Deprecating MAX_STRING_SERIALIZE_SIZE in favor of the cvar
	FInBunch defaults to prior behavior if cvar is 0
	UPackageMap::SerializeName and UPackageMapClient::SerializeNameAsString will always cap at NAME_SIZE
	Check for path name serialization error before tryng to read checksum

	#jira FORT-57974


Change 3747980 by Bart.Hawthorne

	In Oodle, only generate and write dictionaries on Windows, Mac, and Linux


Change 3747642 by Gil.Gribb

	Fix CIS


Change 3747635 by Zak.Middleton

	Avoid string alloc on every ServerMove() call on the server.


Change 3747560 by Gil.Gribb

	UE4 - Fixed XBox and Windows thread priorities. Only 2 though -2 seem usable and some of the old values were being ignored.


Change 3747548 by Gil.Gribb

	UE4 - Changed thread pool to be TPri_SlightlyBelowNormal so that they will not preempt HP task graph tasks.


Change 3747544 by Bart.Hawthorne

	When detecting if Oodle is installed, use the newest version instad of the oldest one.


Change 3746440 by Robert.Manuszewski

	Dterministic cook issues reporting improvements

	- Huge performance improvements
	- Added new metric to the summary: NumberOfDifferencesInPackages
	- Diff stats have their own section now (Package.Diff)
	- When running with -diffonly there commandlet will not log the Warning/Error summary anymore
	- Callstacks are no longer logged with instruction addresses
	- Because callstacks are no longer logged with addresses I can collapse them for structures that otherwise would be split into multiple separate callstacks
	- Callstacks, Serialized Object and Serialized Property are now indented
	- Each asset is capped at 5 entries. If there's more differences, they'll be logged as single warning.
	- Replaced \r\n with \n in the callstack log to make it work better with EC

	#jira FORT-59919


Change 3746426 by Gil.Gribb

	UE4 - Tuned dispatch in the deferred renderer. Added r.DoPrepareDistanceFieldSceneAfterRHIFlush and defaulted it to on.


Change 3746348 by Mike.Fricker

	Added new CVars to toggle level streaming behavior
	- No effective change to engine yet.  The defaults values enable the same default behavior.
	- New CVar:  "s.ForceGCAfterLevelStreamedOut"   (Whether to force a GC after levels are streamed out to instantly reclaim the memory at the expensive of a hitch.)
	- New CVar:  "s.ContinuouslyIncrementalGCWhileLevelsPendingPurge"  (Whether to repeatedly kick off incremental GC when there are levels still waiting to be purged.)
	- New CVar:  "s.AllowLevelRequestsWhileAsyncLoadingInMatch"  (Enables level streaming requests while async loading (of anything) while the match is already in progress and no loading screen is up)


Change 3746127 by Gil.Gribb

	UE4 - Slight tweak to more agressively batch occlusion queries.


Change 3746111 by Cecil.McRae


Change 3745681 by Bob.Tellez

	#UE4 Prevent attempting to execute a remote process to get the metal shader compiler version if no remove process machine has been configured. (Fixes a warning)


Change 3745631 by Matt.Kuhlenschmidt

	Fix details panel crash after compiling blueprints that have edit conditon properties


Change 3744544 by Gil.Gribb

	UE4 - Downgraded a fatal error to a warning. Example: Found package without a linker, could find SceneComp in /Game/AIDirector/AIDirector_Fortnite, but somehow wasn't finished loading. This is a sort of cook mismatched caused by the fact that all PS4 cooks have server-only data in them.

	#jira FORT-59879


Change 3744419 by Matt.Kuhlenschmidt

	Fix opening color picker causing values to change.  Was due to conversion between srgb and linear color.


Change 3744270 by Ben.Marsh

	Merging change to include deterministic cooking summary from Dev-Core (CL 3743182).

	#jira FORT-59919

Change 3743621 by Guillaume.Abadie

	Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.

	#jira UE-51569


Change 3743403 by Gil.Gribb

	UE4 - Merged lockfree / taskgraph fix from //UE4 (CL 3732262)


Change 3743392 by Gil.Gribb

	Merged IO fixed from //UE4 (CL 3641155)


Change 3743376 by Gil.Gribb

	UE4 - Added r.WarningOnRedundantTransformUpdate to produce warnings on redundant transform updates.


Change 3743372 by Gil.Gribb

	UE4 - Added a stat for distance field verification...which takes a very long time, but does not affect test or shipping config.


Change 3743030 by Bob.Tellez

	#UE4 Revert some code the was accidentally merged to UE4Main

	#jira UE-52032

Change 3742611 by Josh.Markiewicz

	#UE4 - fix for crash in destructor probably related to the freeing of memory via default destructors AFTER CefShutdown() has been called

	#tests crashes before, no crash after (not sure if it was a 100% crash but this seems better regardless)

Change 3742187 by Nick.Darnell

	Slate - Adding a new optional parameter to direct routing for the widgets under the cursor in Slate Application.  Essentially ProcessReply occasionally needs to know the widgets under the cursor, the previous implementation, just used the routing path, this results in missing sending mouse leave messages to widgets under the cursor when dragging begins, which often left things with hover effects in bad states.


Change 3742053 by Michael.Trepka

	Copy of CL 3713881

	Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets.

	#jira UE-31093

Change 3742050 by Michael.Trepka

	Copy of CL 3711085

	Reenabled UBT makefiles on Mac


Change 3741924 by Josh.Markiewicz

	#UE4 - delete EpicSurvey module
	- working toward engine/plugins/online removal from game branch

Change 3741865 by Nick.Darnell

	UMG - Fixing a High DPI bug that wasn't scaling the offset for DragDrop widgets when using In-Window rendering that games depend on for DragDrop effects.


Change 3741442 by Ryan.Gerleve

	Fix initialization order warnings


Change 3741370 by Ryan.Gerleve

	Back out changelist 3689397. The memcpy in one of the FInBunch constructors is not portable and causes this change to break networking on Android.



Change 3740914 by Peter.Knepley

	Restore player name obsfuscation



Change 3740828 by Marc.Audy

	Dynamically create FKey if the char code is unknown
	#jira FORT-59735


Change 3740811 by Ben.Marsh

	UAT: Fix double-spacing of lines output by Utils.RunLocalProcess, and use a non-local function to output them for more readable logs.

	#jira

Change 3740328 by Bob.Tellez

	#UE4 Fix FullLoadAndSave cook method


Change 3740327 by Bob.Tellez

	#UE4 Minor movie scene cooking improvements


Change 3740280 by Bob.Tellez

	#UE4 Fix shipping config CIS


Change 3740232 by Bob.Tellez

	#UE4 Gave OodleHandlerComponent a short name so it doesnt hit maxpath length issues on build machines.


Change 3740209 by Nick.Darnell

	UMG - Finishing the ability to add a "Custom" method for Navigation.  Currently the editor implementation leaves me wanting, but it works for now.  You can put the name of a function to call (needs to match a signature that returns a UWidget).


Change 3740207 by Nick.Darnell

	Slate - Navigation attempts when the user claims they are doing custom or explicit, if those methods don't return a valid widget, we don't treat it like the attempt failed and fallback to default navigation methods.  Instead we use it as a trigger to indicate that no navigation should occur and treat it like a stop.


Change 3740189 by Bob.Tellez

	#UE4 Fix mouse cursor position being set when hovering over the viewport in windowed mode despite not having focus



Change 3740171 by Marc.Audy

	Fix merge issue causing compile error for AutomationTool


Change 3739270 by Ben.Woodhouse

	Use background task graph affinity on platforms that implement it (e.g. XB1). Saves 8ms on GC spikes and ~0.5ms on the renderthread

	#jira FORT-56961

Change 3739244 by Ben.Woodhouse

	-statunit commandline option

Change 3738920 by peter.knepley

	Fix issue where simulated proxies had bad crouch state when re-entering relevancy


Change 3738904 by Gil.Gribb

	UE4 - Moved audio decompression tasks to the background thread pool. Controlled by a cvar AudioThread.UseBackgroundThreadPool, which defaults to 1.


Change 3738378 by Ori.Cohen

	Added better profiling for scene query hitches



Change 3736984 by Ben.Woodhouse

	Dummy merge: Accept main version of windowsrunnablethread.h, so Windows gets the new priorities
	#jira FORT-56700

Change 3736754 by Zak.Middleton

	Remove engine hacks of K2_SetActorLocation etc for pending engine merge. Will replace with delegates on transform updates for relevant classes.



Change 3736282 by Hongyi.Yu

	Don't check target file while doing iterative shared prebuild cooking.

	#jira FORT-58911

Change 3736109 by Michael.Trepka

	Updated FMallocLeakDetectionProxy to not use a critical section internally on top of thread safety measures performed by FMallocLeakDetection and the underlying FMalloc implementation. The improvements are biggest on Mac, in particular in low framerate situations, as Metal RHI uses malloc heavily on multiple threads, but it's also a nice 10% improvement on a high end PC.

	#jira FORT-55309

Change 3735765 by Ben.Woodhouse

	Fix GTSynctype logic when vsync is disabled. This was breaking profiling


Change 3734436 by Marcus.Wassmer

	More reliable Aftermath data.

	#jira FORT-45518

Change 3734103 by Bob.Tellez

	#UE4 Exposing GetRefPosePosition on SkinnedMeshComponent to BPs


Change 3733985 by Saul.Abreu

	#jira FORT-58816

	"Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph" - Jamie Dale
	Needed to workaround an issue with guillemets (weird arrow quotes).

Change 3733922 by Brian.Bekich

	Setting max serialization size in FNetBitReader to prevent runaway string reads from replicated object paths
	Check for path name serialization error before tryng to read checksum

	#jira FORT-57974


Change 3733850 by Max.Chen

	Sequencer: Return unhandled only if not dragged. This fixes a bug where dragging in the track area would sometimes leave the handled state with the time slider controller and not allow you to pop up a menu with the movement tool.

	#jira FORT-56092


Change 3733299 by Ethan.Geller

	#jira FORT-58943 Handle corner cases for repeated calls to precache buffers.

Change 3732907 by Gil.Gribb

	UE4 - Removed slow HLOD code from frustum cull loop and set things up at AddPrim time instead. Saves 1-3ms.


Change 3732728 by Robert.Manuszewski

	Fixing a crash when dumping stats with massive callstacks

	#jira FORT-58901

Change 3732438 by Marc.Audy

	When a client informs the server that it has loaded a streaming level force a net update on all dormant actors that have at one point replicated data to relevant clients and ensure that the connection's destroyed startup/dormant actors list is properly populated.
	#jira FORT-56997


Change 3730413 by Lukasz.Furman

	fixed PlayerName encryption key
	#jira FORT-59066

Change 3729588 by Bob.Tellez

	#UE4 Only calling FixupData on load. Fixes crash during parallel saving.


Change 3729475 by Marc.Audy

	Fix missing ;


Change 3729444 by Marc.Audy

	Fix cases where GetWorld() being called multiple times per function


Change 3729143 by Hongyi.Yu

	Added support to extract pak files to mount point.
	- Extract with "-ExtractToMountPoint" when extracting pak in DiffCookedContent()

	#jira FORT-58635

Change 3728981 by Nick.Darnell

	Slate - Fixing a bug with Slate turning on statid tracking even when the slate verbose stats are not being used.


Change 3728838 by Zak.Middleton

	Compile out GetWorld() call in check() in Test and Shipping builds, to avoid skewing profiling.


Change 3728604 by Jian.Ru

	Submit one render command rather than many in FScene::UpdateParameterCollections


Change 3728434 by Marc.Audy

	PostSignificance should always fire when unregistering regardless of whether this is the last object in the tag.


Change 3728427 by Gil.Gribb

	UE4 - reduce stat overhead when not collecting stats.


Change 3728197 by Marc.Audy

	Properly call post significance on initial registration if the post significance type is sequential


Change 3726266 by Gil.Gribb

	UE4 - Force HISMC trees to rebuild during cook. This allow us to change parameters without resaving maps.


Change 3724501 by Marc.Audy

	Fix initialization order


Change 3724411 by Ben.Woodhouse

	Point light shadow rendering optimization - Made per-triangle culling take Z into account.

	In FortGPUTestbed (with grass shadow casting enabled), GSVerticesOut reduced from 464k to 234k.

	On xbox one, a pointlight GPU cost reduced from 6.7 to 4.1ms.

	On PS4, GPU cost went from 2.3 to 1.9ms.

	#jira FORT-58921


Change 3724367 by Chad.Garyet

	Downgrading lock warning about still waiting to a message instead of a warning.

Change 3723903 by Max.Preussner

	MediaAssets: Merged workaround for uninitialized media sound waves from 4.17

	#jira FORT-57260


Change 3723134 by Lukasz.Furman

	added deprecation for PlayerState.PlayerName, it should remain accessible only through Get/Set functions to control obfuscation

Change 3722955 by Jian.Ru

	Fix a compilation warning
	#jira FORT-58749

Change 3722667 by Luke.Thatcher

	 [BUILD] [!] Fix PGO failures on build machines.
	 - The strings "Failed" and "error" are always treated as build failures, even if the build task returns a success code.
	 - Failure to reserve a device should not be fatal.

	#jira FORT-58001

Change 3722291 by Lukasz.Furman

	restored public access to PlayerName for now, current code will be going through accessor


Change 3721012 by Alicia.Cano

	chunk title file generation
	#jira FORT-53605

Change 3720961 by Marcus.Wassmer

	Fix bad UVDensities on objects causing texture streaming to fail.  Better fix will come with the engine merge.

	#jira FORT-58240


Change 3719318 by Lukasz.Furman

	replaced old branch name assertions

Change 3719047 by Lukasz.Furman

	added branch name assertion to core headers to avoid duplicating it

Change 3718499 by peter.knepley

	Fix for a crash when calling FSlateApplication::Get().FindPathToWidget in response to a widget destructing. Widget must be invalidated before the reference is cleared or else someone else might assign a shared reference to it during destruction.


Change 3716965 by Alicia.Cano

	No sound was playing for Android.
	#jira FORT-58302

	#android

Change 3715746 by Ben.Marsh

	Hide Arxan warnings about PDB files not being present.

	#jira

Change 3715172 by Bob.Tellez

	#UE4 FullLoadAndSave now does SavePackage in parallel.


Change 3715055 by Bob.Tellez

	#UE4 Fix to actually use the precached streaming audio DDC data when cooking.


Change 3714130 by Bob.Tellez

	#UE4 Core changes to allow SavePackage to be done concurrently


Change 3714099 by Bob.Tellez

	#UE4 Pull the logic to initialize and uninitialize the physics scene for a world out into separate functions


Change 3713145 by Ben.Marsh

	Disable an Arxan warning in EC.

	#jira FORT-56926

Change 3712904 by Ben.Woodhouse

	Fix for gpu profiler crash on pre-maxwell nvidia (or when r.gpuprofiler is set to false)


Change 3712693 by Ben.Woodhouse

	Workaround for PS4 flip thread crash in dev builds. Caused by the flip thread/offset threads being shutdown before being initialized. The high level logic is now robust to that. We should fix the PS4 RHI ideally, but this is simpler for now.

	#jira FORT-58409


Change 3712544 by Ben.Woodhouse

	add missing skylight diffuse gpu stat

Change 3712515 by Ben.Woodhouse

	CSV profiler GPU and pre-declared stat support
	- refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds
	- add support for pre-declared CSV stats, using FNames (these are required for GPU stats)
	- add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations

	Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats


Change 3712297 by Mike.Fricker

	Fixed huge client hitch when applying changes to in-game options
	- Every component was being re-registered when r.SimpleForwardShading was updated by the scalability system, even if the value hadn't changed.  Now, it only re-registers components if the value changes on the fly.  (e.g. when turning Shadows off or on PC)
	#jira FORT-57661


Change 3711501 by Ben.Marsh

	Fix build failure on Linux.

	#jira

Change 3710962 by David.Ratti

	Add SCOPE_CYCLE_UOBJECT for SourceObject of GE - this will tell us what weaponw as applying the GE


Change 3710602 by Marc.Audy

	Only create MIDs as a child of the calling object if construction script is running


Change 3710421 by Ben.Woodhouse

	Bring over a couple of XB1 rendering fixes from 4.18

	3692692: Integrate XB1 translucent lighting fix

	3674543: D3D12 : Fix bug with non-CS version of UpdateTexture3D caused by bad depthstride. This was causing corruption in the indirect lighting cache

	#jira UE-49416


Change 3710338 by Marc.Audy

	Fix Json <-> Property converter to handle maps with struct keys
	Merged from CL# 3521195
	#jira UE-46616

Change 3710226 by Bob.Tellez

	#UE4 Increase TaskGraph stack size in editor builds since. SavePackage uses a deep callstack which exceeds the 384 memory limit


Change 3709046 by andrew.grant

	Added ALLOW_CONSOLE_IN_SHIPPING define that Target.cs files can set to turn on console in shipping builds

	#jira FORT-57180

Change 3709040 by andrew.grant

	Fixed issue where this could fail if a messagebox was spawned early during initialization


Change 3708830 by Bob.Tellez

	#UE4 Commandline switches/options are no longer detected when found between quote characters. This causes options from not being incorrectly detected when passed in as a value from another options. i.e. -Option="-log" no longer causes -log to be picked up. This removes the syntax of specifying parameters like "Option=Value", which should now be replaced with -Option="Value"

	#jira FORT-57833

Change 3708826 by Bob.Tellez

	#UE4 Removed needless calls to RegisterSerializedShaders in the saving codepath of material serialization. This function is only relevant when loading shaders.


Change 3707905 by Ori.Cohen

	Fix attached skinned mesh never being unhidden due to scale 0 and render tick optimization

	#jira UE-51485


Change 3706450 by Chris.Bunner

	Removing illegal material set on decal component in GameplayStatics.
	Set a related JIRA, this doesn't actually fix the issue but contributes.

	#jira FORT-51597

Change 3706223 by Marc.Audy

	Shrink UPackage class size substantially

Change 3706221 by Marc.Audy

	Store CustomVersions in array rather than set

Change 3705798 by Bob.Tellez

	#UE4 ShadowDepthVertexShader.usf fix to fix Mac cook.



Change 3705613 by Uriel.Doyon

	Texture streaming integration from Main.

	#jira FORT-57376

Change 3705137 by Michael.Trepka

	Fixed MetalRHI warning when compiling without MALLOC_LEAKDETECTION defined

	#jira FORT-55309

Change 3704310 by Marcus.Wassmer

	fix d3ddebug error with shadowcasting pointlights
	also suppress spammy d3ddebug data about texture debug names

	#jira FORT-58063

Change 3703477 by Marc.Audy

	Minor tweak to keep Padding on one cache line.


Change 3703449 by Michael.Trepka

	Don't use parallel RHI execute on Mac if MALLOC_LEAKDETECTION is enabled as this combination affects performance significantly due to mutex locking in FMallocLeakDetectionProxy

	#jira FORT-55309

Change 3703217 by Marcus.Wassmer

	Update PS signatures to match VS.  Fixes crashes when running witih -d3ddebug which we need to catch real problems
	#jira FORT-58021


Change 3702926 by Aaron.Eady

	#JIRA na
	Engine Code Improvements (that this project doesn't have yet);

	Added engine code for drawing a debug 2D box.
	Added engine code that allows for Keyboard Shortcuts to be special characters like backslash \.

	-- Code --
	DrawDebugHelpers:
	DrawDebugCanvas2DBox() - Added this to allow us to draw debug 2D boxes.

	RemoteConfigIni:
	SpecialCharMap - Updated this TCHAR* property to be in the right order so you can use special characters like backslash as keyboard shortcuts.

Change 3701976 by Michael.Noland

	Editor: Rewrote CallInEditor support and promoted it so it can be used on functions in any class, not just blueprints derived from AActor:
	- CallInEditor used on native UFUNCTION() declarations will now show up without having to make a BP subclass
	- CallInEditor can now be used as a top-level keyword in the UFUNCTION() declaration (e.g., UFUNCTION(Category=CoolCommands, CallInEditor))
	- Now shows each function as a separate button, placed in the category associated with the function
	- The button strip entry is now searchable by function name or tooltip
	- Prevented operating on functions that have parameters or return values, which would crash before
	- Removed the duplicate copies of properties placed in the Blutility section
	- Added a scoped transaction around CallInEditor execution
	- Allowed functions to be marked as CallInEditor in addition to custom events (currently we don't allow editing category or tooltip on custom events...)

	Editor: Moved Experimental/EarlyAccessPreview details customizations up to UObject so it can be used on any class, not just actors/components

	Edigrating CL# 3374995, 3375121, and 3375308 from Dev-Framework to FN main

Change 3700836 by Bob.Tellez

	Modified commandline parse function, to detect when it is incorrectly parsing a parameter, from within another parameters value (not exhaustive).

	For example, this commandline only contains the parameter ParamA. It should not be possible to parse ParamB, as it is part of ParamA's value:
	-ParamA="-ParamB=Value"

	#jira FORT-57833

Change 3700821 by Bob.Tellez

	Merging CL#3461205 from //UE4/Dev-Core

	Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
	#jira UE-33790

Change 3699584 by Chad.Garyet

	Upping the timeout on symstore to half an hour instead of 15 minutes. Symstore on xbox takes about ~22 minutes and if two builds are going simultaneously it can cause a job to fail due to the timeout being hit.
	#jira FORT-0

Change 3698692 by Aaron.McLeran

	#jira FORT-57582 crash in sound mix state code
	- Removed the assert as it looks like that state is now possible.

Change 3698411 by Bob.Tellez

	#UE4 One last correctness fix for when to not save generated base ini files.

	#jira FORT-57315

Change 3698390 by Bob.Tellez

	#UE4 Slightly more accurate logic to prevent writing of base ini files (old logic may have prevented writing of non-base ini files)

	#JIRA FORT-57315

Change 3698369 by Bob.Tellez

	#UE4 Ensure that Tcp/Udp messaging plugins are disabled in shipping config


Change 3698352 by Bob.Tellez

	#UE4 Minor additional fix to make sure DISABLE_GENERATED_INI_WHEN_COOKED only affects cooked builds

	#jira FORT-57315

Change 3698341 by Bob.Tellez

	#UE4 DISABLE_GENERATED_INI_WHEN_COOKED now properly prevents all base ini file loads from happening from a generated folder. It also prevents writing generated ini files completely.

	#JIRA FORT-57315

Change 3697553 by Nick.Darnell

	Slate - When setting the content of an SBox it should always invalidate.


Change 3697330 by Bart.Hawthorne

	APlayerController::ServerShortTimeout_Implementation now only iterates over the active object list instead of uisng an actor iterator, since non-replicated actors wont have a network object info to update.

	#jira FORT-57099
	#tests ran 100 player bot match

Change 3695578 by Bob.Tellez

	#UE4 Fix Win32


Change 3695508 by Eric.Newman

	Tweaked LogInit logging to clarify when the command line is being filtered
	* Encountered this red herring when evaluating crash logs

	#jira FORT-55839
	#tests ran shipping & debug client builds, and editor game build

Change 3694898 by Michael.Trepka

	Fixed Vorbis audio not playing on non-Windows platforms due to changes in CL 3668361

	#jira FORT-57121

Change 3694655 by David.Ratti

	Reimplement TweakObjetPtr optimizations with FObjectReplicator as an FGCObject instead of the owning channel being responsible for adding the replciator's ObjectPtr to the reference collection. (There are cases where object replicator ownership is transferred).

	#JIRA FORT-57298

Change 3694491 by Ben.Woodhouse

	Change courtesy of Gil: Drop the priority of the texture streamer using a new low-priority thread pool. This saves a 1-2ms in heavy combat in PVE (XB1 Test)

	#jira FORT-57376

Change 3693609 by Ryan.Gerleve

	Back out CL 3689050 since it was likely causing a crash.

	#jira FORT-57298

Change 3693327 by Aaron.McLeran

	#jira FORT-57416 Fixing PS4 cook.

	Making sure zero pad bytes stays positive without a check.

Change 3693136 by David.Ratti

	fix clang warning

Change 3692703 by Thomas.Sarkanen

	Fix CIS warning on PS4/Linux


Change 3692589 by Thomas.Sarkanen

	Moved exposed value handler bound function initialization to CDO postload

	This means that FindPropertyByName and FindFunctionChecked dont incur any overhead when spawning in new anim instances

	#jira FORT-56968 - Hitch - SkeletalMeshComponent initialization (110ms)
	#tests PIE PvE, 20-bot BR game on PC/PS4.

Change 3692552 by Alex.Delesky


Change 3692495 by Bart.Hawthorne

	Fix build


Change 3692488 by Bart.Hawthorne

	Check for actor relevancy and level initialization when there's no channel first when prioritizing actors for replication. Dormancy checks in this case are useless because ShouldActorGoDormant will always be false, and if IsActorDormant is also true, then the result of skipping the actor is the same.

	#jira FORT-57104
	#tests played 100 player bot match

Change 3691819 by Bob.Tellez

	#UE4 No longer conditionally including SlateDebug fonts in the cook based on configuraiton. When builds are produced that contain more than one configuration it changes what is cooked in unexpected ways so now we just always cook this font.


Change 3691805 by Bob.Tellez

	#UE4 CIS fix


Change 3691784 by Bob.Tellez

	#UE4 Optimization for exiting PIE. Texture streaming managers have an optimization for game worlds but were not using them for PIE worlds


Change 3691273 by Aaron.McLeran

	#jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor

	Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished.

Change 3691268 by Aaron.McLeran

	#jira FORT-56228 LogAudio:Warning: spam causes severe performance drop on the Mac Platform

	Reducing log level

Change 3690547 by Ryan.Gerleve

	Speculative fix #2 for a server crash/assert. If the timing is right, it's possible for the server to try to re-load a placed-in-map actor that was previously garbage collected. This was happening because CanClientLoadObject was always returning true for these (null) objects, even if the NetGUID corresponded to a map actor that shouldn't be loaded. Also added/improved some logging that will help in case this doesn't fix the issue.

	#jira FORT-55763


Change 3690451 by Lukasz.Furman

	changed branch name testing in engine hacks to use case insensitive match

Change 3690270 by David.Ratti

	Cache weak object ptr in FNetworkObjectInfo to avoid reconstructing one every time we need to lookup its actor channel.

	#jira FORT-57156

Change 3690227 by David.Ratti

	Added optional TWeakObjectPtr parameter to packagemap functions GetOrAssignNetGUID, SUpportsObject. This allows you to pass in a weak ptr for an object if its already created. If you pass in null, the functions will create them internally.

	This fixes some common cases where we were converting the same object into weak ptr multiple times in a frame.

	#jira FORT-57156

Change 3690184 by David.Ratti

	Cache net connection weakobjectptr when building consider list instead of constructing it again for every actor.

	#jira FORT-57156

Change 3689805 by Peter.Knepley

	Make ConditionalInitAxisProperties protected instead of private

	#jira FORT-56414


Change 3689789 by Marcus.Wassmer

	Hack workaround for missing shadowdepthps for XB1 until we get a handle on why things are exploding

	#jira FORT-56792

Change 3689702 by Peter.Knepley

	Allow games to have a custom MassageAxisInput function

	#jira FORT-56414

Change 3689687 by Bob.Tellez

	#UE4 Avoid copying the shaders array to avoid changing refcounts of shaders while serializing


Change 3689655 by Peter.Knepley

	Make SmoothMouse virtual so games can have their own smoothing

	#jira FORT-56417

Change 3689499 by Bart.Hawthorne

	Fix Linux CIS warnings


Change 3689397 by Bart.Hawthorne

	Changed FOutBunch and FInBunch uint8 entries to use bitfields instead of bytes which knocked 86% off of our net tick time

Change 3689056 by Lukasz.Furman

	3rd attempt for branch name checking in engine code hacks

Change 3689050 by David.Ratti

	First pass at removing use of TWeakObjectPtr from core replication classes. This should reduce FWeakObjectPtr::Get usage.

	Still expecting to see FWeakObjectPtr::operator= come up a lot. Going to tackle this in a second pass which will require some deeper refactors.

	#jira FORT-57156

Change 3688972 by Bob.Tellez

	#UE4 Add build target flag to control DISABLE_GENERATED_INI_WHEN_COOKED


Change 3688864 by Ryan.Gerleve

	Fix broken logic to find the "best" replay sample for character movement when we don't find two samples to interpolate between. Now uses the sample closest to the current time. Also added some debug drawing.

	#jira FORT-56553

Change 3687654 by Bob.Tellez

	#UE4 Added compile time option to disable reading generated ini files other than GameUserSettings in cooked builds.


Change 3686615 by Lukasz.Furman

	Back out changelist 3686610

Change 3686592 by Matt.Kuhlenschmidt

	Gave the CL description in the source control submit window more room


Change 3686020 by Ben.Marsh

	Remove debug code that prints to logs while building.

	#jira FORT-56923

Change 3684414 by Peter.Knepley

	Back out changelist 3678336

	#jira FORT-56512

Change 3683894 by Gil.Gribb

	UE4 - By default, do not check for illegal calls to MarkPendingKill in the garbage collector in test and shipping configuations. This was slow.


Change 3683686 by peter.knepley

	Raise MTU from 512 to 1024

	#jira FORT-56756

Change 3683343 by Rob.Cannaday

	Fixes insert disk popup
	#jira FORT-56500

Change 3683156 by Peter.Knepley

	Network optimizations to reduce alloc/free & memcpy churn saving about 10% of net tick time


Change 3682234 by Guillaume.Abadie

	Cherrypick TAA refactor 3512696 and TAA fix 3668108

	#jira FORT-56303

Change 3681494 by Bob.Tellez

	#UE4 IsLoadedByEditorPropertiesOnly is not working properly so I removed it from FullLoadAndSave


Change 3681342 by Bob.Tellez

	#UE4 Added a FullLoadAndSave option to cooking, which simply loads all content then saves it to avoid the overhead of managing which packages need to be cooked. Large perf improvement for those who cook by the book and can fit the entire game in memory


Change 3681014 by Yenal.Kal

	#jira FORT-56209
	#jira FORT-56272

	Fixed a bug in the ability system where the ability ended callbacks could cause the ability end to be called again in the same call stack even though the ability is activated only once.

	This was happening because we were broadcasting the event before we decrement the active count.

Change 3680739 by Michael.Trepka

	Warn about NaN float literal values when translating HLSL to Metal instead of failing, plus added more detailed warning/error messages for NaN and unhandled values

	#jira FORT-56425

Change 3679237 by Bob.Tellez

	#UE4 Remove some debug logging


Change 3679187 by Bob.Tellez

	#UE4 Dramatically imrpove speed of writing cookloadorder log file


Change 3678926 by Bob.Tellez

	#UE4 Minor savepackage speed improvements


Change 3678336 by Aaron.McLeran

	#jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor

	Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished.

Change 3676998 by Ben.Woodhouse

	Fix XGE shader compilation so it doesn't crash randomly


Change 3676606 by Ori.Cohen

	Update GC to be 61.1 to avoid heartbeat collision


Change 3676447 by Ori.Cohen

	Fix CIS warning


Change 3676286 by Max.Preussner

	Fixed client Crash UMediaSoundWave::GeneratePCMData (FORT-56107)

	#jira FORT-56107

Change 3674591 by Ryan.Gerleve

	Don't filter out PendingKillPending actors from FNetworkObjectList::Find. This was causing actors that get destroyed while dormant on the server to never be destroyed on clients.

	#jira FORT-55802

Change 3674181 by Michael.Noland

	Framework: DLL export LogGameplayTags

Change 3674138 by Billy.Bramer

	#jira FORT-56138, FORT-56139

	- Duplicate CL 3396590 from //Orion/Main re: ranged-base for iteration ensure from montage changes

Change 3672464 by Lukasz.Furman

	removed recast layers crash tracking code

Change 3672153 by Daniel.Lamb

	Added some debugging code to help track down why shaders are hashing poorly.


Change 3671498 by Luke.Thatcher

	 [~] Modify new frame syncing to reduce performance regression seen when the game is running over budget.
	 - Rather than forcing a flip sync after we kick off one frame early, we just continue to kick frames if we time out. This allows the game thread to get ahead when we're over budget.
	 - The game thread will naturally resync with the vsync when we return to being in budget.

	#jira FORT-55842

Change 3671079 by Ryan.Gerleve

	Fix an edge case where the PackageMap on the server would try to resolve objects from default NetGUIDs even if their outer has already been garbage collected. This could lead to a completely unrelated object being returned instead of null, leading to asserts and potentially other issues.

	#jira FORT-55763


Change 3670487 by Zak.Middleton

	Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present.

	#jira FORT-55999

Change 3670351 by Zak.Middleton

	Back out changelist 3669817 (networking optimizations). Would rather have more testing before it goes to Release-Next. Will resub just for main and RP.

	#jira FORT-55999

Change 3670344 by Josh.Markiewicz

	#UE4 - more verbose logging for SetExpectedClientLoginMsgType


Change 3670323 by Wes.Hunt

	Fix for dedicated servers not flushing events in a timely manner.
	#jira FORT-56015

	Doh, using GFrameNumber was NOT a good idea on servers... :-/

Change 3669817 by Zak.Middleton

	Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present.

	#jira FORT-55999

Change 3668416 by Michael.Noland

	Core: Changed FString::ParseIntoArray to use Reset instead of Empty on the passed in array, allowing it to be approximately resized
	#jira FORT-55887

Change 3668411 by Olaf.Piesche

	Always cache depth collision particle shader

	#jira FORT-51307

Change 3668361 by Aaron.McLeran

	#jira FORT-55628 Attempt to bypass crash and log an error if libvorbisdll fails to load.

Change 3667892 by Rob.Cannaday

	libwebsocket libs to handle getprotobyname("TCP") failing the libwebsockets connection
	#jira FORT-55917
	Touch LwsWebSocket.cpp to ensure the module gets built with the new libs

Change 3667308 by Uriel.Doyon

	Postponed the release of IO requests when canceling mip updates to prevent threading issue.

	#jira FORT-54491

Change 3666835 by Lukasz.Furman

	fixed overlapping index buffers when static mesh exports both convex and simple collisions for navigation
	#jira UE-50370

Change 3665374 by Mike.Fricker

	Fixed server crashing after hotfixes have re-imported curve table data
	- The hotfix system is capable of replacing the content of a UCurveTable on the fly
	- If any systems had references to inner curves on that curve table, they would become invalid
	- This needs to be fixed in 1.6.4 (tonight) and also in 1.7

	#jira FORT-55792

Change 3665063 by Daniel.Broder

	Fixed crash in GameplayTagQueryCustomization when choosing "Save and Close" on GameplayTagQuery after setting a query due to nullptr NotifyHook in CloseWidgetWindow.

	Added additional if (StructPropertyHandle.IsValid()) wrappers and one check(StructPropertyHandle.IsValid()); the former to be consistent with other code and prevent possible crashes, the latter to at least catch the cause of a possible crash properly without having to change the code more significantly to handle it gracefully.

	Also changed some if( X ) to if (X) to match coding standards and provide consistency within the file.


	Michael, I'm Reviewing you on this fix since you brought this change over from Framework.  And Marc because you reviewed him on that change.

	#UE4 #NoReleaseNotes #RNX

Change 3664948 by Lukasz.Furman

	reduced number of allocations in StorePathfindingDebugData, optimized path length calculations to avoid recursion
	#jira FORT-51111


Change 3664916 by John.Abercrombie

	Copy CLs 3383318 & 3388506 from //Orion/Main/Engine/Source/Runtime/Engine/...
	- Been testing with this for a while now
	- This change makes particle effects show up on the current frame's pose for skel meshes as well

	Removed my StopAllMontagesByGroupName temp hack

	CL 3383318
	Delay dispatching of AnimEvents (Notifies and Montage Events) until after we receive an updated animation pose (if applicable).
	This fixes AnimNotifies playing particle effects using a socket location using last frame's pose. Now they use the current frame's pose.

	CL 3388506

	Delay clearing of MontageInstances and triggering 'OnAllMontageInstancesEnded' until all Montage Events have been dispatched.
	Also fix SkelMeshComponent ticking on dedicated servers when rejoining in progress.

	#jira FORT-55102 - Server Crash UAnimInstance::StopAllMontagesByGroupName

Change 3780616 by Gil.Gribb

	Fixed and reenabled r.DelaySceneRenderCompletion

Change 3778979 by Gil.Gribb

	UE4 - Improved the performance of grass updates and added the ability to not do all of them every frame.

Change 3778200 by Nick.Darnell

	UMG - Making it possible to cancel delays and all animations on widgets.  Useful when destroying a widget and needing to stop any async state.

Change 3777612 by Zak.Middleton

	Perf: Added option to CharacterMovementComponent to skip immediate forward prediction for proxies on the frame they receive a network update (bNetworkSkipProxyPredictionOnNetUpdate). This avoids all forward prediction sweeps and floor checks on those updates. Intermediate frames will interpolate with prediction. This can also be disabled globally with the CVar "p.NetEnableSkipProxyPredictionOnNetUpdate 0".
	Added NetworkSmoothingDisableProxyPredictionForPawnLOD to force disabling full simulation for LOD >= this value (currently 3, so bottom 75 pawns). This takes precedence over current distance and view angle checks for prediction (mesh interpolation is untouched).

Change 3774338 by Ben.Woodhouse

	Convert the D3D12 PSO caches to use RwScopeLocks. This change is courtesy of a shelf from Gil, plus a couple of minor fixes.
	Saves up to a millsecond of frame time in CPU-bound scenarios

Change 3773462 by Gil.Gribb

	UE4 - Add particle batching. This is disabled by default but can improve thread scheduling when there are lots of very fast particle systems.

Change 3771375 by Hongyi.Yu

	Fixed the crash where ability components are unregistered and then re-registered, which usually happens in PIE.

Change 3771368 by Ben.Zeigler

	#jira UE-52670 Add project setting bValidateUnloadedSoftActorReferences that is true by default to match current behavior. If you set it to false it will no longer load packages to look for soft actor references when deleting/renaming actors.

Change 3771173 by Seth.Weedin

	Auto manage attachment support for AudioComponent- An opt-in feature that allows AudioComponents to cache their AttachParent/AttachSocket and only attach themselves when playing audio, detaching after playback is completed. Set to false by default.

Change 3768811 by Ori.Cohen

	Change animation scale collision code so that it uses the physics asset.

Change 3768148 by Brian.Bekich

	Fix muting being unable to find remote player controller

Change 3768117 by Ori.Cohen

	Prevent pawn collision from updating during animation

Change 3766554 by Gil.Gribb

	UE4 - Added a new option to add and remove from static draw lists on demand. This is off by default.

Change 3766427 by Nick.Darnell

	Slate - Finally adding Opacity to SWidget.  Any widget can now be alpha animated at will, no more need to waste overhead by wrapping things with SBorder or making them userwidgets just to be able to animate a fade.

Change 3761682 by nick.darnell

	Athena - Introducing a way to interrupt the request to scroll and item into view.  In cases where you're animating, quickly showing and hiding, with the item widgets unavailable for a few frames, you enter cases where the deferred navigation is resolved after you've canceled showing a dialog stealing focus.

Change 3761416 by Ben.Zeigler

	#jira UE-52287 Prevent cook metadata like DevelopmentAssetRegistry.bin from being packed into a shipping game, by moving it into a Metadata subdirectory and updating deployment scripts to avoid that directory.
	Right now it doesn't package them at all, we could change it to package them as Debug Non-UFS if desired
	Change it so the asset audit UI will only load DevelopmentAssetRegistry.bin files, the cooked registry files don't have enough information any more to be useful
	Remove ability for runtime game to load DevelopmentAssetRegistry.bin, this ended up not being useful

Change 3750998 by Ethan.Geller

	#jira FORT-60191 Allow -audiomixer command line arg to work on all platforms.

Change 3749540 by Marc.Audy

	SignificanceManager now takes viewpoints in as TArrayView instead of const TArray&

Change 3748102 by Marc.Audy

	Allow cheat cvars to work in Test builds by default
	Can be overriden by defining ALLOW_CHEAT_CVARS_IN_TEST as 0 in Target.cs files

Change 3744756 by Bart.Hawthorne

	Upgrade Oodle to version 2.5.5. Also, iOS, Android, and Switch platforms have been added. The new dictionary has been generated with old and local captures.

Change 3741168 by Max.Preussner

	MediaUtils: Fixed movies not playing properly in Shipping builds

Change 3739256 by Jian.Ru

	Set distance field self-shadow bias without recreating all render states

Change 3730756 by Ben.Woodhouse

	HISM optimization:
	Gil's change to skip trees with only one level of hierarchy (working around badly tuned content issues)
	Change vert threshold to 2K.
	1-2ms renderthread win without impacting GPU when rendering point lights

Change 3724029 by Zak.Middleton

	Increase allowed time for movement substep duration. Don't want to lower between 2 iterations, as this is not used much in practice other than deflection and movement mode changes, and that will change behavior (lose momentum). This new setting will absorb longer hitches in the common case (moving without collision or falling).

Change 3723985 by Marc.Audy

	SignificanceManager PostSignificanceUpdate functions can now be executed sequentially on the game thread as well as concurrently in the parallel for (old behavior)

Change 3722910 by Jian.Ru

	Amortize shadow cache update caused by resolution change
	Changed to use view distance vs. view space z when calculating whole scene shadow resolution which is less sensitive to camera rotation

Change 3718247 by Yenal.Kal

	Fixed the bug where the gameplay effect durations can show incorrect values after rejoin or after server time drifting away from the client.

Change 3716343 by Jamie.Dale

	Adding Korean and Turkish to the localization automation


Change 3710534 by Uriel.Doyon

	Texture streaming optimization where a maximum texture resolution for each level streaming data is computed per view.
	This is used to cull irrelevant levels and reduce the async task number of iterations.
	The culled size is defined by the new r.Streaming.MinLevelTextureScreenSize.

	This requires to remove primitives with big UV density from the level data.
	Those primitives get moved to the dynamic lists.
	This is controlled by r.Streaming.MaxTextureUVDensity

Change 3707207 by David.Ratti

	Remove look ahead-vectors prediction in FNetViewer. This (requires) a line trace which is not desirable or really accurate anymore. This saves us a line trace per connection per multicast rpc.

	unify reliable multicast rpc handling: these now do relevancy checks and are not sent to non relevant clients

Change 3706272 by Thomas.Sarkanen

	Added utility/math functions to aid in optimizing anim blueprints

	Added VectorLengthXY to get the 2D length of a 3D vector. Avoids unecessary conversions.
	Added polar->cartesian->polar conversion helper functions for expensive frequently-used anim graph functionality.

Change 3706159 by David.Ratti

	PlayerState/ASC replication optimizations from Polge: this puts the net update frequnecy on player state back to 1hz while forcing netupdates on the player state actor when the ability system component needs to update

Change 3692891 by David.Ratti

	Optimizations for UNetConnection::ClientHasInitializedLevelFor: build acceleration map of actor outer's (ULevels) -> Visibility bool. Existing logic stays the same.

Change 3691392 by Aaron.McLeran

	#jira UE-50628 Fix audio trying to sync load bulk data with EDL enabled

	- Fix log error in BulkData.cpp
	- Make the first stream chunk be force inline payload in bulk data flags so it loads immediately vs in async IO system
	- Make audio stream chunks get as close to 256 k chunks as it can, zero-pad rest to be 256 k aligned
	- Fix up DDC key, serialize AudioDataSize separately from chunk DataSize

Change 3682683 by Zak.Middleton

	Add bOnlyTickMontageOnDedicatedServer variable to AnimInstance, to avoid anim bp updates on dedicated server. Turn on to fix hitching from queued ServerMove() calls, and some free perf during all montages on the server.

Change 3678771 by Ori.Cohen

	Added the ability to turn on stack walk during hitching vs lightweight stats

Change 3676363 by Ori.Cohen

	Added the ability to get callstacks as part of hitch detection

Change 3674877 by Keith.Judge

	Move definition of GFailedToFindParamCollectionBufferQueue to ShaderBaseClasses.cpp so that all targets can successfully compile.

Change 3672515 by Bob.Tellez

	Added code to play wind particle effects

Change 3670909 by Zak.Middleton

	Fixed ForcePositionUpdate() not calling CheckJumpInput(). Added "p.NetForceClientServerMoveLossPercent" cvar to simulate loss of client->server movement RPCs (without hosing the rest of networking).

[CL 3791033 by Marc Audy in Main branch]
2017-12-05 21:57:41 -05:00
Chris Babcock
edb4242cb2 Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3771565)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3627858 by Sorin.Gradinaru

	#jira UE-48948 Crash when pressing backspace on empty line

	Fixed:
	UE-48948 Backspace on empty line crashes app (virtual keyboard)
	UE-49112 Virtual keyboard text field isn't visible after rotating from landscape to portrait
	UE-49117 Chinese and Korean virtual keyboards don't allow native characters
	UE-49120 Virtual keyboard number pad "kicks" user back to regular keyboard
	UE-49121 Gboard and Swift swipe entry are not supported by Virtual keyboard
	UE-49124 Cursor in virtual keyboard and UMG don't match
	UE-49128 Virtual Keyboard text field doesn't appear if there is too much text
	UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
	UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear

Change 3630732 by Sorin.Gradinaru

	#jira UE-43488 GitHub 3440 : Fixes exposure with planar reflections.

	#3440
	Cancelled the applied exposure scale for non-hdr mobile

Change 3631436 by Nick.Shin

	HTML5

	recommended fix for "RuntimeError: integer result unrepresentable" from the emscripten makers

	#jira UE-49059  HTML5 - Unable to launch project onto HTML 5 from editor

Change 3632689 by Sorin.Gradinaru

	#jira UE - 49301 Text in UMG controls flickers during update from Virtual Keyboard

	Full refresh of the Slate control for Android experimental VK - the control has focus, but the cursor was removed

Change 3632769 by Adrian.Chelu

	#jira UEMOB-403 Improvements to "Device Mobile Preview" feature

Change 3633305 by Allan.Bentham

	Print out the callstack when a fatal error occurs.

Change 3633510 by Chris.Babcock

	Remove unneeded logging
	#jira none

Change 3634827 by Adrian.Chelu

	#fixed build editor buildsystem linux

Change 3640610 by Adrian.Chelu

	#fixed Cook Win64 warnings
	#fixed UE4Editor Static Analysis Win64 warnings

Change 3663057 by Sorin.Gradinaru

	UE-49301 Text in UMG controls flickers during update from Virtual Keyboard
	#jira UE-49301
	#ue4
	#android

	On some Android devices TextWatcher.onTextChanged gets called multiple times when typing/deleting the content of a EditText (internally, the first call resets the entire content, the second fills it with the new value)
	The workaround is to delays sending "empty string" to the Slate, waiting for 100ms to see if there is a second call (the "real" string to update)

	The CL contains a fix for a 5/5 crash : select some/all the text from the native edittext, press delete.

Change 3663630 by Jack.Porter

	Fix shader compile error on Galaxy S6

Change 3663972 by Allan.Bentham

	add ES3.1 framebuffer fetch.
	#jira UE-46251

Change 3671843 by Nick.Shin

	HTML5 - silence CIS warnings (changed to INFO message type)

	#jira UE-50415  ( Pri:1 - 4.18 )  //UE4/Release-4.18: Step "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"

Change 3677675 by Sorin.Gradinaru

	Android Experimental Virtual Keyboard 4.18 issues
	#jira UE-49124 Cursor in virtual keyboard and UMG don't match
	#jira UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear
	#jira UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
	#ue4
	#android

	UE-49124 Cursor in virtual keyboard and UMG don't match - change in SlateTextLayout.cpp  - OnPaint() don't display the cursor

	Changed the show/hide vk routines (Game activity.java) to solve low-repro, Android O issues related to multiple click events.
	Should also be tested with multiple text boxes (fast click in/out different types of TextBox controls)

Change 3681555 by Adrian.Chelu

	UEMOB-403 Improvements to "Device Mobile Preview" feature

Change 3692020 by Sorin.Gradinaru

	#jira UE-50645 Carriage returns can be pasted into single line UMG fields on Android
	#ue4
	#4.19
	#android

Change 3692741 by Sorin.Gradinaru

	Andoid 3D WebBrowser
	#jira UE-32740 Web Browser on a Widget Component appears to be 2D when launching on to Android
	#ue4
	#android

Change 3695475 by Chris.Babcock

	Per project Android NDK/SDK API settings
	#jira UEMOB-394
	#ue4
	#android

Change 3701364 by Dmitriy.Dyomin

	Fixed: WEX - Android - Log spammed with "LogRHI: Error: Unsupported EPixelFormat 28"
	#jira UE-50714

Change 3701664 by Jack.Porter

	Fix typo

Change 3702355 by Cosmin.Sulea

	UEMOB-393 - Support "ETC 1.5" packaging
	#jira UEMOB-393

Change 3704950 by Chris.Babcock

	Add verification of support for cooked texture format(s) on device at runtime (optional with Validate texture formats checkbox in Android project settings) and skipped for cook on the fly
	#jira UE-50837
	#ue4
	#android

Change 3709817 by Nick.Shin

	HTML5 - silence CIS warnings (changed to INFO message type)

	finally have a repo case to test this proper fix

	#jira UE-50415  ( Pri:1 - 4.18 )  "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"

Change 3717598 by Chris.Babcock

	Fix Android icon paths
	#jira UE-51585
	#ue4
	#android

Change 3718456 by Adrian.Chelu

	#fixed spelling in category localized name

Change 3719643 by Nick.Shin

	nuke PLATFORM_HTML5_WIN32

	more "old" code to remove

	#jira UEMOB-433  Remove Win32 SDL "HTML5 Simulator" code

Change 3720342 by Nick.Shin

	HTML5 redirect logs to console window

	#jira UE-50747  HTML5 log is not easily accessible to users

Change 3720652 by Sorin.Gradinaru

	UE-50382 Xcode Address Sanitizer feature does not work on iOS
	#jira 50382
	#iOS
	#ue4

	Address sanitizer dylib loader depends on the default SDKROOT parameter (<scheme> => Build Settings => Base SDK => <Build Configuration>)
	For macosx or missing (also translated as macosx), the path is incorrect for iphone/appletv.

Change 3720654 by Sorin.Gradinaru

	UE-48499 Android Voice Module has a few issues
	#jira 48499
	#Android
	#ue4

	1.Circular Buffer:  Does the engine already have an implementation? Do we want this into core libraries?
	R: There is an generic template class TCircularBuffer, but it lacks functionality like write/read checks, reading/writing data chunks.
	Plus the code from VoiceModuleAndroid is optimized for circular byte array. I suggest to keep it.

	2. Possible memory leaks: void free_circular_buffer (circular_buffer *p) is implemented, but not used. Presumably a memory leak on the variable inrb. Does CreateAudioRecorder need to be paired with any kind of destroy on shutdown?
	R: Fixed. Using an array ActiveVoiceCaptures to store VoiceCapture references (same as on Windows)

	3. Init() There are 4 calls to setup/init things that store the result in "result" but only the last call is checked against success. Should more checks against the values be made at each stage with informative log messaging in the event of failure?
	R: Fixed.

	4. GetVoiceData()
	// Workaround for dealing with noise after stand-by
	while(bytes<InVoiceBufferSize)
	{
		OutVoiceBuffer[bytes++]=0;
	}
	Isn't this just a memzero?
	R: Fixed.

	5. Missing features. Need to implement GetBufferSize and DumpState
	R: Added GetBufferSize. Can be used like in TestVoice.cpp
	DumpState is never used (same on Mac, iOS), plus the OpenSL objects do not expose internal properties.

Change 3722554 by Cosmin.Sulea

	UE-44224 - iOS - Remote Build - rsync error: files not transferred
	#jira UE-44224

Change 3723265 by Allan.Bentham

	Assign a texture format priority for ETC1a.
	prevents launch on from using ETC1a all the time..

Change 3729764 by Dmitriy.Dyomin

	Removed deprecated LightmapUVBias, ShadowmapUVBias from instanced static mesh component per-instance data (80 -> 64 bytes)

Change 3729899 by Dmitriy.Dyomin

	Fixed tiled landcape re-import

Change 3730895 by Bogdan.Vasilache

	UEMOB-442 --> [ Support texture streaming on Android ES 3.1 ]
	#jira UEMOB-442

Change 3733463 by Chris.Babcock

	Return error for external texture if not used in pixel shader
	#jira UE-51763
	#ue4

Change 3736226 by Chris.Babcock

	Change ExposureScale to PreExposure
	#jira UE-52007
	#jira UE-51691
	#ue4
	#android

Change 3740509 by Allan.Bentham

	Add LQ (direct lighting from stationary spot/point lights) to volumetric lightmaps.
	#jira UE-50551

Change 3740586 by Cosmin.Sulea

	UE-51747 - GitHub 4174 : [BUG-FIX] Invalid ASTC texture versioning is corrected.
	#jira UE-51747

Change 3741110 by Chris.Babcock

	Fix functional code in checks removed for shipping
	#ue4

Change 3741117 by Chris.Babcock

	Fix checkin error for check -> ensure fix
	#ue4

Change 3741156 by Chris.Babcock

	Swap order of SDK and NDK overrides in menu to match Android SDK settings
	#jira UE-52019
	#ue4
	#android

Change 3741271 by Chris.Babcock

	Use final NDK and SDK levels only in UEBuildSettings.txt and rename the overrides to be clearer
	#jira UE-52058
	#ue4
	#android

Change 3741464 by Chris.Babcock

	Add NDK and SDK platform validation (installed) for Android
	#jira UE-52069
	#ue4
	#android

Change 3744602 by Josh.Adams

	From Meerkat: - Added optional 0 or 1 param to showlayer that will set the visibility instead of toggling it for entire layer

Change 3744603 by Josh.Adams

	From Meerkat: - Fixed a comment about debug view modes on consoles

Change 3744607 by Josh.Adams

	From Meerkat: - Added HWInstances to the PrimitiveStats view in Statistics window

Change 3754890 by Chris.Babcock

	Updated IntelISPCTexComp DLLs to fix crashes with some processors on Windows
	#jira UE-52281
	#ue4

Change 3755147 by Jack.Porter

	Fixed Google Cardboard rendering upside down on iPhone 6S+
	#jira  UE-38555

Change 3755458 by Cosmin.Sulea

	UE-47801 - RSync Error when Generating SSH Key for Remote Mac Building when Mac username contains a space
	#jira UE-47801

Change 3755492 by Jack.Porter

	Fix merge error

Change 3759140 by Bogdan.Vasilache

	UE-52396 --> Assertion in FOpenGLDynamicRHI::CreateOpenGLTexture when launching on Mali Galaxy S III
	#jira UE-52396

Change 3760536 by Sorin.Gradinaru

	UE-51262 values for pinch input produce very different results for same area on android device
	#jira 51262
	#iOS
	#Android
	#ue4

	1. When the pinch goes beyond the viewport boundaries (when zooming out),  the touch that goes off-screen is "released" and the zooming effect is over.
	Solved by remembering last pinch event values

	2. "Hack" the initial distance for the pinch/ rotate, by touching the screen and moving the finger to another position before using the second finger.
	Solved by using the correct values  when the pinch event starts

Change 3761279 by Chris.Babcock

	Flag vertex and fragment shaders belonging to materials with external textures
	#jira UE-52398
	#ue4
	#android

Change 3761494 by Chris.Babcock

	Fix access to FrameUpdateInfo in MediaPlayer14.java and CameraPlayer14.java with Proguard
	#jira UE-52471
	#ue4
	#android

Change 3763146 by Jack.Porter

	Default assets for web browser widget
	#jira UE-51374

Change 3764242 by Chris.Babcock

	Disable Niagara vertex factories for mobile and Switch
	#jira UE-52425
	#ue4
	#mobile
	#switch

Change 3766027 by Allan.Bentham

	Fix crash when no LQ volumetric lightmap data exists
	#jira UE-52508

Change 3766075 by Josh.Adams

	- Updating UDKRemote. Still needs art updated, and some some unneeded assets removed

Change 3766141 by Allan.Bentham

	Show unbuilt lightmap warning when LQ data is missing from volumetric lightmap in mobile shading mode.

Change 3766163 by Josh.Adams

	- Updated icons and added a generator script when we get a new one

Change 3766560 by Allan.Bentham

	Workaround for broken offsets with automation screenshots.

	#jira UE-52491

Change 3767193 by Peter.Sauerbrei

	remove Oculus shader from being cached
	force a metal shader re-compile

	#jira UE-52587

Change 3767604 by Peter.Sauerbrei

	fix the Oculusshader the right way

	#jira UE-52587

Change 3768543 by Sorin.Gradinaru

	Android WebBrowser 3D - webbrowser plugin contins the assets, 2D behaviour restored

	#Android
	#UE4
	#4.19
	#jira UE-51374 Web Browser widget is not working on Android
	#jira UE-52399 Android web browser does not accept input


Change 3663915 by Jack.Porter

	Prevent FTcpListener from busy polling while waiting for connections
	#jira UE-50125

Change 3709224 by Allan.Bentham

	Add android target device to gauntlet.
	Automation screenshot uses high res screenshot api for mobile.

	#jira UEMOB-360

Change 3741453 by Chris.Babcock

	Match the 4.18.1 fixes for shipping checks removing code (from CL3741091)
	#ue4

Change 3769301 by Peter.Sauerbrei

	fix for missing ue4_stdmetal.lib, courtesty of MarkS
	#jira UE-52587

Change 3770597 by Sorin.Gradinaru

	Android WebBrowser - remove the WebBrowser plugin reference from the Engine
	Load the default material directly from the resources.

	#Android
	#UE4
	#jira UE-51374 Web Browser widget is not working on Android
	#jira UE-52399 Android web browser does not accept input

[CL 3771573 by Chris Babcock in Main branch]
2017-11-22 16:42:04 -05:00
Matt Kuhlenschmidt
c72e1e1e70 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3739701)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3358367 by tim.gautier

	Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters

Change 3624848 by Jamie.Dale

	Added a composite font for the editor (and Slate core)

	This is defined in FLegacySlateFontInfoCache::GetDefaultFont and uses our default Roboto fonts (and the culture specific fallback fonts), and is now used as the default font for Slate and the editor.

	This change removes all the manual TTF/OTF file references from the various Slate styles, as well as updating 200+ hard-coded font references to use the new default font.

	This fixes various rendering issues with fonts in the editor when using different languages, and clears a big barrier for removing the legacy localized fallback font support.


Change 3654993 by Jamie.Dale

	'Native' (now called 'FNativeFuncPtr') is now a function pointer that takes a UObject* context, rather than a UObject member function pointer

	This avoids ambiguity when binding a native function pointer to a type that doesn't match the context pointer, as you could end up getting a function called with an incorrect 'this' pointer

	Breaking changes:
	 - Native has been renamed to FNativeFuncPtr.
	 - The signature of a native function has changed (use the DECLARE_FUNCTION and DEFINE_FUNCTION macro pair).
	 - Use P_THIS if you were previously using the 'this' pointer in your native function.

Change 3699591 by Jamie.Dale

	Added support for displaying and editing numbers in a culture correct way

	Numeric input boxes in Slate will now display and accept numbers using the culture correct decimal separators. This is enabled by default, and can be disabled by setting "ShouldUseLocalizedNumericInput" to "False" in XEditorSettings.ini (for the editor), or XGameUserSettings.ini (for a game).

	#jira UE-4028


Change 3719568 by Jamie.Dale

	Allow platforms to override the default ICU timezone calculation


Change 3622366 by Bradut.Palas

	#jira UE-46677

	Don't allow OnLevelRemovedFromWorld to reset the transaction buffer if we're in PIE mode.
	Also, remove one undo barrier in case the event was triggered in PIE mode or else we block the user from undoing previous actions.

Change 3622378 by Bradut.Palas

	#jira UE-46590

	we have a general bug with detecting the size of the last column, but the clamping prevents it from appearing with the other resize modes. The Content Browser is the only one to use fixed width.
	The bug is that the size of the last element is incorrectly reported, after we drag back and forth.
	Fixed by not reading the size real time, but reading it from the SlotInfo structure that is created earlier, which holds the correct value.

Change 3622552 by Jamie.Dale

	Added support for per-culture sub-fonts within a composite font

	This allows you to do things like create a Japanese specific Han sub-font to override the Han characters used in a CJK font (previously you needed to create a localized font asset to achieve this).

Change 3623170 by Jamie.Dale

	Fixing warning

Change 3624846 by Jamie.Dale

	Composite font cache optimizations

	- Converted a typically small sized map to a sorted array + binary search.
	- Converted the already sorted range array to use binary search.
	- Contiguous ranges using the same typeface are now merged in the cache.

Change 3625576 by Cody.Albert

	We now only set the widget tree to transient instead of passing the flag through StaticDuplicateObject. This was causing instanced subobjects to be flagged with RF_DuplicateTransient, preventing them from properly being duplicated when an array of instanced subobjects was modified.

	#jira UE-47971

Change 3626057 by Matt.Kuhlenschmidt

	Expose EUmgSequencePlayMode to blueprints

	#jira UE-49255

Change 3626556 by Matt.Kuhlenschmidt

	Fix window size and position adjustment not accounting for primary monitor not being a high DPI monitor when a secondary monitor is.  Causes flickering and incorrect window positioning.

	#jira UE-48922, UE-48957

Change 3627692 by Matt.Kuhlenschmidt

	PR #3977: Source control submenu menu customization (Contributed by Kryofenix)


Change 3628600 by Arciel.Rekman

	Added AutoCheckout to FAssetRenameManager for commandlet usage.

Change 3630561 by Richard.Hinckley

	Deprecating the version of UFunctionalTestingManager::RunAllFunctionalTests that feature an unused bool parameter, replacing with a new version without that parameter.

Change 3630656 by Richard.Hinckley

	Compile fix.

Change 3630964 by Arciel.Rekman

	Fix CrashReporterClient headless build.

Change 3631050 by Matt.Kuhlenschmidt

	Back out revision 9 from //UE4/Dev-Editor/Engine/Source/Runtime/Slate/Private/Widgets/Layout/SSplitter.cpp

	Causes major problems with resizing splitters in editor

Change 3631140 by Arciel.Rekman

	OpenAL: update Linux version to 1.18.1 (UETOOL-1253)

	- Also remove a hack for RPATH and make it use a generic RPATH mechanism.
	- Bulk of the change from Cengiz.Terzibas

	#jira UETOOL-1253

Change 3632924 by Jamie.Dale

	Added support for a catch-all fallback font within composite fonts

	This allows you to provide broad "font of last resort" behavior on a per-composite font basis, in a way that can also work with different font styles.

Change 3633055 by Jamie.Dale

	Fixed some refresh issues in the font editor

Change 3633062 by Jamie.Dale

	Fixed localization commands being reported as unknown

Change 3633906 by Nick.Darnell

	UMG - You can now store refrences to widgets in the same UserWidget.  If you need to create links between widgets this is valuable.  Will likely introduce new ways to utilize this in the future, for now just getting it working.

Change 3634070 by Arciel.Rekman

	Display actually used values of material overrides.

Change 3634254 by Arciel.Rekman

	Fix ResavePackages working poorly with projects on other drives (UE-49465).

	#jira UE-49465

Change 3635985 by Matt.Kuhlenschmidt

	Fixed typo in function name used by maps

	PR #3975: Add tooltip to Arrays in Editor (Contributed by projectgheist)


Change 3636012 by Matt.Kuhlenschmidt

	PR #3982: Unhide mouse cursor after using Ansel (Contributed by projectgheist)


Change 3636706 by Lauren.Ridge

	Epic Friday: Save parameters to child or sibling  instance functionality

Change 3638706 by Jamie.Dale

	Added an improved Japanese font to the editor

	This is only used when displaying Japanese text when the editor is set to Japanese, and uses a font with Japanese-style unified Han characters (our default fallback font uses Chinese-style unified Han characters).

	#jira UE-33268

Change 3639438 by Arciel.Rekman

	Linux: Repaired ARM server build (UE-49635).

	- Made Steam* plugins compile.
	- Disabled OpenEXR as the libs aren't compiled (need to be done separately).

	(Edigrating CL 3639429 from Release-4.17 to Dev-Editor)

Change 3640625 by Matt.Kuhlenschmidt

	PR #4012: FSlateApplication::ProcessReply use &Reply (Contributed by projectgheist)


Change 3640626 by Matt.Kuhlenschmidt

	PR #4011: Remove space from filename (Contributed by projectgheist)


Change 3640697 by Matt.Kuhlenschmidt

	PR #4010: PNG alpha fix (Contributed by mmdanggg2)


Change 3641137 by Jamie.Dale

	Fixed an issue where a culture specific sub-font could produce incorrect measurements during a culture switch

	It would fallback to the last resort font for a frame or two while the font cache flushed. This has it update the ranges immediately.

Change 3641351 by Jamie.Dale

	Fixing incorrect weights on the Japanese sub-font

Change 3641356 by Jamie.Dale

	Fixing inconsistent font sizes between CoreStyle and EditorStyle

Change 3641710 by Jamie.Dale

	Fixed pure-virtual function call on UMulticastDelegateProperty

Change 3641941 by Lauren.Ridge

	Adding a Parameter Details tab to the Material Editor so users can change default parameter details

Change 3644141 by Jamie.Dale

	Added an improved Korean font to the editor

	This is only used when displaying Korean text when the editor is set to Korean

Change 3644213 by Arciel.Rekman

	Fix the side effects of a fix for UE-49465.

	- Default materials were apparently not being found while building DDC (e.g. making an installed build), now they are
	  and we should not reset loaders on them lest we trigger HasDefaultMaterialsPostLoaded() assert later.

	#jira UE-49465

Change 3644777 by Jamie.Dale

	Reverting Korean editor font back to NanumGothic as NanumBarunGothic looked too squished

Change 3644879 by tim.gautier

	QAGame: Optimized assets for Procedural Foliage testing
	- Added camera bookmarks to Stations in QA-Foliage
	- Renamed QA-FoliageTypeInst assets to ProcFoliage_Shape
	- Fixed up redirectors

Change 3645109 by Matt.Kuhlenschmidt

	PR #3990: Git plugin: fix status of renamed, removed, missing, untracked assets (Contributed by SRombauts)


Change 3645114 by Matt.Kuhlenschmidt

	PR #3991: Git Plugin: Fix RunDumpToFile() leaking Process handles (Contributed by SRombauts)


Change 3645116 by Matt.Kuhlenschmidt

	PR #3996: Git Plugin: run an "UpdateStatus" at "Connect" time to populate the Source Control cache (Contributed by SRombauts)


Change 3645118 by Matt.Kuhlenschmidt

	PR #4005: Git Plugin: Expand the size of the Button "Initialize project with Git" (Contributed by SRombauts)


Change 3645876 by Arciel.Rekman

	Linux: fix submenus of context menu not working (UE-47639).

	- Change by icculus (Ryan Gordon).
	- QA-ClickHUD seems to be not affected by this change (it is already broken alas).

	#jira UE-47639

Change 3648088 by Jamie.Dale

	Fixed some case-sensitivity issues with FText format argument names/pins

	These were originally case-sensitive, but that was lost somewhere along the way. This change restores their original behavior.

	#jira UE-47122

Change 3648097 by Jamie.Dale

	Moved common macOS/iOS localization implementation into FApplePlatformMisc

	#jira UE-49940

Change 3650858 by Arciel.Rekman

	UBT: improve CodeLite project generator (UE-49400).

	- PR #3987 submitted by yaakuro (Cengiz Terzibas).

	#jira UE-49400

Change 3651231 by Arciel.Rekman

	Linux: default to SM5 for Vulkan.

	- Change by Timothee.Bessett.

Change 3653627 by Matt.Kuhlenschmidt

	PR #4020: Source Control Submit Files now interprets Escape key as if the user clicked cancel (Contributed by SRombauts)


Change 3653628 by Matt.Kuhlenschmidt

	PR #4022: Add New C++ Class dialog remember previously selected module. (Contributed by Koderz)


Change 3653984 by Jamie.Dale

	Fixed some redundant string construction

Change 3658528 by Joe.Graf

	UE-45141 - Added CMAKE_CXX_COMPILER and CMAKE_C_COMPILER settings to the generated CMake files

Change 3658594 by Jamie.Dale

	Zipping in UAT now always uses UTF-8 encoding to prevent Unicode issues

	#jira UE-27263

Change 3659643 by Michael.Trepka

	Added a call to FCoreDelegates::ApplicationWillTerminateDelegate.Broadcast(); in Mac RequestExit() to match Windows behavior

	#jira UETOOL-1238

Change 3661908 by Matt.Kuhlenschmidt

	USD asset importing improvements

Change 3664100 by Matt.Kuhlenschmidt

	Fix static analysis

Change 3664107 by Matt.Kuhlenschmidt

	PR #4051: UE-49448: FPropertyChangedEvent to include TopLevelObjects (Contributed by projectgheist)


Change 3664125 by Matt.Kuhlenschmidt

	PR #4036: Add missing GRAPHEDITOR_API (Contributed by projectgheist)


Change 3664340 by Jamie.Dale

	PR #3648: Prevent GatherTextFromSource from failing the commandlet (Contributed by projectgheist)


Change 3664403 by Jamie.Dale

	PR #3769: Fixes UE-46973 - Drag and Dropping Folders with Names (Contributed by LordNed)


Change 3664539 by Jamie.Dale

	PR #3280: Added EditableText functionality (Contributed by projectgheist)


Change 3665433 by Alexis.Matte

	When we finish importing morph target we must re-initialise the render resources since we now use GPU morph target.
	#jira UE-50231

Change 3666747 by Cody.Albert



Change 3669280 by Jamie.Dale

	PR #4060: UE-50455: Verify folder is newly created before removing from tree (Contributed by projectgheist)


Change 3669718 by Jamie.Dale

	PR #4061: Clear Content Browser folder search box on escape key (Contributed by projectgheist)


Change 3670838 by Alexis.Matte

	Fix crash when deleting a skeletal mesh LOD and the mouse is over the "reimport" button.
	#jira UE-50387

Change 3671559 by Matt.Kuhlenschmidt

	Update SimpleUI automation test ground truth

	#jira UE-50325

Change 3671587 by Alexis.Matte

	Fix fbx importer scale not always apply. A cache array was not reset when opening a fbx file.
	#jira UE-50147

Change 3671730 by Jamie.Dale

	Added PostInitInstance to UClass to allow class types to perform construction time initialization of their instances

Change 3672104 by Michael.Dupuis

	#jira UE-50427: Update the volume visibility list of the editor viewport when changing the procedural foliage settings

Change 3674906 by Alexis.Matte

	Make sure the export LOD option is taken in consideration when exporting a level or the current level selection
	#jira UE-50248

Change 3674942 by Matt.Kuhlenschmidt

	Fix static analysis

Change 3675401 by Alexis.Matte

	-fix export animation, do not truncate the last frame anymore
	-fix the import animation, there was a display issue in the progress bar. Also a floorToInt sometime truncate the last valid frame. We also have a better way to calculate the time increment we use to sample the fbx curves.

	#jira UE-48231

Change 3675990 by Alexis.Matte

	Remove morph target when doing a re-import, so morph will be remove if they do not exist anymore in the fbx.
	This is to avoid driving random vertex with old morph target.
	#jira UE-50391

Change 3676169 by Alexis.Matte

	When we re-import with dialog the option, "Override Full Name" was set to false and save with the option dialog. We now not set it to false, since it was not use during re-import.

Change 3676396 by Alexis.Matte

	Make all LOD 0 name consistent in staticmesh editor
	#jira UE-49461

Change 3677730 by Cody.Albert

	Enable locking of Persistent Level in Levels tab

	#jira UE-50686

Change 3677838 by Jamie.Dale

	Replaced broken version of Roboto Light

Change 3679619 by Alexis.Matte

	Integrate GitHub pr #4029 to fix import fbx chunk material assignation.
	#jira UE-50001

Change 3680093 by Alexis.Matte

	Fix the skeletal mesh so the vertex color is part of the vertex equality like with the static mesh.

Change 3680931 by Arciel.Rekman

	SlateDialogs: show image icon for *.tga (UE-25106).

	- Also reworked the logic somewhat.

	#jira UE-25106

Change 3681966 by Yannick.Lange

	MaterialEditor post-process preview.
	#jira UE-45307

Change 3682407 by Lauren.Ridge

	Fixes for material editor compile errors

Change 3682628 by Lauren.Ridge

	Content browser filters for Material Layers, Blends, and their instances

Change 3682725 by Lauren.Ridge

	Adding filter assets and instance assets to Material Layers and Material Layer Blends. Turning Material Layering on by default

Change 3682921 by Lauren.Ridge

	Fix for instance layers not initializing fully

Change 3682954 by Lauren.Ridge

	Creating Material Layer Test Assets

Change 3683582 by Alexis.Matte

	Fix static analysis build

Change 3683614 by Matt.Kuhlenschmidt

	PR #4062: Git Plugin: Fix UE-44637: Deleting an asset is unsuccessful if the asset is marked for add (Contributed by SRombauts)


Change 3684130 by Lauren.Ridge

	Allow visible parameter retrieval to correctly recurse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs.

Change 3686289 by Arciel.Rekman

	Remove the pessimization (UE-23791).

Change 3686455 by Lauren.Ridge

	Fixes for adding/removing a layer parameter from the parent not updating the child

Change 3686829 by Jamie.Dale

	No longer include trailing whitespace in the justification calculation for soft-wrapped lines

	#jira UE-50266

Change 3686970 by Lauren.Ridge

	Making material parameter preview work for functions as well

Change 3687077 by Jamie.Dale

	Fixed crash using FActorDetails with the struct details panel

Change 3687152 by Jamie.Dale

	Fixed the row structure tag not appearing in the Content Browser for Data Table assets

	The CDO is used to filter these tags, and the CDO was omiting that tag which caused it to be filtered for all Data Tables.

	#jira UE-48691

Change 3687174 by Lauren.Ridge

	Fix for material layer sub-parameters showing up in the default material parameters panel

Change 3688100 by Lauren.Ridge

	Fixing static analysis error

Change 3688317 by Jamie.Dale

	Fixed crash using the widget reflector in a cooked game

	Editor-style isn't available in cooked games. Core-style should be used instead for the widget reflector.

Change 3689054 by Jamie.Dale

	Reference Viewer can now show/copy references lists for nodes with multiple objects, or multiple selected nodes

	#jira UE-45751

Change 3689513 by Jamie.Dale

	Fixed justification bug with RTL text caused by CL# 3686829

	Also implemented the same alignment fix for visually left-aligned RTL text.

	#jira UE-50266

Change 3690231 by Lauren.Ridge

	Added Material Layers Parameters Preview (all editing disabled) panel to the Material Editor

Change 3690234 by Lauren.Ridge

	Adding Material Layers Function Parameter to Static Parameter Compare

Change 3690750 by Chris.Bunner

	Potential nullptr crash.

Change 3690751 by Chris.Bunner

	Fixed logic on overridden vector parameter retrieval for material instances checking a function owned parameter.

Change 3691010 by Jamie.Dale

	Fixed some clipping issues that could occur with right-aligned text

	FTextBlockLayout::OnPaint was passing an unscaled offset to SetVisibleRegion, and it also wasn't correctly adjusting the offset for RTL text with left-alignment (which becomes a visual right-alignment)

	#jira UE-46760

Change 3691091 by Jamie.Dale

	Renamed FTextBlockLayout to FSlateTextBlockLayout to reflect that it's a Slate specific type

Change 3691134 by Alexis.Matte

	Make sure we instance also the collision mesh when exporting a level to fbx file.
	#jira UE-51066

Change 3691157 by Lauren.Ridge

	Fix for reset to default not refreshing sub-parameters

Change 3691192 by Jamie.Dale

	Fixed Content Browser selection resetting when changing certain view settings

	#jira UE-49611

Change 3691204 by Alexis.Matte

	Remove fbx export file version 2010 compatibility. The 2018 fbx sdk refuse to export earlier then 2011.
	#jira UE-51023

Change 3692335 by Lauren.Ridge

	Setting displayed asset to equal filter asset if no instance has been selected

Change 3692479 by Jamie.Dale

	Fixed whitespace

Change 3692508 by Alexis.Matte

	Make sure we warn the user that there is nothing to export when exporting to fbx using "export selected" or "export All" from the file menu.
	We also prevent the export dialog to show
	#jira UE-50973

Change 3692639 by Jamie.Dale

	Translation Editor now shows stale translations as "Untranslated"

Change 3692743 by Lauren.Ridge

	Smaller blend icons, added icon size override to FObjectEntryBox

Change 3692830 by Alexis.Matte

	Fix linux build

Change 3692894 by Lauren.Ridge

	Tooltip on "Parent" in material layers

Change 3693141 by Jamie.Dale

	Removed dead code

	FastDecimalFormat made this redundant

Change 3693580 by Jamie.Dale

	Added AlwaysSign number formatting option

	#jira UE-10310

Change 3693784 by Jamie.Dale

	Fixed assert extracting the number formatting rules for Arabic

	It uses a character outside the BMP for its plus and minus sign, so we need these to be a string to handle that.

	#jira UE-10310

Change 3694428 by Arciel.Rekman

	Linux: make directory watch request a warning so they don't block cooking.

	- See https://answers.unrealengine.com/questions/715206/cook-error-on-linux.html

Change 3694458 by Matt.Kuhlenschmidt

	Made duplicate keybinding warning non-fatal

Change 3694496 by Alexis.Matte

	fix static analysis build

Change 3694515 by Jamie.Dale

	Added support for culture correct parsing of decimal numbers

	#jira UE-4028

Change 3694621 by Jamie.Dale

	Added a variant of FastDecimalFormat::StringToNumber that takes a string length

	This can be useful if you want to convert a number from within a non-null terminated string

	#jira UE-4028

Change 3694958 by Jamie.Dale

	Added a parsed length output to FastDecimalFormat::StringToNumber to allow permissive parsing

	You can test this rather than the result if you want to attempt to parse a number from a string that may have other data after it. This also fixes the sign-suffix causing the parsing to fail.

	#jira UE-4028

Change 3695083 by Alexis.Matte

	Optimisation of the morph target import
	- We now compute only the normal for the shape the tangent are not necessary
	- The async tasks are create when there is some available cpu thread to avoid filling the memory
	- When we re-import the morph target are deleted in bulk avoiding to initialize the morph map for every morphs targets
	#jira UE-50945

Change 3695122 by Jamie.Dale

	GetCultureAgnosticFormattingRules no longer returns a copy

Change 3695835 by Arciel.Rekman

	TestPAL: greatly expanded malloc test.

Change 3695918 by Arciel.Rekman

	TestPAL: Added thread priority test.

Change 3696589 by Arciel.Rekman

	TestPAL: tweak thread priorities test (better readability).

Change 3697345 by Alexis.Matte

	Fix reorder of material when importing a LOD with new material
	#jira UE-51135

Change 3699590 by Jamie.Dale

	Updated SGraphPinNum to use a numeric editor

	#jira UE-4028

Change 3699698 by Matt.Kuhlenschmidt

	Fix crash opening the level viewport context menu if the actor-component selection is out of sync

	#jira UE-48444

Change 3700158 by Arciel.Rekman

	Enable packaging for Android Vulkan on Linux (UETOOL-1232).

	- Change by Cengiz Terzibas

Change 3700224 by Arciel.Rekman

	TestPAL: fixed a memory leak.

Change 3700775 by Cody.Albert

	Don't need to initialize EnvironmentCubeMap twice.

Change 3700866 by Michael.Trepka

	PR #3223: Remove unnecessary reallocation. (Contributed by foollbar)


	#jira UE-41643

Change 3701132 by Michael.Trepka

	Copy of CL 3671538

	Fixed issues with editor's game mode in high DPI on Mac.

	#jira UE-49947, UE-51063

Change 3701421 by Michael.Trepka

	Fixed a crash in FScreenShotManager caused by an attempt to access a deleted FString in async lambda expression

Change 3701495 by Alexis.Matte

	Fix fbx importer "import normals" option when mix with "mikkt" tangent build it was recomputing the normals instead of importing them.
	#jira UE-UE-51359

Change 3702982 by Jamie.Dale

	Cleaned up some localization setting names

	These now have consistent names and avoid double negatives. This also fixes needing to restart the editor when changing the "ShouldUseLocalizedPropertyNames" setting.

Change 3703517 by Arciel.Rekman

	TestPAL: improved thread test.

	- Changed the counter to a normal variable to reduce possible contentions (threads used to share the counter in an early prototype, hence the usage of an atomic).

Change 3704378 by Michael.Trepka

	Disable Zoom button on Mac if project requests a resizeable window without it.

	#jira UE-51335

Change 3706316 by Jamie.Dale

	Fixed the asset search suggestions list closing if you clicked on its scrollbar

	#jira UE-28885

Change 3706855 by Alexis.Matte

	Support importing animation that has some keys with negative time
	#jira UE-51305

Change 3709634 by Matt.Kuhlenschmidt

	PR #4146: Null access check on ForceLOD in FViewport::HighResScreenshot (Contributed by projectgheist)


Change 3711085 by Michael.Trepka

	Reenabled UBT makefiles on Mac

Change 3713049 by Josh.Engebretson

	The ConfigPropertyEditor now generates a unique runtime UClass.  It uses the outer name on the property instead of a unique ID as a unique id would generate a new UClass every time (and these are RF_Standalone).  I also removed some static qualifiers for Section and Property names which were incorrect.

	#jira UE-51319

Change 3713144 by Lauren.Ridge

	Fixing automated test error

	#jira UE-50982

Change 3713395 by Alexis.Matte

	Fix auto import mountpoint
	#jira UE-51524

Change 3713881 by Michael.Trepka

	Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets.

	#jira UE-31093

Change 3714197 by Michael.Trepka

	Send IMM key down event to the main window instead of Cocoa key window, as that's what the Slate's active window is. This solves problems with IMM not working in context menu text edit fields.

	#jira UE-47915

Change 3714911 by Joe.Graf

	Merge of cmake changes from Dev-Rendering

Change 3715973 by Michael.Trepka

	Disable OS close button on Windows if project settings request that

	#jira UE-45522

Change 3716390 by Lauren.Ridge

	The color picker summoned when double-clicking vector3 nodes now has its intended "do not refresh until OK is clicked" behavior.

	#jira UE-50916

Change 3716529 by Josh.Engebretson

	Content Browser: Clamp "Assets to Load at Once Before Warning" so it cannot be set below 1

	#jira UE-51341

Change 3716885 by Josh.Engebretson

	Tracking transactions such as a duplication operation can modify a selection which differs from the initial one.  Added package state tracking to restore unmodified state when necessary.

	#jira UE-48572

Change 3716929 by Josh.Engebretson

	Unshelved from pending changelist '3364093':

	PR #3420: Exe's icons and properties (Contributed by projectgheist)


Change 3716937 by Josh.Engebretson

	Unshelved from pending changelist '3647428':

	PR #4026: Fixed memory leaks for pipe writes and added data pipe writes (Contributed by Hemofektik)


Change 3717002 by Josh.Engebretson

	Fix FileReference/string conversion

Change 3717355 by Joe.Graf

	Fixed CMake file generation on Windows including Engine/Source/ThirdParty source

Change 3718256 by Arciel.Rekman

	TestPAL: slight mod to the malloc test.

	- Touch the allocated memory to check actual resident usage.

Change 3718290 by Arciel.Rekman

	BAFO: place descriptor after the allocation to save some VIRT memory.

	- We're relying on passing correct "Size" argument to Free() anyway, and this modification makes use of that extra information to save on memory for the descriptor.

Change 3718508 by Michael.Trepka

	Fixed vsnprintf on platforms that use our custom implementation in StandardPlatformString.cpp to ignore length modifier for certain types (floating point, pointer)

	#jira UE-46148

Change 3718855 by Lauren.Ridge

	Adding content browser favorite folders. Add or remove folders from the favorite list in the folder's right-click context menu, and hide or show the favorites list in the Content Browser options.

Change 3718932 by Cody.Albert

	Update ActorSequence plugin loading phase to PreDefault

	#jira UE-51612

Change 3719378 by tim.gautier

	QAGame: Renamed multiTxt_Justification > UMG_TextJustification.
	Added additional Text Widgets for testing

Change 3719413 by Lauren.Ridge

	Resubmit of content browser favorites

Change 3719803 by Yannick.Lange

	VREditor: Fix crash with null GEditor
	#jira UE-50103

Change 3721127 by tim.gautier

	QAGame: Fixed up a ton of redirectors within /Content and /Content/Materials
	- Added M_ParamDefaults and MF_ParamDefaults
	- Moved legacy MeshPaint materials into /Content/Materials/MeshPaint
	- Renamed ColorPulse assets from MatFunction_ > MF_, moved into /Content/Materials/Functions

Change 3721255 by Alexis.Matte

	Replace skeletal mesh import option "keep overlapping vertex" by 3 float thresholds allowing the user to control the welding thresholds.
	#jira UE-51363

Change 3721594 by Lauren.Ridge

	Material Blends now have plane mesh previews in their icons.

Change 3722072 by tim.gautier

	QAGame: Updated MF_ParamDefaults - using red channel as roughness
	Updated M_ParamDefaults - tweaked Scalar values

Change 3722180 by Michael.Trepka

	Updated Xcode project generator to sort projects in the navigator by name (within folders) and also sort the list of schemes so that their order matches the order of projects in the navigator.

	#jira UE-25941

Change 3722220 by Michael.Trepka

	Fixed a problem with Xcode project generator not handling quoted preprocessor definitions correctly

	#jira UE-40246

Change 3722806 by Lauren.Ridge

	Fixing non-editor compiles

Change 3722914 by Alexis.Matte

	Fbx importer: Add new attribute type(eSkeleton) for staticmesh socket import.

	#jira UE-51665

Change 3723446 by Michael.Trepka

	Copy of CL 3688862 from 4.18 + one more fix for a deadlock related to window resizing when using IME

	Don't do anything in Mac window's windowWillResize: if we're simply chaning the z order of windows. This way we avoid a rare dead lock when hiding the window.

	#jira UE-48257

Change 3723505 by Matt.Kuhlenschmidt

	Fix duplicate actors being created for USD primitives that specify a custom actor class

Change 3723555 by Matt.Kuhlenschmidt

	Fix crash loading the gameplayabilities module

	#jira UE-51693

Change 3723557 by Matt.Kuhlenschmidt

	Fixed tooltip on viewport dpi scaling option

Change 3723870 by Lauren.Ridge

	Fixing incorrect reset to default visibility, adding clear behavior to fields

Change 3723917 by Arciel.Rekman

	Linux: fix compilation with glibc 2.26+ (UE-51699).

	- Fixes compilation on Ubuntu 17.10 among others.

	(Merging 3723489 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...)

Change 3723918 by Arciel.Rekman

	Linux: do not test for popcnt presence unnecessarily (UE-51677).

	(Merging 3723904 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...)

Change 3724229 by Arciel.Rekman

	Fix FOutputDeviceStdOutput to use printf() on Unix platforms.

Change 3724261 by Arciel.Rekman

	TestPAL: fix thread priority test (zero the counter).

Change 3724978 by Arciel.Rekman

	Linux: fix priority calculation.

	- Rlimit values are always positive, so this was completely broken when the RLIMIT_NICE is non-0.

Change 3725382 by Matt.Kuhlenschmidt

	Guard against crashes and add more logging when actor creation fails.
	Looks like it could be manual garbage collections triggered before conversion is complete so those have been removed

	#jira UE-47464

Change 3725559 by Matt.Kuhlenschmidt

	Added a setting to enable/disable high dpi support in editor.   This currently only functions in Windows.
	Moved some files around for better consistency

Change 3725640 by Arciel.Rekman

	Fix Linux thread/process priorities.

	- Should also speed up SCW on Linux by deprioritizing them less.

Change 3726101 by Matt.Kuhlenschmidt

	Fix logic bug in USD child "kind" type resolving

Change 3726244 by Joe.Graf

	Added an option to generate a minimal set of targets for cmake files
	Added shader and config files to cmake file generation for searching within IDEs

Change 3726506 by Arciel.Rekman

	Fix compile issue after DPI change.

Change 3726549 by Matt.Kuhlenschmidt

	Remove unnecessary indirection to cached widgets in the hit test grid

Change 3726660 by Arciel.Rekman

	Enable DPI switch on Linux.

Change 3726763 by Arciel.Rekman

	Fix mismatching "noperspective" qualifier (UE-50807).

	- Pull request #4080 by TTimo.

Change 3727080 by Michael.Trepka

	Added support for editor's EnableHighDPIAwareness setting on Mac

Change 3727658 by Matt.Kuhlenschmidt

	Fix shutdown crash if level editor is still referenced after the object system has been gc'd

	#jira UE-51630

Change 3728270 by Matt.Kuhlenschmidt

	Remove propertyeditor dependency from editorstyle

Change 3728291 by Arciel.Rekman

	Linux: fix for a crash on a headless system (UE-51714).

	- Preliminary change before merging to 4.18.

Change 3728293 by Arciel.Rekman

	Linux: remove unneeded dependency on CEF.

	- Old workaround should no longer be needed, while this dependency makes UE4 depend on a ton of external libs.

Change 3728524 by Michael.Trepka

	Copy of CL 3725570

	Removed Enable Fullscreen option from editor's Window menu on Mac. Windowed fullscreen mode is currently unavailable on Mac in editor mode as supporting it properly would require it to work with multiple spaces and split screen, which we currently don't handle (requested in UE-27240)

	#jira UE-51709

Change 3728875 by Michael.Trepka

	Fixed compile error in Mac SlateOpenGLContext.cpp

Change 3728880 by Matt.Kuhlenschmidt

	Guard against invalid worlds in thumbnail renderers

Change 3728924 by Michael.Trepka

	Don't defer MacApplication->CloseWindow() call. This should fix a rare problem with deferred call executing during Slate's PrepassWindowAndChildren call.

	#jira UE-51711

Change 3729288 by Joe.Graf

	Added the .idea/misc.xml file generation to speed up CLion indexing

Change 3729935 by Michael.Dupuis

	#jira UE-51722: Hide from UI invalid enum values

Change 3730234 by Matt.Kuhlenschmidt

	Fix "Game Gets Mouse Control" setting no longer functioning and instead the mouse was always captured.

	#jira UE-51801

Change 3730349 by Michael.Dupuis

	#jira UE-51324: Clear the UI selection when rebuilding the palette, as we destroyed all items and recreate them, so selection is on invalid item

Change 3730438 by Lauren.Ridge

	Cleaning up material layering UI functions

Change 3730723 by Jamie.Dale

	Fixed FastDecimalFormat::StringToNumber incorrectly reporting that number-like sequences that lacked digits had been parsed as numbers

	#jira UE-51799

Change 3731008 by Lauren.Ridge

	Changing Layers and Blends from proxy assets to real assets

Change 3731026 by Arciel.Rekman

	libelf: make elf_end() visible (UE-51843).

	- This repairs compilation for a case when CUDA is being used.
	- Also added some missing files for ARM 32-bit.

Change 3731081 by Lauren.Ridge

	New material layer test assets

Change 3731186 by Josh.Engebretson

	Adding camera speed scalar setting and Toolbar UI to increase range on camera speed presets

	#jira UE-50104

Change 3731188 by Mike.Erwin

	Improve responsiveness of Open Asset dialog.

	On large projects, there's a noticeable delay when opening and searching/filtering assets.

	Stopwatch measurements on my machine (seconds for ~122,000 assets):
		before	with this CL
	ctrl-P	1.4	0.45
	search	1.8	0.55

	CollectionManagerModule was the main culprit for search/filter slowness.

	Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation.

Change 3731682 by Arciel.Rekman

	UnrealEd: Allow unattended commandlets to rename/save packages.

Change 3732305 by Michael.Dupuis

	#jira UE-48434 : Only register if the foliage type still has a valid mesh

Change 3732361 by Matt.Kuhlenschmidt

	Fix two settings objects being created in the transient package with the same name

	#jira UE-51891

Change 3732895 by Josh.Engebretson

	https://jira.it.epicgames.net/browse/UE-51706

	If a shared DDC is not being used, present a notification to the licensee with a link on how to setup a shared DDC.
	Adds DDC notification events for check/put and query for whether a shared DDC is in use.

	#jira UE-51706

Change 3733025 by Arciel.Rekman

	UBT: make sure new clang versions are invoked.

Change 3733311 by Mike.Erwin

	Fix Linux compile warning from CL 3731188

	It didn't like mixing && and || without parentheses. Reworked logic to do one test at a time, put cheaper tests first to avoid calls to more expensive IsPluginFolder.

Change 3733658 by Josh.Engebretson

	Add a missing #undef LOCTEXT_NAMESPACE

Change 3734003 by Arciel.Rekman

	Fix Windows attempting to use printf %ls and crashing at that (UE-51934).

Change 3734039 by Michael.Trepka

	Fixed a couple of merge issues in Mac ApplicationCore

Change 3734052 by Michael.Trepka

	One more Mac ApplicationCore fix

Change 3734244 by Lauren.Ridge

	Fix for accessing Slate window on render thread

Change 3734950 by Josh.Engebretson

	Fixing clang warning

Change 3734978 by Jamie.Dale

	Relaxed enum property importing to allow valid numeric values to be imported too

	This was previously made more strict which caused a regression in Data Table importing

	#jira UE-51848

Change 3734999 by Arciel.Rekman

	Linux: add LTO support and more.

	- Adds ability to use link-time opitimization (reusing current target property bAllowLTCG).
	- Supports using llvm-ar and lld instead of ar/ranlib and ld.
	- More build information printed (and in a better organized way).
	- Native scripts updated to install packages with the appropriate tools on supported systems
	- AutoSDKs updated to require a new toolchain (already checked in).
	- Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089

Change 3735268 by Matt.Kuhlenschmidt

	Added support for canvas based DPI scaling.

	-Scene canvas is by default not scaled as this could severely impact any game using a canvas based UI
	-The debug canvas for stats is always dpi scaled in editor and pie.
	-Eliminated text scaling workaround now that the entire canvas is properly scaled
	-Enabled canvas scaling in cascade UI

Change 3735329 by Matt.Kuhlenschmidt

	Fix potential crash if an asset editor has an object deleted out from under it

	#jira UE-51941



Change 3735502 by Arciel.Rekman

	Fix compile issue (bShouldUpdateScreenPercentage).

Change 3735878 by Jamie.Dale

	Updated FString::SanitizeFloat to allow you to specify the min number of fractional digits to have in the resultant string

	This defaults to 1 as that was the old behavior of FString::SanitizeFloat, but can also be set to 0 to prevent adding .0 to whole numbers.

Change 3735881 by Jamie.Dale

	JsonValue no longer stringifies whole numbers as floats

Change 3735884 by Jamie.Dale

	Only allow enums to import integral values

Change 3735912 by Josh.Engebretson

	Improving cook process error/warning handling including asset warning/error content browser links and manual dismiss for cook error notifications

	#jira UE-48131

Change 3736280 by Matt.Kuhlenschmidt

	Fix 0 dpi scale for canvases

	#jira UE-51995

Change 3736298 by Matt.Kuhlenschmidt

	Force focus of game viewports in vr mode

Change 3736374 by Jamie.Dale

	Fixed some places where input chords were being used without testing that they had a valid key set

	#jira UE-51799

Change 3738543 by Matt.Kuhlenschmidt

	Better fix for edit condition crashes

	#jira UE-51886

Change 3738603 by Lauren.Ridge

	Copy over of drag and drop non-array onto array fix

Change 3739701 by Chris.Babcock

	Fix crashlytics merge error
	#jira UE-52064
	#ue4
	#android

[CL 3739980 by Matt Kuhlenschmidt in Main branch]
2017-11-06 18:22:01 -05:00
Ben Marsh
d832dacf48 Merging //UE4/Release-4.18 @ CL 3709383 to Release-Staging-4.18 (//UE4/Release-Staging-4.18)
#rb none
#jira

[CL 3715930 by Ben Marsh in Staging-4.18 branch]
2017-10-24 10:14:07 -04:00
Jack Porter
e7c737c0cf Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3627362)
#lockdown Nick.Penwarden
#rb None

============================
  MAJOR FEATURES & CHANGES
============================

Change 3600639 by Nick.Shin

	HTML5 remove old emscripten toolchain

	forgot to remove this (was checked out in another changelist)

	#jira UE-47813

Change 3600641 by Nick.Shin

	HTML5 TM-Core crash fixes

	new PhysX HTML5 libs

	#jira UE-47813  Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox

Change 3600644 by Nick.Shin

	HTML5 TM-Core crash fixes

	emscripten doesn't seem to know how to look at <PxRigidActor> from the PxActor class...

	#jira UE-47813  Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox

Change 3600647 by Nick.Shin

	HTML5 UInterpTrackInst::GetGroupActor()

	pre-null check

	#jira UE-47485  ( Pri:1 - 4.18 )  Crash running Stat Command test in TM-Core on Firefox

Change 3601439 by Dmitriy.Dyomin

	Fixed: Protostar leads to device reboot in Galaxy S7 Adreno device. (SM-G930V)
	#jira UE-48323

Change 3601440 by Dmitriy.Dyomin

	Fixed: Texture streaming after world origin was rebased

Change 3601456 by Dmitriy.Dyomin

	Added: Async loading bytecode from shader library
	- Shader library will be packed into single file
	- Shader library will be created only when packaging project by the book
	#jira UEMOB-381

Change 3601624 by Jack.Porter

	Fix landscape crash on HTML5 Exception !IsInRenderingThread() failed.
	#jira UE-48527

Change 3603890 by Dmitriy.Dyomin

	GitHub 3905 : Engine crash in LandscapeComponent when streaming levels
	#3905
	#jira UE-48422

Change 3603933 by Dmitriy.Dyomin

	Fixed: Crash after Splash Screen on Android (ETC2) when Adding r.UseShaderCaching and r.UseShaderPredraw

	- Added r.SaveShaderCache command to save current cache on demand
	- Removed support for caching multiple platfroms at the same time, each platform now uses separate cache/file
	- Significantly reduced size of draw log on disk
	- Mobile platfroms support only basic caching, logging shaders and bound shader states without full gfx state

	#jira UE-47553

Change 3604050 by Sorin.Gradinaru

	#jira UE-47428 Android virtual keyboard polishing

	 Done:
	Multiline should be disabled when not needed
	Hide suggestions and autocorrect
	"Done" / back button behavior to make it feel natural - Done/Enter and the Back key event sent to the engine
	If the keyboard is up and you click on the same control you're currently inputting into, it will hide the keyboard.
	Look into animation - not critical.
	S6 with Swiftkey. The numbers don't show up in our textedit but the string is updated (we see dots in the Slate control) with the password entry

	Could not reproduce/test:
	Make sure we don't use negative coords for the input box if the keyboard is at the top of the screen

Change 3604081 by Allan.Bentham

	Reduce redundant log spam from SustainedPerformanceMode on android.

Change 3604152 by Allan.Bentham

	Improved vulkanRHI availability and selection reporting.

Change 3604186 by Dmitriy.Dyomin

	Vulkan: Write to buffers directly on UMA devices (no staging)

Change 3604396 by Nick.Shin

	HTML5 - stats and multi-threading checks

	more null & multi-threading - and some functions flat out disabled for HTML5 platform

	the big "don't use on HTML5" is TLockFreeFixedSizeAllocator_TLSCacheBase's manual TLS.PartialBundle memory handler...  i'm not sure it's working properly...  switched on USE_NIEVE_TLockFreeFixedSizeAllocator_TLSCacheBase sections of code (i.e. basic malloc and free) for PLATFORM_HTML5
	- it seems only the stats function was exacerbating the memory bug ... but, shutting this completely out for HTML5...  don't know if it's an emscripten compiler/corruption that's causing this...
	- will send this to emscripten makers as another test case for them to help see what's going on...

	#jira UE-47485  ( Pri:1 - 4.18 )  Crash running Stat Command test in TM-Core on Firefox

Change 3604752 by Allan.Bentham

	Reduce battery status log spam.

Change 3604825 by Nick.Shin

	HTML5 emscripten 1.37.19 updated license file

	#jira UE-47813

Change 3606486 by Jack.Porter

	Enabled refraction on tvOS

	#jira UE-47229

Change 3606546 by Dmitriy.Dyomin

	Vulkan: Missed null check from CL# 3601439

Change 3606654 by Allan.Bentham

	mobile post process shaders will not attempt depth buffer fetch, instead they will always read from the depth texture.
	#jira UE-41919

Change 3606672 by Dmitriy.Dyomin

	Fixed: Vulkan mode crashes without error on Tegra K1 Nvidia Shield due to OOM
	- fixed r.MobileReduceLoadedMips has no effect
	- added r.MobileMaxLoadedMips to set a limit to a number of mips
	- reduced size of vulkan allocation pages on android
	#jira UE-42838

Change 3607204 by Allan.Bentham

	Do not attempt getprocaddress for GL_EXT_DEBUG_LABEL functions when the extension is not declared.

Change 3607214 by Nick.Shin

	HTML5 - stats font crash fix

	#jira UE-47485  ( Pri:1 - 4.18 )  Crash running Stat Command test in TM-Core on Firefox

Change 3609164 by Chris.Babcock

	More informative Android SDK license requirements and errors
	#jra UE-48837
	#ue4
	#android

Change 3609175 by Chris.Babcock

	Linux build fix
	#jira none

Change 3609516 by Dmitriy.Dyomin

	Fixed: Decals in TM-ShaderModels appearing and disappearing when viewed at certain angles on Android
	#jira UE-45342

Change 3609618 by Dmitriy.Dyomin

	Back out changelist 3603933, to help merge from main

Change 3610979 by Peter.Sauerbrei

	addition of asset catalogs for icons on Xcode 9 for iOS 11

Change 3612145 by Dmitriy.Dyomin

	Resubmitting CL #3603933 (shader cache fixes)

Change 3613981 by Chris.Babcock

	Fix issue with Android password keyboard input
	#jira WEX-7343
	#ue4
	#android

Change 3614375 by Sorin.Gradinaru

	#jira UE-44656  StrategyGame Crashes on launch on KindleFire 5th Gen.

	Kindle Fire HD7 5th (CPU Mali 450) seems to have problems with thread rendering, crashing when returning to the main thread.

	Added new device profile [Android_Mali_4xx_KindleFire] with a new cvar r.AndroidDisableThreadedRenderingFirstLoad=1, disabling movie player rendering on the intial screen. For subsequent loading screens, the (same) code apparently runs Ok.

	A warning "Initial loading screen disabled from BaseDeviceProfiles.ini: r.AndroidDisableThreadedRenderingFirstLoad=1" should appear when the thread rendering is disabled

Change 3614971 by Cosmin.Sulea

	UE-46769 - GitHub 3745 : bForcePVRTC4 was ignored.
	#jira UE-46769

Change 3616431 by Peter.Sauerbrei

	PR3657,3658 - fixes for InApp purchase bugs courtesy of nverenik

Change 3617306 by Jack.Porter

	Fix issue where undocked tabs had no way to be made visible again when hidden
	#jira UE-12044

Change 3617312 by Jack.Porter

	Find a new best MobileDirectionalLights[channel] when then current one is removed from the world (eg by a level streaming operation)
	#jira UE-47135

	#3785

Change 3617383 by Dmitriy.Dyomin

	Vk - only dynamic buffers in HostVisible on UMA devices

Change 3617437 by Dmitriy.Dyomin

	Vk - SRV allocates one BufferView for each buffer in FVulkanResourceMultiBuffer, so they can be reused (contributed by Samsung)

Change 3617474 by Dmitriy.Dyomin

	Vk - Don't use fences on image acquire on Android

Change 3617483 by Dmitriy.Dyomin

	Vk - Remove redundant dynamic state setup (viewport, scissor, stencilref) (contributed by Samsung)

Change 3617521 by Dmitriy.Dyomin

	Fix CIS warnings

Change 3617574 by Dmitriy.Dyomin

	Vk - Optimized RenderPass pool and Framebuffer pool (reduced vkObject count) (contributed by Samsung)
	ProtoStar: Framebuffer count : 133 -> 108, Renderpass count : 21 -> 18

Change 3617585 by Dmitriy.Dyomin

	compile fix for CL# 3617574

Change 3617849 by Allan.Bentham

	Log UnsatisfiedLinkError's content when loadlibrary fails.

Change 3617945 by Chris.Babcock

	Allow UPL variable expansion in addPermission, addFeature, and addLibrary
	#jira UE-47421
	#ue4
	#android

Change 3618097 by Allan.Bentham

	Fix Y axis switch with android GLES when rendering triangles to canvas.
	#jira UE-44510

Change 3618733 by Peter.Sauerbrei

	fix from Dev-Rendering for tvOS shader compilation

Change 3618761 by Peter.Sauerbrei

	fix for shader crash on startup on iOS

Change 3618769 by Peter.Sauerbrei

	bump metal shader guid to force a rebuild of shaders

Change 3620061 by Peter.Sauerbrei

	fix for resource directory on Asset catalogs
	#jira UE-49074

Change 3620520 by Peter.Sauerbrei

	remove the texture warning, the logic was incorrect and in the end we don't need the warning

	#jira UE-49057

Change 3621811 by Allan.Bentham

	Add mipindex and array slice index to framebuffer hashing code.
	#jira UE-49171

Change 3624410 by Jack.Porter

	Fix issue where the Shared Material Native Libraries checkbox causes packaging for Android to fail
	#jira UE-49105

Change 3627361 by Jack.Porter

	Fixing case on iOS files
	#jira None

Change 3627362 by Jack.Porter

	Fixed case on IOS files
	#jira None

[CL 3627373 by Jack Porter in Main branch]
2017-09-06 01:04:25 -04:00
Ben Marsh
fedc653232 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3550452 by Ben.Marsh

	UAT: Improve readability of error message when an editor commandlet fails with an error code.

Change 3551179 by Ben.Marsh

	Add methods for reading text files into an array of strings.

Change 3551260 by Ben.Marsh

	Core: Change FFileHelper routines to use enum classes for flags.

Change 3555697 by Gil.Gribb

	Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.

	#jira UE-47668

Change 3556464 by Ben.Marsh

	UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.

Change 3557630 by Ben.Marsh

	Allow the network version to be set via Build.version if it's not overriden from Version.h.

Change 3561357 by Gil.Gribb

	Fixed crashes related to loading old unversioned files in the editor.

	#jira UE-47806

Change 3565711 by Graeme.Thornton

	PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)


Change 3565864 by Robert.Manuszewski

	Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.

Change 3569022 by Ben.Marsh

	PR #3849: Update gitignore (Contributed by mhutch)


Change 3569113 by Ben.Marsh

	Fix Japanese errors not displaying correctly in the cook output log.

	#jira UE-47746

Change 3569486 by Ben.Marsh

	UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.

Change 3570483 by Graeme.Thornton

	Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors

Change 3570513 by Robert.Manuszewski

	Fix for a race condition with async loading thread enabled.

Change 3570664 by Ben.Marsh

	UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.

Change 3570708 by Robert.Manuszewski

	Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.

Change 3571592 by Ben.Marsh

	UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.

Change 3572215 by Graeme.Thornton

	UBT
	- Remove some unnecessary using directives
	- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself

Change 3572437 by Robert.Manuszewski

	Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.

	#jira UE-44996

Change 3572480 by Robert.Manuszewski

	MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long

Change 3573547 by Ben.Marsh

	Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.

Change 3574562 by Robert.Manuszewski

	PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)


Change 3575017 by Ben.Marsh

	Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.

Change 3575689 by Ben.Marsh

	Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.

Change 3575934 by Steve.Robb

	Fix for nested preprocessor definitions.

Change 3575961 by Steve.Robb

	Fix for nested zeros.

Change 3576297 by Robert.Manuszewski

	Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.

	#jira FORT-38977

Change 3576366 by Ben.Marsh

	Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.

Change 3578290 by Graeme.Thornton

	Changes to Ionic zip library to allow building on dot net core

Change 3578291 by Graeme.Thornton

	Ionic zip library binaries built for .NET Core

Change 3578354 by Graeme.Thornton

	Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string

Change 3578674 by Robert.Manuszewski

	After loading packages flush linker cache on uncooked platforms to free precache memory

Change 3579068 by Steve.Robb

	Fix for CLASS_Intrinsic getting stomped.
	Fix to EClassFlags so that they are visible in the debugger.
	Re-added mysteriously-removed comments.

Change 3579228 by Steve.Robb

	BOM removed.

Change 3579297 by Ben.Marsh

	Fix exception if a plugin lists the same module twice.

	#jira UE-48232

Change 3579898 by Robert.Manuszewski

	When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.

Change 3579983 by Robert.Manuszewski

	More fixes for freeing linker cache memory in the editor.

Change 3580012 by Graeme.Thornton

	Remove redundant copy of FileReference.cs

Change 3580408 by Ben.Marsh

	Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.

Change 3582104 by Graeme.Thornton

	Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.

Change 3582131 by Graeme.Thornton

	#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.

Change 3582645 by Ben.Marsh

	PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)

	#jira UE-48192

Change 3583955 by Robert.Manuszewski

	Support for EDL cooked packages in the editor

Change 3584035 by Graeme.Thornton

	Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.

Change 3584177 by Robert.Manuszewski

	Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)

Change 3584315 by Ben.Marsh

	Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.

Change 3584370 by Ben.Marsh

	Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.

Change 3584498 by Ben.Marsh

	Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.

Change 3585003 by Steve.Robb

	Fix for TChunkedArray ranged-for iteration.

	#jira UE-48297

Change 3585235 by Ben.Marsh

	Remove LogEngine extern from Core; use the platform log channels instead.

Change 3585942 by Ben.Marsh

	Move MessageBoxExt() implementation into application layer for platforms that require it.

Change 3587071 by Ben.Marsh

	Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.

Change 3587161 by Ben.Marsh

	Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.

Change 3587579 by Steve.Robb

	Fix for Children list not being rebuilt after hot reload.

Change 3587584 by Graeme.Thornton

	Logging improvements for pak signature check failures
	 - Added "PakCorrupt" console command which corrupts the master signature table
	 - Added some extra log information about which block failed
	 - Re-hash the master signature table and to make sure that it hasn't changed since startup
	 - Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
	 - Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again

Change 3587586 by Graeme.Thornton

	Changes to make UBT build and run on .NET Core
	 - Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
	 - VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
	 - After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects

Change 3587953 by Steve.Robb

	Allow arbitrary UENUM initializers for enumerators.
	Editor-only data UENUM support.
	Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.

	#jira UE-46274

Change 3589827 by Graeme.Thornton

	More fixes for VSCode project generation and for UBT running on .NET Core
	 - Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
	 - UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
	 - Added documentation for UEConsoleTraceListener
	 - All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
	 - Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
	 - Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff

Change 3589868 by Graeme.Thornton

	Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.

	UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases

Change 3589919 by Robert.Manuszewski

	Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)

Change 3589940 by Graeme.Thornton

	Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.

Change 3590078 by Graeme.Thornton

	Fully disable automatic assembly info generation in .NET Core projects

Change 3590534 by Robert.Manuszewski

	Marking UObject as intrinsic clas to fix a crash on UFE startup.

Change 3591498 by Gil.Gribb

	UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.

Change 3591605 by Gil.Gribb

	UE4 - Follow up to fixing several edge cases in the low level async loading code.

Change 3592577 by Graeme.Thornton

	.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates

Change 3592684 by Steve.Robb

	Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.

Change 3592710 by Steve.Robb

	Fix for invalid casts in ListProps command.
	Some name changes in command output.

Change 3592715 by Ben.Marsh

	Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.

Change 3592767 by Gil.Gribb

	UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.

Change 3592770 by Gil.Gribb

	UE4 - Fixed a race condition with async read completion in the prescence of cancels.

Change 3593090 by Steve.Robb

	Better error message when there two clashing type names are found.

Change 3593697 by Steve.Robb

	VisitTupleElements function, which calls a functor for each element in the tuple.

Change 3595206 by Ben.Marsh

	Include additional diagnostics for missing imports when a module load fails.

Change 3596140 by Graeme.Thornton

	Batch file for running MSBuild

Change 3596267 by Steve.Robb

	Thread safety fix to FPaths::GetProjectFilePath().

Change 3596271 by Robert.Manuszewski

	Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor

	#jira UE-47535

Change 3596283 by Steve.Robb

	Redundant casts removed from UHT.

Change 3596303 by Ben.Marsh

	EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.

Change 3596337 by Ben.Marsh

	UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.

Change 3596367 by Steve.Robb

	Iterator checks in ranged-for on TMap, TSet and TSparseArray.

Change 3596410 by Gil.Gribb

	UE4 - Improved some error messages on runtime failures in the EDL.

Change 3596532 by Ben.Marsh

	UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.

	#jira UE-48119

Change 3596631 by Steve.Robb

	Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.

Change 3596807 by Ben.Marsh

	Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.

	* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
	* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.

Change 3596957 by Steve.Robb

	UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
	Renaming of ObjMap to ObjSrcMap in MapFileParser.

Change 3597213 by Ben.Marsh

	Remove AutoReporter. We don't support this any more.

Change 3597558 by Ben.Marsh

	UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:

	+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")

	The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.

Change 3597982 by Ben.Marsh

	Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).

	#jira UE-47173

Change 3598045 by Ben.Marsh

	UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).

Change 3599214 by Ben.Marsh

	Avoid string duplication when comparing extensions.

Change 3600038 by Steve.Robb

	Fix for maps being modified during iteration in cache compaction.

Change 3600136 by Steve.Robb

	GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool

Change 3600214 by Steve.Robb

	More accurate error message when unsupported template parameters are provided in a TSet property.

Change 3600232 by Ben.Marsh

	UBT: Force UHT to run again if the .build.cs file for a module has changed.

	#jira UE-46119

Change 3600246 by Steve.Robb

	GitHub #3045 : allow multiple interface definition in a file

Change 3600645 by Ben.Marsh

	Convert QAGame to Include-What-You-Use.

Change 3600897 by Ben.Marsh

	Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.

Change 3601558 by Graeme.Thornton

	Simple first pass VSCode editor integration plugin

Change 3601658 by Graeme.Thornton

	Enable intellisense generation for VS Code project files and setup include paths properly

Change 3601762 by Ben.Marsh

	UBT: Add support for adaptive non-unity builds when working from a Git repository.

	The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.

	Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:

	<SourceFileWorkingSet>
	    <Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
	    <RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
	    <GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
	</SourceFileWorkingSet>

Change 3604032 by Graeme.Thornton

	First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.

Change 3604038 by Graeme.Thornton

	Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
	Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.

Change 3604106 by Steve.Robb

	GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro

Change 3604192 by Steve.Robb

	GitHub #3911 : Improving ToUpper/ToLower efficiency

Change 3604273 by Graeme.Thornton

	IWYU build fixes when malloc profiler is enabled

Change 3605457 by Ben.Marsh

	Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.

Change 3606720 by James.Hopkin

	Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.

Change 3606807 by Graeme.Thornton

	Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.

Change 3607026 by James.Hopkin

	Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed

Change 3607142 by Graeme.Thornton

	UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.

Change 3607146 by Ben.Marsh

	UGS: Fix exception due to formatting string when Perforce throws an error.

Change 3607147 by Steve.Robb

	Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
	Float and double conversion support added to int properties.
	NAME_DoubleProperty added.
	Fix for converting enum class enumerators > 255 to int properties.

Change 3607516 by Ben.Marsh

	PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)


Change 3610421 by Ben.Marsh

	UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.

Change 3610657 by Ben.Marsh

	UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.

Change 3611000 by Ben.Marsh

	UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.

Change 3612471 by Ben.Marsh

	UBT: Move FastJSON into DotNETUtilities.

Change 3613479 by Ben.Marsh

	UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.

Change 3613910 by Ben.Marsh

	UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.

Change 3614075 by Ben.Marsh

	UBT: Remove hacks for testing project file attributes by name.

Change 3614090 by Ben.Marsh

	UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.

Change 3614488 by Ben.Marsh

	UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.

Change 3614490 by Ben.Marsh

	UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.

Change 3614962 by Ben.Marsh

	UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.

Change 3615416 by Ben.Marsh

	EC: Include an icon showing the overall status of a build in the grid view.

Change 3615713 by Ben.Marsh

	UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.

	#jira UE-48987

Change 3616652 by Ben.Marsh

	Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.

	#jira UE-49007

Change 3616680 by Ben.Marsh

	Add the CodeAPI-HTML.tgz file into the installed engine build.

Change 3616767 by Ben.Marsh

	Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.

Change 3616864 by Ben.Marsh

	Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.

	#jira UE-48711

Change 3619964 by Ben.Marsh

	UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.

Change 3548930 by Ben.Marsh

	UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.

Change 3558056 by Ben.Marsh

	Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).

Change 3563309 by Graeme.Thornton

	Moved some common C# classes into the DotNETCommon assembly

Change 3570283 by Graeme.Thornton

	Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
	Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore

Change 3572811 by Ben.Marsh

	UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).

Change 3573397 by Ben.Marsh

	UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.

Change 3575659 by Ben.Marsh

	Remove CHM API documentation.

Change 3582103 by Graeme.Thornton

	Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core

	Removed reference to System.Windows.Form from UBT.

Change 3584113 by Ben.Marsh

	Move key-mapping functionality into the InputCore module.

Change 3584278 by Ben.Marsh

	Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.

Change 3584453 by Ben.Marsh

	Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.

Change 3585301 by Ben.Marsh

	Move PlatformPostInit() into an FPlatformApplicationMisc function.

Change 3587050 by Ben.Marsh

	Move IsThisApplicationForeground() into FPlatformApplicationMisc.

Change 3587059 by Ben.Marsh

	Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.

Change 3587119 by Ben.Marsh

	Move GetAbsoluteLogFilename() into FPlatformMisc.

Change 3587800 by Steve.Robb

	Fixes to container visualizers for types whose pointer type isn't simply Type*.

Change 3588393 by Ben.Marsh

	Move platform output devices into their own headers.

Change 3588868 by Ben.Marsh

	Move creation of console, error and warning output devices int PlatformApplicationMisc.

Change 3589879 by Graeme.Thornton

	All automation projects now have a reference to DotNETUtilities
	Fixed a build error in the WEX automation library

Change 3590034 by Ben.Marsh

	Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).

Change 3593754 by Steve.Robb

	Fix for tuple debugger visualization.

Change 3597208 by Ben.Marsh

	Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.

Change 3600163 by Ben.Marsh

	UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.

	#jira UE-46725

Change 3604279 by Graeme.Thornton

	Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects

Change 3606685 by James.Hopkin

	Removed redundant 'Cast's (casting to either the same type or a base).

	In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
	Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.

Change 3610950 by Ben.Marsh

	UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.

Change 3610991 by Ben.Marsh

	UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.

Change 3612342 by Ben.Marsh

	UBT: Change JsonObject.Read() to take a FileReference parameter.

Change 3612362 by Ben.Marsh

	UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.

Change 3619128 by Ben.Marsh

	Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.

[CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
Max Chen
569ae6bcb9 Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none

Change 3235667 on 2016/12/14 by Max.Preussner

	Media: Moved enums into separate header file, so they can be shared

Change 3259266 on 2017/01/16 by Max.Preussner

	Core: Added timespan ratio

Change 3267229 on 2017/01/21 by Max.Preussner

	Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed

Change 3274773 on 2017/01/27 by Max.Preussner

	Core: Added TLruCache template

Change 3281579 on 2017/02/01 by Max.Preussner

	Core: Added scalar division to FTimespan

Change 3289522 on 2017/02/07 by Max.Preussner

	MediaAssets: Added looping for play lists

Change 3290664 on 2017/02/07 by Max.Preussner

	Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.

Change 3290688 on 2017/02/07 by Max.Preussner

	MediaAssets: Notifying materials when media texture properties changed.

Change 3291171 on 2017/02/07 by Max.Preussner

	MediaAssets: Filtering unused UTexture properties

Change 3291229 on 2017/02/07 by Max.Preussner

	ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0

Change 3298520 on 2017/02/11 by Max.Preussner

	Sequencer: Fixed skylight and reflection components off by one frame in PIE

Change 3298778 on 2017/02/12 by Max.Preussner

	MediaUtils: Experimenting with dynamic pitch adjustment

Change 3298987 on 2017/02/13 by Max.Chen

	Editor: Add matrix and transform properties to property editor test object

Change 3298997 on 2017/02/13 by Max.Chen

	Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
	  - Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
	  - Added percentage unit type
	  - Multiplier unit types can now be converted between

Change 3298998 on 2017/02/13 by Max.Chen

	Editor: Conversion between multiplier (1.5x)  and percentage (150%) units is now possible

Change 3348678 on 2017/03/15 by Max.Preussner

	Media: Added Buffering media event

Change 3355268 on 2017/03/20 by Max.Preussner

	Core: TQueue documentation updates

Change 3359055 on 2017/03/22 by Max.Preussner

	Portal: Removed dependency to Messaging.h

Change 3359060 on 2017/03/22 by Max.Preussner

	Messaging: Modernization pass

	- added missing includes & forward declarations
	- include what you use
	- deprecated shared pointer typedefs
	- replaced some delegates with callback interfaces
	- documentation fixes

Change 3359189 on 2017/03/22 by Max.Preussner

	Automation: Modernization pass

	- include what you use
	- removed molothic header
	- documentation fixes

	#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory

Change 3359718 on 2017/03/22 by Max.Preussner

	Messaging: Moved common helper classes into MessagingCommon module

	#upgradenotes:  If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").

Change 3359793 on 2017/03/23 by Max.Preussner

	TargetDeviceServices: Modernization pass

	- include what you use
	- removed boilerplate header
	- deprecated selected shared pointer typedefs
	- reorganized files
	- documentation fixes

Change 3361028 on 2017/03/23 by Max.Preussner

	DeviceManager: Modernization pass

	- include what you use
	- reduced shared pointer typedef usage
	- documentation fixes

Change 3361197 on 2017/03/23 by Max.Preussner

	Messaging: Waking up message router thread on shutdown

Change 3361246 on 2017/03/23 by Max.Preussner

	AutomationWindow: Removed boilerplate header

	#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h

Change 3361428 on 2017/03/23 by Max.Preussner

	AutomationController: Removed boilerplate header

	#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.

Change 3363206 on 2017/03/24 by Max.Preussner

	ProfileLauncher: Modernization pass

	- include what you use (selected files)
	- reduced shared pointer typedef usages
	- removed dead code
	- cleaned up file organization
	- documentation fixes

Change 3363290 on 2017/03/24 by Max.Preussner

	LauncherServices: Removed boilerplate header

	#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes

Change 3363305 on 2017/03/24 by Max.Preussner

	LauncherCheck: Removed boilerplate header

	#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions

Change 3363708 on 2017/03/24 by Max.Preussner

	ImageWrapper: Removed boilerplate header

	#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes

Change 3363966 on 2017/03/24 by Max.Preussner

	ImageWrapper: Modernization pass

	- include what you use
	- reorganized internal files
	- documentation fixes

Change 3364579 on 2017/03/24 by Max.Preussner

	ImageWrapper: Deprecated shared pointer typedef and removed usages

	#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr

Change 3364582 on 2017/03/24 by Max.Preussner

	NetworkFileSystem: Removed monolithic boilerplate header

	#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes

Change 3381440 on 2017/04/05 by Max.Preussner

	Oculus: Removed illegal pragmas

Change 3391731 on 2017/04/12 by Max.Preussner

	ImgMedia: Added support for BMP, JPG and PNG image sequences

Change 3401146 on 2017/04/19 by Max.Preussner

	Core: Cleanup pass for FTimespan usages; updated documentation

	When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.

Change 3401504 on 2017/04/20 by Max.Preussner

	MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds

Change 3401833 on 2017/04/20 by Max.Preussner

	Core: Various improvements to FTimespan

	- added proper serialization
	- updated documentation
	- access fractions as milli-, micro- or nanoseconds
	- removed the following string formatters as they were not useful: %D %H %M %S %F
	- updated documentation

	#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.

	#jira UE-43990
	#jira UE-44163

Change 3437543 on 2017/05/12 by Max.Preussner

	PS4Media: Added audio error codes conversion

Change 3446564 on 2017/05/18 by Max.Preussner

	Networking: Fixed nullpointer crash if socket initialization fails

Change 3459978 on 2017/05/25 by Max.Preussner

	ImgMedia: Renamed frame cache to frame loader

Change 3463311 on 2017/05/26 by Max.Preussner

	Core: Added iterators & predicate based methods to LRU Cache

Change 3464452 on 2017/05/29 by Max.Preussner

	ImgMedia: Added video sample output

Change 3464468 on 2017/05/29 by Max.Preussner

	Media: Added separate cache visualization for loaded and cached samples

Change 3464592 on 2017/05/29 by Max.Preussner

	Core: Added TLruCache::FindAndTouch

Change 3464607 on 2017/05/29 by Max.Preussner

	Core: Added TRange::Inclusive / ::Exclusive

Change 3464608 on 2017/05/29 by Max.Preussner

	Media: Fixed incorrect upper bound in support play rates of various players

Change 3466732 on 2017/05/30 by Max.Preussner

	ImgMedia: Added image compression type to info string

Change 3466871 on 2017/05/31 by Max.Preussner

	WmfMedia: Fixed session capabilities not showing up; added initialization logging

Change 3467785 on 2017/05/31 by Max.Preussner

	MfMedia: Fixed sample stride calculated from media input instead of output


Change 3467963 on 2017/05/31 by Max.Preussner

	WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly

Change 3468110 on 2017/05/31 by Max.Preussner

	WmfMedia: Added MPEG-2 media sub types to utils

Change 3468516 on 2017/05/31 by Max.Preussner

	AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)

Change 3468554 on 2017/05/31 by Max.Preussner

	MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded

Change 3468627 on 2017/05/31 by Max.Preussner

	ImgMedia: Allowing for auto-selection of EXR decoder thread count

Change 3468648 on 2017/05/31 by Max.Preussner

	ImgMedia: Reorganized OpenExrWrapper files

Change 3471789 on 2017/06/02 by Max.Preussner

	WmfMedia: Fixed potential concurrency issue in session state management

Change 3472918 on 2017/06/03 by Max.Preussner

	Core: Allowing zero sized LRU cache; added default constructor

Change 3472919 on 2017/06/03 by Max.Preussner

	Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching

Change 3473704 on 2017/06/05 by Max.Preussner

	AndroidMedia: Added settings class

Change 3474407 on 2017/06/05 by Max.Preussner

	AndroidMedia: Implemented video sample processing

Change 3474934 on 2017/06/05 by Max.Preussner

	ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)

	#jira UE-45705

Change 3476925 on 2017/06/06 by Max.Preussner

	Media: Added return values to media view interface; documentation fixes

Change 3477158 on 2017/06/06 by Max.Preussner

	SwitchMedia: Implemented sample pooling

Change 3477201 on 2017/06/07 by Max.Preussner

	PS4Media: Implemented video sample pooling

Change 3481470 on 2017/06/08 by Max.Preussner

	Media: Fixed time stamps not set in recycled texture samples

Change 3481472 on 2017/06/08 by Max.Preussner

	MediaAssets: Fixed no video samples fetched while player is in buffering state

Change 3481473 on 2017/06/08 by Max.Preussner

	MediaUtils: Added default constructor to MediaSampleQueue

Change 3481584 on 2017/06/08 by Max.Preussner

	MediaUtils: Paused state is considered forward for sample lookup as this is the common case.

Change 3481588 on 2017/06/08 by Max.Preussner

	PS4Media: Redesigned the PS4 media player to support async file loading & track switching

Change 3481627 on 2017/06/08 by Max.Preussner

	PS4Media: Opening media sources in thread pool if not precaching

Change 3481666 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed SequencePath property file picker always opening default path

Change 3481669 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed crash when quering cache state of empty image sequence

Change 3481685 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)

	#jira UE-45719

Change 3483623 on 2017/06/10 by Max.Preussner

	Media: Added getters for 360 view settings; added support for relative view updates

Change 3483624 on 2017/06/10 by Max.Preussner

	Media: Added Blueprint support for 360 videos

Change 3483626 on 2017/06/10 by Max.Preussner

	MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.

Change 3483627 on 2017/06/10 by Max.Preussner

	Core: Using system start time instead of current time for renamed log file names

Change 3483630 on 2017/06/10 by Max.Preussner

	Core: Grouping log files by log name and processing each group separately when deleting old log files

Change 3483816 on 2017/06/10 by Max.Preussner

	WmfMedia: Detecting audio device availability to prevent lockup of audio tracks

Change 3483939 on 2017/06/11 by Max.Preussner

	AvfMedia: Finished Media Framework 3.0 upgrade

	- overhauled track switching
	- removed render thread flushes
	- reduced nesting
	- code cleanup pass

Change 3483940 on 2017/06/11 by Max.Preussner

	Media: Consistent track switching behavior across platforms

Change 3484172 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Removed obsolete asset type actions

Change 3484180 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture

Change 3484248 on 2017/06/11 by Max.Preussner

	MediaAssets: Media players now always have a playlist

Change 3484249 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Added UI controls to Playlist tab

Change 3484250 on 2017/06/11 by Max.Preussner

	Media: Implemented overlay sample caching

Change 3484252 on 2017/06/11 by Max.Preussner

	WmfMedia: Enabled support for .smi and .sami subtitle files

Change 3485433 on 2017/06/12 by Max.Preussner

	ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it

Change 3485720 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Added ability to save playlists

Change 3485828 on 2017/06/12 by Max.Preussner

	AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread

Change 3485926 on 2017/06/12 by Max.Preussner

	MediaUtils: Draining all unconsumed samples at the end of a frame

Change 3486043 on 2017/06/12 by Max.Preussner

	Media: Consistent behavior for playlist navigation (UE-45964)

	#jira UE-45964

Change 3486104 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Implemented simple overlay text positioning

Change 3486145 on 2017/06/12 by Max.Preussner

	AndroidMediaPlayer: Moved video sample handling into render thread

Change 3486147 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Moved overlay texts into separate layer

Change 3486188 on 2017/06/12 by Max.Preussner

	Media: Enabling media factory modules in Editor for all players

Change 3486223 on 2017/06/12 by Max.Preussner

	Media: Defaulting players to select first audio and video tracks by default

Change 3486473 on 2017/06/13 by Max.Preussner

	Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)

Change 3486475 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Showing busy bar when buffering or preparing

Change 3487237 on 2017/06/13 by Max.Preussner

	AndroidMedia: Fixed video sample not getting processed on render thread

Change 3487507 on 2017/06/13 by Michael.Trepka

	AvfMedia - small cleanup of the code for passing video frame rate to the video sampler

Change 3487719 on 2017/06/13 by Michael.Trepka

	Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH

Change 3487842 on 2017/06/13 by Max.Preussner

	AndroidMedia: Fixed texture swizzle disabled on non-Engine builds

Change 3488006 on 2017/06/13 by Michael.Trepka

	AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file

Change 3488308 on 2017/06/13 by Chris.Babcock

	AndroidMedia: Fixed flicker issue
	#jira UE-45736

Change 3488335 on 2017/06/13 by Max.Preussner

	MediaAssets: Made UFileMediaSource::GetFullPath public

Change 3488338 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources

Change 3488339 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Showing a throbber when buffering player

Change 3488768 on 2017/06/14 by Max.Preussner

	Core: Inlined FTimespan static functions

hange 3490203 on 2017/06/14 by Max.Preussner

	Core: Force inlined TComPtr operators

Change 3494083 on 2017/06/15 by Chris.Babcock

	AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
	#jira UE-46086

Change 3497017 on 2017/06/16 by Max.Preussner

	MediaAssets: Playlists now auto advance with PlayOnOpen off

Change 3497075 on 2017/06/17 by Chris.Babcock

	MediaPlayer Sampler node and external texture support for Android MediaPlayer
	- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
	- supports MediaSample node in material editor with scale/bias handled if above flag enabled
	- fixed looping problems, including eventual crashes
	- track switching fixed (lockups and missing video)
	- corrected resource leaks and crash switching maps
	#jira UE-46055
	#jira UE-45744
	#jira UE-46086

Change 3497163 on 2017/06/17 by Max.Preussner

	MediaUtils: Processing media events immediately if on game thread

Change 3497170 on 2017/06/17 by Max.Preussner

	Media: All Media Framework interfaces are pure virtual

Change 3498603 on 2017/06/19 by Ben.Marsh

	UBT: Prevent plugins which list modules multiple times from adding them twice.

Change 3500870 on 2017/06/20 by Max.Preussner

	WmfMedia: Rewrote WMF state machine; now with track switching

	#jira UE-20209
	#jira UE-35385
	#jira UE-38337
	#jira UE-45676

Change 3502181 on 2017/06/20 by Chris.Babcock

	MediaSampler node updates
	- fixed issue with ExternalTexture singleton for DLL compatiblity
	- now works for all players (registers texture samples with ExternalTexture by player GUID)
	- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler

Change 3503182 on 2017/06/21 by Max.Preussner

	Media: Refactored status flags into an enum; exposed connecting status

Change 3503724 on 2017/06/21 by Chris.Babcock

	Improvement in MediaPlayer Sampler node
	- RGB, R, G, B, A output pins like normal texture sampler
	- allow preview in material editor
	- fix OES detection for Android

Change 3509088 on 2017/06/26 by Max.Preussner

	MediaAssets: Added AddFile and AddUrl to UMediaPlaylist

Change 3510256 on 2017/06/26 by Max.Preussner

	WmfMedia: Fixed play rate not set to zero when end reached

Change 3510273 on 2017/06/26 by Max.Preussner

	MediaPlayerEditor: Removed obsolete Slate culling rectangle code

Change 3510413 on 2017/06/26 by Max.Preussner

	MediaPlayerEditor: Showing frame rate if available

Change 3510533 on 2017/06/26 by Max.Preussner

	MediaUtils: Preventing media cache filling up when scrubbing

Change 3510859 on 2017/06/26 by Max.Preussner

	PS4Media: Fixed track switching crashes (UE-45960)

	#jira UE-45960

Change 3514173 on 2017/06/28 by Max.Preussner

	WmfMedia: Optimized player capabilities check

Change 3514174 on 2017/06/28 by Max.Preussner

	WmfMedia: Moved media source resolver code into utility class

Change 3514714 on 2017/06/28 by Max.Preussner

	Core: Added TComPointer.IsValid; code cleanup pass

Change 3517912 on 2017/06/30 by Max.Preussner

	MediaUtils: Added GetVideoAspectRatio to player facade

Change 3524957 on 2017/07/06 by Max.Preussner

	ImgMedia: Decoding image frames only when video track is selected

Change 3525252 on 2017/07/06 by Max.Preussner

	ImgMedia: Async image sequence initialization

Change 3525266 on 2017/07/06 by Max.Preussner

	ImgMedia: Enabled reverse playback

Change 3525722 on 2017/07/06 by Max.Preussner

	WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport

Change 3525800 on 2017/07/07 by Max.Preussner

	WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.

Change 3525801 on 2017/07/07 by Max.Preussner

	MediaPlayerEditor: Made scrubbing more responsive

Change 3526500 on 2017/07/07 by Max.Preussner

	WmfMedia: Using NULL for Windows pointers

Change 3527323 on 2017/07/07 by Max.Preussner

	WmfMedia: Added support for audio and video capture media sources

Change 3530197 on 2017/07/10 by Max.Preussner

	WmfMedia: Added utility functions for enumerating audio and video capture devices

Change 3533465 on 2017/07/12 by Max.Preussner

	Media: Added media capture device support API & implementation for WMF

Change 3533469 on 2017/07/12 by Max.Preussner

	MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar

Change 3533540 on 2017/07/12 by Max.Preussner

	MediaAssets: Blueprint support for media capture device discovery

Change 3533574 on 2017/07/12 by Max.Preussner

	WmfMedia: Using cached supported play rates; more strict pausing support check

Change 3533924 on 2017/07/12 by Max.Preussner

	WmfMedia: Added global LowLatency setting (UEVR-859)

	Note that this setting is only supported when compiling for Windows 8 or newer.

Change 3534027 on 2017/07/12 by Max.Preussner

	WmfMedia: Compile time support for low latency session attribute on < Windows8

	#jira UEVR-859

Change 3538744 on 2017/07/14 by Max.Preussner

	MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource

Change 3542818 on 2017/07/18 by Max.Preussner

	WmfMedia: Fixed race condition on session shutdown

Change 3543082 on 2017/07/18 by Max.Preussner

	WmfMedia: Fixed track selection in media that doesn't support seeking

Change 3543092 on 2017/07/18 by Max.Preussner

	Media: Implemented media track format API

	Enables multiple formats per media track. By default, the first usable format is selected.
	This feature is currently only implemented for WmfMedia. All other players assume a single format per track.

Change 3543794 on 2017/07/19 by Max.Preussner

	WmfMedia: Added string conversion for null GUIDs

Change 3543796 on 2017/07/19 by Max.Preussner

	MfMedia: Copied GUID string conversion updates from WmfMedia

Change 3543797 on 2017/07/19 by Max.Preussner

	WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support

Change 3544390 on 2017/07/19 by Max.Preussner

	Media: Allowing INDEX_NONE as 'current selection' index in track format related functions

Change 3545368 on 2017/07/19 by Max.Preussner

	WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting

Change 3545388 on 2017/07/19 by Max.Preussner

	MediaAssets: Fixed RGB input sources rendered upside down

Change 3545430 on 2017/07/19 by Max.Preussner

	MediaAssets: Fixed incorrect sRGB conversion on BMP inputs

Change 3547362 on 2017/07/20 by Max.Preussner

	Core: Added IsGraph and IsPrint to TCHAR utilities

Change 3547376 on 2017/07/20 by Max.Preussner

	WmfMedia: Better log messages for non-standard video types (UE-47533)

	#jira UE-47533

Change 3547404 on 2017/07/20 by Max.Preussner

	QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)

	#jira UE-47542

Change 3547466 on 2017/07/20 by Max.Preussner

	WmfMedia: Fixed edge case for detecting whether pause is available

Change 3548742 on 2017/07/21 by Max.Preussner

	Media: Added API for changing the input frame rate

Change 3548743 on 2017/07/21 by Max.Preussner

	WmfMedia: Implemented ability to change input frame rate

Change 3554411 on 2017/07/25 by Max.Preussner

	AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property

Change 3554818 on 2017/07/25 by Max.Preussner

	Media: Added per track-type cache queries

Change 3557284 on 2017/07/26 by Max.Preussner

	WmfMedia: Added buffer size check in texture sample as well

Change 3560530 on 2017/07/27 by Max.Preussner

	WmfMedia: Made COM object destructors private and added assertions

Change 3560580 on 2017/07/27 by Max.Preussner

	MediaUtils: Added method for querying number of objects in pool

Change 3562572 on 2017/07/28 by Max.Preussner

	WmfMedia: Properly handling topology status errors when opening media

Change 3576710 on 2017/08/08 by Chris.Babcock

	bug fixes for mediaplayer
	- rare cases in Android media tracks
	- make FMediaCaptureDevice members available in blueprints

Change 3577736 on 2017/08/08 by Chris.Babcock

	Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)

Change 3578831 on 2017/08/09 by Max.Preussner

	MediaAssets: Made media sound component BP spawnable

Change 3579210 on 2017/08/09 by Max.Preussner

	UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults

Change 3579547 on 2017/08/09 by Chris.Babcock

	Better support for Android external texture detection

Change 3579567 on 2017/08/09 by Chris.Babcock

	Android camera plugin
	#jira UEMOB-215

Change 3580035 on 2017/08/10 by Andrew.Rodham

	Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
	  - Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
	  - Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
	  - Made UTexture::GetMaterialType const-correct

	#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.

Change 3581552 on 2017/08/10 by Chris.Babcock

	Use bilinear sampling instead of point for external texture (Android media and camera)

Change 3581628 on 2017/08/10 by Max.Preussner

	Core: Fixed FTimespan import/export/copypaste (UE-43990)

	#jira UE-43990
	#jira UE-44163

Change 3581909 on 2017/08/11 by Andrew.Rodham

	Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
	  - This prevents destroyed proxies from remaining in the texture registry

	#jira UE-48307

Change 3582451 on 2017/08/11 by Max.Preussner

	AudioMixer: Fixed initialization order of synth components

	This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.

	#jira UE-48055

Change 3582453 on 2017/08/11 by Max.Preussner

	MediaAssets: Enabling ticking in media sound component (UE-48055)

	#jira UE-48055

Change 3583101 on 2017/08/11 by Chris.Babcock

	Android camera improvements
	- return correct capture device type (webcamfront/rear)
	- remove seek (not supported)
	- support track formats
	- better framerate selection

Change 3590109 on 2017/08/16 by Chris.Babcock

	Move external texture coordinate update to improve accuracy and save a uniform in final shader

Change 3590530 on 2017/08/16 by Max.Preussner

	MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks

	#jira UE-48166

Change 3590547 on 2017/08/16 by Max.Preussner

	MediaPlayerEditor: Ticking sound component directly

Change 3590628 on 2017/08/16 by Max.Preussner

	Switch: Fixed media decoder asserting when attempting to pause without having started

Change 3591816 on 2017/08/16 by Aaron.McLeran

	#jira UE-48470 Disabling async processing for procedural sound waves on mac.

Change 3592266 on 2017/08/16 by Max.Preussner

	Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia

	This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.

	#jira UE-48474
	#jira UE-45677

Change 3592355 on 2017/08/17 by Max.Preussner

	MediaUtils: Added sample sink collection to remove code duplication

Change 3592739 on 2017/08/17 by Max.Preussner

	ImgMedia: Fetching only one video sample per frame

Change 3592741 on 2017/08/17 by Max.Preussner

	MediaUtils: Better sample fetching when paused

Change 3592761 on 2017/08/17 by Max.Preussner

	MediaUtils: Fixed overflow detection in sample sinks

Change 3592762 on 2017/08/17 by Max.Preussner

	ImgMedia: Sending end reached event when looping

Change 3592885 on 2017/08/17 by Max.Preussner

	ImgMedia: Fixed reverse play

Change 3592887 on 2017/08/17 by Max.Preussner

	MediaUtils: Better sample range calculation for audio samples

Change 3593010 on 2017/08/17 by Max.Preussner

	ImgMedia: Fixed async loading of non-EXR image sequences

Change 3593193 on 2017/08/17 by Max.Preussner

	AndroidMedia: Fixed typo

Change 3593230 on 2017/08/17 by Max.Preussner

	Media: Implemented flushing for player sample queues

Change 3593346 on 2017/08/17 by Max.Preussner

	Media: Proper sample processing for reverse playback

Change 3593482 on 2017/08/17 by Max.Preussner

	Switch: Fixed sample range check for reverse playback

Change 3594428 on 2017/08/17 by Max.Preussner

	PS4Media: Fixed video not playing/crashing

	#jira UE-48547
	#jira UE-48549

Change 3595404 on 2017/08/17 by Max.Preussner

	MediaAssets: Not requesting audio samples if not playing

	#jira UE-48557

Change 3595624 on 2017/08/17 by Max.Preussner

	PS4Media: Fixed no looping after track switching

	#jira UE-46524
	#jira UE-48557

Change 3595704 on 2017/08/17 by Max.Preussner

	MediaUtils: Improved sample queue flushing

	Eventually this needs to be event-driven.

	#jira UE-48557

Change 3595706 on 2017/08/17 by Max.Preussner

	PS4Media: Flushing queues when track switching

	#jira UE-48557

Change 3595909 on 2017/08/17 by Max.Preussner

	Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)

	https://github.com/EpicGames/UnrealEngine/pull/3382

	#jira UE-42906
	#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)

Change 3597480 on 2017/08/18 by Max.Preussner

	ImgMediaPlayer: Fixed presentation time calculation for very large delta times

Change 3597669 on 2017/08/18 by Max.Preussner

	ImgMedia: Setting player stopped instead of paused when end reached

Change 3597709 on 2017/08/18 by Max.Preussner

	SwitchMedia: Fixed audio sample duration calculation

Change 3598479 on 2017/08/18 by Max.Preussner

	ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging

Change 3598629 on 2017/08/18 by Max.Preussner

	MediaUtils: Properly handling pending flushes when peeking sample queues

Change 3598633 on 2017/08/18 by Max.Preussner

	WmfMedia: Fixed occasional WMF deadlock when scrubbing

Change 3598653 on 2017/08/18 by Max.Preussner

	MediaUtils: Fixed audio resampling in reverse playback

Change 3598659 on 2017/08/18 by Max.Preussner

	MediaPlayerEditor: Creating sound output only if audio device available

Change 3598688 on 2017/08/18 by Max.Preussner

	MediaUtils: Flushing sample queues on direction change regardless of paused state

Change 3599444 on 2017/08/20 by Max.Preussner

	WmfMedia: Added missing check for rate control when quering supported rates

Change 3603661 on 2017/08/22 by Max.Preussner

	WmfMedia: Fixed NV12 output

Change 3604345 on 2017/08/23 by Max.Preussner

	MediaUtils: Added subtitle samples to media sample collection; fixed documentation

Change 3604987 on 2017/08/23 by Max.Preussner

	PS4Media: Setting correct track format types

Change 3605117 on 2017/08/23 by Joe.Barnes

	Fix issue where presentation time was being treated as milliseconds instead of microseconds.

Change 3605128 on 2017/08/23 by Joe.Barnes

	Fix potential issue calculating total (looped) play time after seek or reset.
	Track last video presentation time

Change 3605139 on 2017/08/23 by Joe.Barnes

	Support audio type DType_Setup.
	Fix issue with procedural sounds popping. Consume more samples if necessary.

	#jira ue-48544

Change 3605197 on 2017/08/23 by Max.Preussner

	Media: Fixed track display name formatting (UE-48767)

	#jira UE-48767

Change 3605817 on 2017/08/23 by Max.Chen

	Auto set sampler type on drop on actor.

	#jira UE-48769

Change 3605999 on 2017/08/23 by Max.Preussner

	MfMedia: Restarting source reader when switching tracks

	#jira UE-48766

Change 3606416 on 2017/08/23 by Max.Preussner

	PS4Media: Various player improvements

	#jira UE-48586

Change 3607656 on 2017/08/24 by Max.Preussner

	WmfMedia: Improved logging for Seek and SetRate

Change 3607855 on 2017/08/24 by Max.Preussner

	MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\

	#jira UE-48766

Change 3608029 on 2017/08/24 by Max.Preussner

	PS4Media: Fixed streaming media not playing; improved result checks & logging

	#jira UE-48610

Change 3608473 on 2017/08/24 by Max.Preussner

	MfMedia: Fixed audio sample duration calculation

	#jira UE-48756

Change 3609316 on 2017/08/24 by Chris.Babcock

	Provide external texture RotationScale and Offset from sample

Change 3610067 on 2017/08/25 by Richard.Wallis

	Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.

	- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
	- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
	- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track.  Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.

	#jira UE-48590, UE-48604

Change 3610267 on 2017/08/25 by Max.Preussner

	PS4Media: Added missing track selection validation

	#jira UE-48765

Change 3610399 on 2017/08/25 by Max.Preussner

	PS4Media: Fixed infinite player re-initialization loop if track selection failed

Change 3610809 on 2017/08/25 by Chris.Babcock

	Fixes for Android media player and camera player
	- buffer samples copy proper bytecount
	- realloc sets new buffer ptr
	- refcount of Java buffers fixed

Change 3610953 on 2017/08/25 by Chris.Babcock

	Fix audio disable before play on Android media player

Change 3611405 on 2017/08/25 by Max.Preussner

	WmfMedia: Resetting supported rates if RateSupport unavailable

Change 3611406 on 2017/08/25 by Max.Preussner

	MfMedia: Resetting supported rates if RateSupport unavailable

Change 3611453 on 2017/08/25 by Chris.Babcock

	Android external texture extension updates for compatibility

Change 3611719 on 2017/08/26 by Max.Preussner

	Media: Added media event for completed seek operations; flushing sinks on seek

Change 3611764 on 2017/08/26 by Max.Preussner

	AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously

Change 3611802 on 2017/08/26 by Max.Preussner

	Media: Exposed error state in media player

Change 3611803 on 2017/08/26 by Max.Preussner

	MediaPlayerEditor: Showing error state in UI

Change 3611887 on 2017/08/26 by Max.Preussner

	MediaUtils: Corrected media sample sink overflow check

Change 3611892 on 2017/08/27 by Max.Preussner

	WmfMedia: Leaving session in error state after error

Change 3611929 on 2017/08/27 by Max.Preussner

	MediaPlayerEditor: Fixed sound stopping on looping

Change 3611930 on 2017/08/27 by Max.Preussner

	MfMedia: Rewrote async sample processing to fix various playback issues

Change 3611942 on 2017/08/27 by Max.Preussner

	Media: Sending suspension event when playback ended

Change 3611957 on 2017/08/27 by Max.Preussner

	UnrealEd: Allowed transient assets to be resaved to disk

Change 3611981 on 2017/08/27 by Max.Preussner

	PS4Media: Rewrote sample processing to fix various playback issues

	#jira UE-48596
	#jira UE-48793

Change 3612035 on 2017/08/27 by Max.Preussner

	UnrealEd: Picking standard default names when resaving transient packages

Change 3612045 on 2017/08/27 by Max.Preussner

	Media: Fixed playlists not getting saved correctly from Editor (UE-35382)

	#jira UE-35382

Change 3612212 on 2017/08/28 by Richard.Wallis

	Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off.  Current Rate was not getting reset back to 0.0 on media close.

	#jira UE-47602

Change 3613531 on 2017/08/28 by Max.Preussner

	MediaAssets: Fixed external texture related crash on shutdown (UE-48918)

	Also no longer creating clock sink for media player CDO

	#jira UE-48918

Change 3613677 on 2017/08/28 by Andrew.Porter

	Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object

	#jira UE-48937

Change 3615917 on 2017/08/29 by Max.Preussner

	MfMedia: Added compile options for DXVA and falling back to synchronous sample reading

[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
Chris Babcock
dc647b9547 Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 3600060)
#rb none
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3292215 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: wasm and wbegl2 support

	- emscripten toolchain

	#jira UEPLAT-1437  Switch [to] web assembly
	#rb none

Change 3293994 on 2017/02/09 by Nick.Shin

	HTML5 emscripten: wasm and webgl2 support

	- OSX toolchain

	#jira UEPLAT-1437  Switch [to] web assembly
	#rb none

Change 3317951 on 2017/02/22 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- emscripten toolchain

	WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5
	#rb none

Change 3318669 on 2017/02/23 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- OSX toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5
	#rb none

Change 3462146 on 2017/05/26 by Nick.Shin

	HTML5 - merge from Release-4.16 to Dev-Mobile

	#jira none
	#rb none
	#rnx

Change 3504996 on 2017/06/22 by Cosmin.Sulea

	UEMOB-362 - Add per-texture and per-format compression quality override settings
	#rb Dmitriy.Dyomin
	#jira UEMOB-362
	#codereview Dmitriy.Dyomin
	#codereview Jack.Porter

Change 3505056 on 2017/06/22 by Cosmin.Sulea

	Back out changelist 3504996 - due to errors generated in xboxOne, PS4 and Switch versions
	#rb none

Change 3508049 on 2017/06/23 by Nick.Shin

	HTML5 toolchain notes corrections

	#jira none
	#rb none
	#rnx

Change 3508663 on 2017/06/24 by Nick.Shin

	HTML5LaunchHelper.exe on linux - redo

	- it seems that i need to also check-in the exe and pdb file instead of having CIS make and checking-in them itself...
	- modified c# program to output a version number to help track which version of HTML5LaunchHelper is running...

	#jira UE-45302  HTML5LaunchHelper.exe hosts the files in the current working directory on Linux
	#rnx
	#rb none

Change 3509210 on 2017/06/26 by Dmitriy.Dyomin

	 ExposureScale will be applied during tonemap pass when MobileHDR is on
	#rb jack.porter
	#codereview Allan.Bentham

Change 3511058 on 2017/06/27 by Cosmin.Sulea

	UEMOB-362 - Add per-texture and per-format compression quality override settings - resubmitted
	#rb Dmitriy.Dyomin
	#jira UEMOB-362
	#codereview Dmitriy.Dyomin

Change 3511069 on 2017/06/27 by Jack.Porter

	PS4, XboxOne and Switch fixes for changes to ITextureFormat interface
	#rb Dmitriy.Dyomin
	#jira UEMOB-362

Change 3513028 on 2017/06/28 by Jack.Porter

	Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
	#rb None

Change 3517409 on 2017/06/30 by Jack.Porter

	Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
	#rb None

Change 3517730 on 2017/06/30 by Cosmin.Sulea

	UEMOB-328 - Improve handling of iOS signing key on remote Mac system keychain when using remote toolchain
	#rb Jack.Porter
	#jira UEMOB-328
	#codereview: peter.sauerbrei

Change 3517757 on 2017/06/30 by Cosmin.Sulea

	UE-46245 - Building with remote toolchain does not use Project Setting for iOS signing identity which can cause signing errors
	#rb Jack.Porter
	#jira UE-46245
	#codereview: peter.sauerbrei

Change 3518149 on 2017/06/30 by Adrian.Chelu

	UE-43035 Tilt axis for X and Z are not consistent between Android and iOS devices
	#rb Jack.Porter
	#jira UE-46245
	#codereview: Chris Babcock <chris.babcock@epicgames.com>

Change 3524242 on 2017/07/06 by Nick.Shin

	HTML5 - refraction shader

	note: this CL also contains fixes to webgl2 [float4 vs half2] and a [% vs Mod()] material custom function changes to some TM-ShaderModels shaders
	specifically: fixes to and similar with: DitherTemporalAA

	#jria UE-46434  No Refraction in QA Game TM-Shadermodels HTML5
	#rb none
	#rn
	#codereview jack.porter dmitriy.dyomin

Change 3535295 on 2017/07/13 by Allan.Bentham

	#jira UEMOB-390
	Add Android cpu stats.
	add 'stat AndroidCPU' to android's console spinner UI.
	increase GetCPUState's core count support to 16.
	#jira UE-45888
	Use cvar value to limit android cpu stat update rate.
	#rb none

Change 3535306 on 2017/07/13 by Allan.Bentham

	Add missing pragma once
	#rb none

Change 3537047 on 2017/07/13 by Ben.Marsh

	Fixing case of iOS directories, pt1

	#rb none

Change 3537051 on 2017/07/13 by Ben.Marsh

	Fixing case of iOS directories, pt2

	#rb none

Change 3537373 on 2017/07/14 by Allan.Bentham

	Add scope level android egl error verification.
	work around minor issue with invalid egl config property.
	#rb chris.babcock

Change 3541735 on 2017/07/18 by Allan.Bentham

	Add 'sustained performance mode' support for API 24+ devices.
	#jira UEMOB-386
	#rb chris.babcock

Change 3543001 on 2017/07/18 by Sorin.Gradinaru

	#jira UE-45766 Improved Virtual Keyboard cannot receive non-English characters.

	- for Android, add an native EditBox above the virtual keyboard to receive the text and pass it to the object from the slate

	#rb Chris.Babcock

Change 3554399 on 2017/07/25 by Nick.Shin

	STATS disabled for non multi-threaded platforms

	#jira UE-47485  ( Pri:1 - 4.18 )  Crash running Stat Command test in TM-Core on Firefox
	#rnx
	#rb none

Change 3554402 on 2017/07/25 by Nick.Shin

	STATS TaskGraph disabled for non multi-threaded platforms

	#jira UE-47486  ( Pri:1 - 4.18 )  QAGame hard locks on Firefox when triggering Task Graph Benchmark test
	#rb none
	#rnx

Change 3556957 on 2017/07/26 by Nick.Shin

	HTML5 - WASM enabled by default - part 1 -- commenting out asmjs stuff

	begin sunsetting ASM.JS

	note to self: CL#3462146 "backout" asmjs

	#jira UEMOB-416  WASM enabled by default
	#rnx
	#rb none

Change 3557654 on 2017/07/26 by Nick.Shin

	HTML5 - WASM enabled by default - part 2 -- remove asmjs code

	sunsetting ASM.JS

	note to self: CL#3462146 "backout" asmjs

	#jira UEMOB-416  WASM enabled by default
	#rn
	#rb none

Change 3557910 on 2017/07/27 by Jack.Porter

	Support Client configuration when packaging in the editor
	#jira UE-39973
	#rb Dmitriy.Dyomin

Change 3557917 on 2017/07/27 by Jack.Porter

	Missing file from CL 3557910
	#rb trivial

Change 3559642 on 2017/07/27 by Nick.Shin

	STATS TaskGraph disabled for non multi-threaded platforms

	- both "LockFree stress test" and "task graph benchmark" are disabled - no multi-threading for WASM exist yet (note: ASM.JS has been sunsetted)

	- stat command crash "fixed" - but, font size are totally broken - i can look at this (much) later...

	- new bug: physx will crash on "gc and level load stress test" -- please bug this as a new jira

	#jira UE-47486  ( Pri:1 - 4.18 )  QAGame hard locks on Firefox when triggering Task Graph Benchmark test
	#rb none
	#rnx

Change 3565656 on 2017/07/31 by Dmitriy.Dyomin

	Added a way to lock level position in Word Composition
	#jira UE-47713
	#rb none

Change 3565757 on 2017/08/01 by Dmitriy.Dyomin

	compile fix
	#rb none

Change 3567446 on 2017/08/01 by Chris.Babcock

	Allow addElement and addElements to only insert once with once="true" attribute in UPL
	#jira UE-47951
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3567592 on 2017/08/01 by Chris.Babcock

	Use absolute path for repositories for Gradle
	#jira UE-47952
	#ue4
	#android
	#rb Tim.Lincoln

Change 3568690 on 2017/08/02 by Chris.Babcock

	Removed warnings for once attribute in UPL
	#ue4
	#android
	#rb none

Change 3569975 on 2017/08/02 by Chris.Babcock

	Add <baseBuildGradleAdditions> to UPL to allow additions to the root-level build.gradle
	#jira UE-47995
	#ue4
	#android
	#rb Tim.Lincoln

Change 3570117 on 2017/08/02 by Chris.Babcock

	Add <setBoolFromPropertyContains> to UPL
	- sets bool to true if string list in ini matches contains attribute
	#jira UE-47996
	#ue4
	#android
	#rb Jack.Porter

Change 3571552 on 2017/08/03 by Chris.Babcock

	Removed unneeded settings.gradle file (generated)
	#jira UE-48041
	#ue4
	#android
	#rb none

Change 3572224 on 2017/08/04 by Dmitriy.Dyomin

	Better selection tracking in world composition
	#rb none

Change 3573662 on 2017/08/04 by Nick.Shin

	HTML5 remove PreLoadMap "feature" (was only available/used with HTML5)

	- asyncronous loads are not allowed during UEngine::LoadMap()
	- the files/code will be repurposed for pakfile CHUNK support

	#jira UEMOB-425  HTML5 streaming content investigation (part 1 of 2)
	#rn
	#rb none

Change 3574471 on 2017/08/07 by Dmitriy.Dyomin

	Export ULevelStreamingKismet::LoadLevelInstance function
	#rb none

Change 3576262 on 2017/08/08 by Dmitriy.Dyomin

	Fixed: widget clipping issues in world composition
	#rb none

Change 3576845 on 2017/08/08 by Nick.Shin

	set HTML5LaunchHelper application's icon to UE4.ico

	#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
	#rb none
	#rnx

Change 3578313 on 2017/08/09 by Dmitriy.Dyomin

	Added: an RHI call to invalidate/clear cached state, RHIInvalidateCachedState
	#jira UEMOB-435
	#rb jack.porter

Change 3578364 on 2017/08/09 by Dmitriy.Dyomin

	Vertex Fog is disabled on mobile by default. If scene uses vertex fog - Mobile preview and device will show on screen message: PROJECT HAS VERTEX FOG ON MOBILE DISABLED
	This saves about 90 instructions in VS and a few in PS
	#jira UEMOB-166
	#rb jack.porter

Change 3578703 on 2017/08/09 by Nick.Shin

	set HTML5LaunchHelper application's icon to UE4.ico

	forgot to check in exe and pdb file

	#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
	#rb none
	#rnx

Change 3578961 on 2017/08/09 by Peter.Sauerbrei

	deprecate IOS 8 as the minimum OS supported.
	#jira UEMOB-429
	#rb chris.babcock

Change 3579319 on 2017/08/09 by Peter.Sauerbrei

	fixes for compile errors with Xcode 9 beta 4
	#rb none

Change 3579356 on 2017/08/09 by Peter.Sauerbrei

	modified minimum IOS to build with
	#rb chris.babcock

Change 3579687 on 2017/08/09 by Chris.Babcock

	Fix GoogleVR Gradle packaging
	#jira UE-48239
	#ue4
	#android
	#rb none

Change 3579921 on 2017/08/10 by Dmitriy.Dyomin

	GitHub 3670 : More zoom levels for World Composition (300)
	#contributedby: user37337
	#jira UE-45977
	#3670
	#rb none

Change 3580576 on 2017/08/10 by Peter.Sauerbrei

	detection of iPad Pro 10.5 and IPad Pro 12.9 (2nd Gen)
	#rb chris.babcock

Change 3580611 on 2017/08/10 by Chris.Babcock

	Set online provider back to GooglePlay and remove forcing IAP permission (contributed by umerov1999)
	#jira UE-48185
	#PR #3876
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3582166 on 2017/08/11 by Nick.Shin

	nuke PLATFORM_HTML5_WIN32


	PLATFORM_HTML5_WIN32 code removal tested successfully with (force rebuild and repackaging):

	* Win64 server (WindowsServer)
	* Win64 client (WindowsNoEditor)
	* HTML5 client

	all playing together via websocket net driver (i've attached a screen shot of this in jira)


	code changes touches: physics, audio and main build files


	#jira UEMOB-433  Remove Win32 SDL "HTML5 Simulator" code
	#rb ben.marsh
	#rnx
	#codereview josh.adams
	#fyi ori.cohen, aaron.mclera

Change 3582474 on 2017/08/11 by Chris.Babcock

	Don't use V2 signing for Gear VR APKs
	#jira UE-48354
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3582614 on 2017/08/11 by Chris.Babcock

	Filter out unneeded architectures from APK for Gradle builds
	#jira UE-48355
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3582923 on 2017/08/11 by Nick.Shin

	backport release 4.17 to dev-mobile

	#jira none
	#rb none
	#rnx

Change 3582924 on 2017/08/11 by Nick.Shin

	FNetworkFileServerHttp - error gracefully when port is already in use

	#jira UE-46409  [CrashReport] Assertion on Mac: Could not create a libwebsocket - FNetworkFileServerHttp::Init()
	#rnx
	#rb none

Change 3582925 on 2017/08/11 by Nick.Shin

	HTML5 - turn off pak file compression in favor of gzip packages

	#jira UE-46729  HTML5 - on shipping builds - turn off pak file compression in favor of gzip packages
	#rn
	#rb none

Change 3583943 on 2017/08/14 by Cosmin.Sulea

	UEMOB-363 - second iteration - Project wide texture quality control by texture group
	#rb Dmitriy Dyomin
	#jira UEMOB-363

Change 3583967 on 2017/08/14 by Cosmin.Sulea

	Back out changelist 3583943
	#rb none

Change 3584121 on 2017/08/14 by Peter.Sauerbrei

	fix for mac compile failure
	#rb none

Change 3587877 on 2017/08/15 by Peter.Sauerbrei

	josh's suggested fix is not working for Xcode 8.3, so brute forcing for now
	#rb none

Change 3588612 on 2017/08/15 by Peter.Sauerbrei

	Xcode 9 project compatbility updates
	#rb chris.babcock
	#codereview michael.trepka

Change 3589223 on 2017/08/15 by Dmitriy.Dyomin

	Fixed: bNavigationAutoUpdateEnabled was not always working when reopeinig the map
	Fixed: Navigation Build was not clearing some mesh tiles when bNavigationAutoUpdateEnabled is enabled
	Fixed: Streaming out a level in editor was not always updating NavMesh debug draw
	#rb lukasz.furman

Change 3589900 on 2017/08/16 by Dmitriy.Dyomin

	Support vulkan validation layers on Android, only in Debug and Development configuration (requires r.Vulkan.EnableValidation=1)
	#codereview chris.babcock, rolando.caloca
	#rb none

Change 3590592 on 2017/08/16 by Nick.Shin

	HTML5 emscripten 1.37.19 OSX

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 OSX

Change 3590597 on 2017/08/16 by Nick.Shin

	HTML5 emscripten 1.37.19 Linux

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 Linux

Change 3590624 on 2017/08/16 by Nick.Shin

	HTML5 emscripten 1.37.19 toolchain

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 toolchain

Change 3591720 on 2017/08/16 by Chris.Babcock

	Enable Gradle by default and add button to accept Android SDK license to project settings
	#jira UE-48519
	#ue4
	#android
	#rb Tim.Lincoln
	#fyi Peter.Sauerbrei

Change 3591998 on 2017/08/16 by Chris.Babcock

	Fix nonunity build
	#ue4
	#android
	#rb none

Change 3592407 on 2017/08/17 by Nick.Shin

	HTML5 emscripten 1.37.19 Win64

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 Win64

Change 3592479 on 2017/08/17 by Nick.Shin

	HTML5 3rd Party Libs - compiled with emscripten 1.37.19

	#jira UE-47813
	#rb none
	#rn HTML5 3rd Party Libs - compiled with emscripten 1.37.19 toolchain

Change 3592480 on 2017/08/17 by Nick.Shin

	HTML5 emscripten 1.37.19 toolchain Epic edits

	as well as setting UE4 HTML c# scripts to use new toolchain

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 toolchain Epic edits

Change 3592481 on 2017/08/17 by Nick.Shin

	HTML5 remove old emscripten toolchain

	#jira UE-47813
	#rb none
	#rn HTML5 remove old emscripten toolchain

Change 3592485 on 2017/08/17 by Nick.Shin

	HTML5 undo CanUseXGE - this might be breaking CIS for HTML5 builds...

	#jira UE-47813
	#rb none
	#rnx

Change 3592549 on 2017/08/17 by Dmitriy.Dyomin

	Added GetDiskTotalAndFreeSpace for IOS and Android
	#jira UE-46479
	#codereview chris.babcock, peter.sauerbrei
	#rb none

Change 3594045 on 2017/08/17 by Peter.Sauerbrei

	comment about potential failure case in the remote tool chain
	#rb none

Change 3594342 on 2017/08/17 by Peter.Sauerbrei

	Merging

	//UE4/Main/...

	to //UE4/Dev-Mobile/...

	#rb none

Change 3594920 on 2017/08/17 by Peter.Sauerbrei

	fix for non-unity builds (accidentally merged something incorrectly)
	#rb none

Change 3595347 on 2017/08/17 by Chris.Babcock

	merge fixes for Android
	#ue4
	#android
	#rb Peter.Sauerbrei
	#lockdown Peter.Sauerbrei

Change 3595752 on 2017/08/17 by Chris.Babcock

	Update Facebook plugin to support Gradle
	#jira UE-48569
	#ue4
	#android
	#fyi Josh.Markiewicz
	#rb none
	#lockdown Peter.Sauerbrei

Change 3595849 on 2017/08/17 by Chris.Babcock

	Fix issue with libovrplatformloader.so for non armv7 targets
	#jira UE-48533
	#ue4
	#android
	#rb none
	#lockdown Peter.Sauerbrei

Change 3596419 on 2017/08/18 by Peter.Sauerbrei

	fix for Mac Editor build failure
	#rb none

Change 3597023 on 2017/08/18 by Peter.Sauerbrei

	fix for game editor build failure
	#rb none

Change 3597032 on 2017/08/18 by Peter.Sauerbrei

	fix for app bundle id in Info-Editor.plist
	#rb none

Change 3597034 on 2017/08/18 by Peter.Sauerbrei

	put back the info.plist, found the real problem
	#rb none

Change 3597197 on 2017/08/18 by Peter.Sauerbrei

	pull Info.plist from the build products
	#rb none

[CL 3600450 by Chris Babcock in Main branch]
2017-08-21 15:05:19 -04:00
Ben Marsh
f461ea68e9 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden

============================
  MAJOR FEATURES & CHANGES
============================

Change 3494741 by Steve.Robb

	Generated code size savings.

	#jira UE-43048

Change 3495484 by Steve.Robb

	Fix for generated indices of static arrays when saving configs.

Change 3497926 by Robert.Manuszewski

	Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.

Change 3498077 by Robert.Manuszewski

	Only use the recursion guard in async loading code when the event driven loader is enabled.

Change 3498112 by Ben.Marsh

	UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.

Change 3500239 by Robert.Manuszewski

	Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.

Change 3500395 by Steve.Robb

	Extra codegen savings when not in hot reload.

Change 3501004 by Steve.Robb

	EObjectFlags now have constexpr operators.

Change 3502079 by Ben.Marsh

	UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.

Change 3502527 by Steve.Robb

	Fix for zero-sized array compile error in generated code when all functions are editor-only.

Change 3502542 by Ben.Marsh

	UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.

Change 3502868 by Steve.Robb

	Workaround for inefficient generated code with stateless lambdas on Clang.

Change 3503550 by Steve.Robb

	Another generated code lambda optimization.

Change 3503582 by Ben.Marsh

	BuildGraph: Add support for nullable parameter types.

Change 3504424 by Steve.Robb

	New AllOf, AnyOf and NoneOf algorithms.

Change 3504712 by Ben.Marsh

	UAT: Less spammy log and error output from UAT.

	* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
	* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
	* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
	* Name of the calling function is not included in console output by default, but still included in the log.

Change 3504808 by Ben.Marsh

	UAT: Suppress P4 output when running a recursive instance of UAT.

Change 3505044 by Steve.Robb

	Code generation improved for TCppClassType code.

Change 3505485 by Ben.Marsh

	Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.

Change 3505699 by Ben.Marsh

	Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.

Change 3506055 by Ben.Marsh

	UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.

Change 3507745 by Robert.Manuszewski

	Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).

Change 3507911 by Ben.Marsh

	Plugins: Minor changes to plugin descriptors.

	* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
	* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.

Change 3508669 by Ben.Marsh

	EC: Parse multi-line messages from UBT and UAT.

Change 3508691 by Ben.Marsh

	Fix double-spacing of cook stats.

Change 3509245 by Steve.Robb

	UHT makefiles removed.
	Flag audit removed.

Change 3509275 by Steve.Robb

	Fix for mismatched stat categories in AudioMixer.

	#jira UE-46129

Change 3509289 by Robert.Manuszewski

	Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.

Change 3509294 by Robert.Manuszewski

	UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.

Change 3509312 by Steve.Robb

	GitHub# 3679: Add TArray constructor that takes a raw pointer and a count

	Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.

	#jira UE-46136

Change 3509396 by Steve.Robb

	GitHub# 3676: Fix TUnion operator<< compile error

	#jira UE-46099

Change 3509633 by Steve.Robb

	Fix for line numbers on multiline macros.

Change 3509938 by Gil.Gribb

	UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.

Change 3510593 by Daniel.Lamb

	Fixed up unsoilicited files getting populated with files which aren't finished being created yet.

	#test None

Change 3510594 by Daniel.Lamb

	Fixed up temp files directory for patching.

	Thanks David Yerkess @ Milestone
	#review@Ben.Marsh

Change 3511628 by Ben.Marsh

	PR #3707: Fixed UBT stack size (Contributed by gildor2)


Change 3511808 by Ben.Marsh

	Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)

	#jira UE-46540

Change 3512017 by Ben.Marsh

	Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.

Change 3513935 by Steve.Robb

	Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.

Change 3514142 by Steve.Robb

	MemoryProfiler2 added to generated solution.

Change 3516463 by Ben.Marsh

	Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.

Change 3517860 by Ben.Marsh

	PR #3727: FString Dereference Fixes (Contributed by jovisgCL)


Change 3517967 by Ben.Marsh

	Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.

Change 3518070 by Steve.Robb

	Disable Binned2 stats in shipping non-editor builds.

Change 3520079 by Steve.Robb

	Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.

	#jira UE-24034

Change 3520080 by Robert.Manuszewski

	Made max package summary size to be configurable with ini setting

Change 3520083 by Steve.Robb

	Force a GC after hot reload to clean up reinstanced objects which may still tick.

	#jira UE-40421

Change 3520480 by Robert.Manuszewski

	Improved assert message when the initial package read request was too small.

Change 3520590 by Graeme.Thornton

	SignedArchiveReader optimizations
	 - Loads more stats
	 - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
	 - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
	 - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries

Change 3521023 by Graeme.Thornton

	Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing

Change 3521787 by Ben.Marsh

	PR #3736: Small static code analysis fixes (Contributed by jovisgCL)


Change 3521789 by Ben.Marsh

	PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)


Change 3524721 by Ben.Marsh

	Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.

Change 3524741 by Ben.Marsh

	Move PumpMessages() into FPlatformApplicationMisc.

Change 3525399 by Ben.Marsh

	UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.

Change 3525743 by Ben.Marsh

	UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.

Change 3525746 by Ben.Marsh

	EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.

Change 3526453 by Ben.Marsh

	UGS: Do not generate project files when syncing precompiled binaries.

Change 3527045 by Ben.Marsh

	Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.

Change 3527420 by Ben.Marsh

	UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).

	Config files are now read from:

	Engine/Programs/UnrealGameSync/UnrealGameSync.ini
	Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini

	If a project is selected:

	<ProjectDir>/Build/UnrealGameSync.ini
	<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini

	If the .uprojectdirs file is selected:

	Engine/Programs/UnrealGameSync/DefaultProject.ini
	Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini

Change 3528063 by Ben.Marsh

	Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.

Change 3528415 by Ben.Marsh

	UAT: Remove \r characters from the end of multiline log messages.

Change 3528427 by Ben.Marsh

	EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.

Change 3528485 by Ben.Marsh

	EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.

Change 3528505 by Steve.Robb

	PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)


	#jira UE-46819

Change 3528772 by Robert.Manuszewski

	Enabling actor and blueprint clustering in ShooterGame

Change 3528786 by Robert.Manuszewski

	PR #3760: Fix typo (Contributed by jesseyeh)


Change 3528792 by Steve.Robb

	PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)


	#jira UE-46962

Change 3528941 by Robert.Manuszewski

	Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.

	#jira UE-44996

Change 3530241 by Ben.Marsh

	UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.

Change 3531377 by Ben.Marsh

	Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.

	This has several advantages over the per-module platform whitelist/blacklist:

	* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
	* References to dependent plugins from platform-specific plugins can now be eliminated.
	* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
	* The editor can load any plugins without having to whitelist supported editor host platforms.

	UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.

	Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.

Change 3531502 by Jin.Zhang

	Add support for GPUCrash #rb

Change 3531664 by Ben.Marsh

	UBT: Change output format from C# JSON writer to match output by the engine.

Change 3531848 by Ben.Marsh

	UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.

Change 3531869 by Ben.Marsh

	UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.

Change 3532474 by Ben.Marsh

	UBT: Use the same mechanism as UAT for logging exceptions.

Change 3532734 by Graeme.Thornton

	Initial VSCode Support
	 - Tasks generated for building all game/engine/program targets
	 - Debugging support for targets on Win64

Change 3532789 by Steve.Robb

	FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
	Set_Add and Map_Add no longer have a return value.
	FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
	FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.

Change 3532845 by Steve.Robb

	Obsolete UHT settings deleted.

Change 3532875 by Graeme.Thornton

	VSCode
	 - Add debug targets for different target configurations
	 - Choose between VS debugger (windows) and GDB (mac/linux)

Change 3532906 by Graeme.Thornton

	VSCode
	 - Point all builds directly at UBT rather than the batch files
	 - Adjust mac build tasks to run through mono

Change 3532924 by Ben.Marsh

	UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.

Change 3535234 by Graeme.Thornton

	VSCode - Pass intellisense system a list of paths to use for header resolution

Change 3535247 by Graeme.Thornton

	UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation

Change 3535376 by Graeme.Thornton

	VSCode
	 - Added build jobs for C# projects
	 - Linked launch tasks to relevant build task

Change 3537083 by Ben.Marsh

	EC: Change P4 swarm links to start at the changelist for a build.

Change 3537368 by Graeme.Thornton

	Fix for crash in FSignedArchiveReader when multithreading is disabled

Change 3537550 by Graeme.Thornton

	Fixed a crash in the taskgraph when running single threaded

Change 3537922 by Steve.Robb

	Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.

Change 3539691 by Graeme.Thornton

	VSCode - Various updates to get PC and Mac C++ projects building and debugging.
	 - Some other changes to C# setup to allow compilation. Debugging doesn't work.

Change 3539775 by Ben.Marsh

	Plugins: Various fixes to settings for enabling plugins.

	* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
	* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
	* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.

Change 3540788 by Ben.Marsh

	UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).

	Example usage:

	public class UnrealPakTarget : TargetRules
	{
		public UnrealPakTarget(TargetInfo Target) : base(Target)
		{
			Type = TargetType.Program;
			LinkType = TargetLinkType.Monolithic;
			LaunchModuleName = "UnrealPak";

			if(HostPlatform == UnrealTargetPlatform.Win64)
			{
				PreBuildSteps.Add("echo Before building:");
				PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");

				PostBuildSteps.Add("echo After building!");
				PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
			}
		}
	}

Change 3541664 by Graeme.Thornton

	VSCode - Add problemMatcher tag to cpp build targets

Change 3541732 by Graeme.Thornton

	VSCode - Change UBT command line switch to "-vscode" for simplicity

Change 3541967 by Graeme.Thornton

	VSCode - Fixes for Mac/Linux build steps

Change 3541968 by Ben.Marsh

	CRP: Pass through the EnabledPlugins element in crash context XML files.

	#jira UE-46912

Change 3542519 by Ben.Marsh

	UBT: Add chain of references to error messages when configuring plugins.

Change 3542523 by Ben.Marsh

	UBT: Add more useful error message when attempt to parse a JSON object fails.

Change 3542658 by Ben.Marsh

	UBT: Include a chain of references when reporting errors instantiating modules.

Change 3543432 by Ben.Marsh

	Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.

Change 3543436 by Ben.Marsh

	UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.

Change 3543536 by Ben.Marsh

	UBT: Downgrade message about redundant plugin references to a warning.

Change 3543871 by Gil.Gribb

	UE4 - Fixed a critical crash bug with non-EDL loading from pak files.

Change 3543924 by Robert.Manuszewski

	Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
	+Small optimization to token stream generation code.

Change 3544469 by Jin.Zhang

	Crashes page displays the list of plugins from the crash context #rb

Change 3544608 by Steve.Robb

	Fix for nativized generated code.

	#jira UE-47452

Change 3544612 by Ben.Marsh

	Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().

	#jira UE-47449

Change 3545954 by Gil.Gribb

	Fixed a critical crash bug relating to a race condition in async package summary reading.

Change 3545968 by Ben.Marsh

	UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.

	#jira UE-47419

Change 3545976 by Ben.Marsh

	EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.

Change 3546185 by Ben.Marsh

	Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.

Change 3547084 by Gil.Gribb

	Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.

Change 3547968 by Gil.Gribb

	Fixed critical race which potentially could cause a crash in the pak precacher.

Change 3504722 by Ben.Marsh

	BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.

	For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:

	ERROR: Unable to write to foo.txt
	         while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
	         at Engine\Build\InstalledEngineBuild.xml(91)
	       (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)

Change 3512255 by Ben.Marsh

	Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.

Change 3512332 by Ben.Marsh

	Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.

Change 3512393 by Ben.Marsh

	Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().

Change 3513452 by Ben.Marsh

	Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.

Change 3516262 by Ben.Marsh

	Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.

	* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
	* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).

Change 3517565 by Ben.Marsh

	Remove fixed engine version numbers from OSS plugins.

Change 3518005 by Ben.Marsh

	UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.

Change 3518054 by Ben.Marsh

	UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.

Change 3524496 by Ben.Marsh

	Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.

Change 3524641 by Ben.Marsh

	Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.

Change 3528723 by Steve.Robb

	MoveTemp now static asserts if passed a const reference or rvalue.
	MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
	Fixes to violations of these new rules.

Change 3528876 by Ben.Marsh

	Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.

Change 3529073 by Ben.Marsh

	Add script to package ShooterGame for any platforms.

Change 3531493 by Ben.Marsh

	Update platform-specific plugins to declare the target platforms they support.

Change 3531611 by Ben.Marsh

	UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.

Change 3531868 by Ben.Marsh

	Resaving project descriptors to remove invalid fields.

Change 3531983 by Ben.Marsh

	UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.

	* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
	* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
	* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
	* An error is output if any restricted folder names other than the output platform are in the staged output.

Change 3540315 by Ben.Marsh

	UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.

Change 3542410 by Ben.Marsh

	UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.

Change 3543018 by Ben.Marsh

	UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.

Change 3544371 by Steve.Robb

	Fixes to TSet_Add and TMap_Add BPs.

	#jira UE-47441

[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
Peter Sauerbrei
46a3007613 Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3496193)
#lockdown Nick.Penwarden
#rb none

=====================================
 MAJOR FEATURES + CHANGES
=====================================

Change 3385029 on 2017/04/07 by Chris.Babcock

	Remove unneeded BILLING permission for Android (it is added by enabling IAP)
	#jira UE-43583
	#ue4
	#android

Change 3388541 on 2017/04/11 by Will.Fissler

	Removed "MacNoEditor" and "WindowsNoEditor" as target platforms in the StrategyTV.uproject.

Change 3390026 on 2017/04/12 by Allan.Bentham

	Allow vertex texture reads on ES3.1 feature level
	#jira UE-43774

Change 3408788 on 2017/04/25 by Dmitriy.Dyomin

	Fixed: -iterativedeploy UAT option

Change 3418253 on 2017/05/02 by Allan.Bentham

	Enable ICF linker option in android tool chain.
	#jira UEMOB-167

Change 3426789 on 2017/05/05 by Jonathan.Fitzpatrick

	#jira UE-43518

	Fixed a missing cast to the proper game mode

Change 3427859 on 2017/05/08 by Dmitriy.Dyomin

	Avoid creating unnecessary FUniqueObjectGuid in foliage (prevents package dirty on actor deletion)

Change 3428842 on 2017/05/08 by Chris.Babcock

	Fix environment variable leakage in ant.bat patch (already in 4.16, didn't make the integration/merge)
	Fix Intermediate/Android/APK/src cleanup (already in 4.16, didn't make the integration/merge)
	#ue4
	#android

Change 3432096 on 2017/05/09 by Dmitriy.Dyomin

	Android LaunchOn improvements

Change 3433937 on 2017/05/10 by Chris.Babcock

	Enable XGE on non-build machine
	#ue4
	#android

Change 3434556 on 2017/05/11 by Dmitriy.Dyomin

	Added mobile separate translucency
	#jira UEMOB-146

Change 3436664 on 2017/05/12 by Dmitriy.Dyomin

	Fixed: missing translucent objects on mobile, fallout from separate translucency

Change 3437328 on 2017/05/12 by Allan.Bentham

	Add android versions of PRAGMA_DISABLE_OPTIMIZATION_ACTUAL and PRAGMA_ENABLE_OPTIMIZATION_ACTUAL

Change 3446874 on 2017/05/18 by Chris.Babcock

	Change FGenericPlatformMemoryConstants and FGenericPlatformMemoryStats to use uint64 instead of SIZE_T to handle >4GB Android devices running in ARMv7 mode
	#jira
	#ue4
	#android

Change 3448354 on 2017/05/19 by Dmitriy.Dyomin

	Added: Support sRGB texture sampling on Android ES 3.1 and Vulkan
	#jira UEMOB-190

Change 3451129 on 2017/05/21 by Dmitriy.Dyomin

	Added project option to limit gpu skinning to 2 bone per vertex (Rendering Settings -> Optimizations -> Limit GPU skinning to 2 bones influence)
	#jira UEMOB-154

Change 3451131 on 2017/05/21 by Dmitriy.Dyomin

	Fixed: NavMesh streaming - stable tile addressing

Change 3451141 on 2017/05/21 by Dmitriy.Dyomin

	Avoid drawing quads for clears on mobile

Change 3453549 on 2017/05/23 by Dmitriy.Dyomin

	Fixed wrong memreport for STAT_TextureMemoryCube, STAT_PrecomputedLightVolumeMemory, STAT_ReflectionCaptureMemory

Change 3458488 on 2017/05/25 by Dmitriy.Dyomin

	Added RenderDoc integration for Android

Change 3458589 on 2017/05/25 by Dmitriy.Dyomin

	Fixed foliage occlusion culling after world origin was rebased

Change 3462146 on 2017/05/26 by Nick.Shin

	HTML5 - merge from Release-4.16 to Dev-Mobile

	#jira none

	#rnx

Change 3462166 on 2017/05/26 by Nick.Shin

	HTML5 - fix viewport after returning from fullscreen

	PR: 113b9ea104

	#jira UE-44419  HTML5 - View does not redraw properly after returning from Fullscreen

	#rn fix viewport after returning from fullscreen

Change 3464093 on 2017/05/28 by Jack.Porter

	Fix for GenerateProjectFiles warnings

	#codereview: Nick.Shin

Change 3465335 on 2017/05/30 by Nick.Shin

	HTML5LaunchHelper.exe - current working directory "/" check

	#jira UE-45302  HTML5LaunchHelper.exe hosts the files in the current working directory on Linux

	#rnx

Change 3465499 on 2017/05/30 by Nick.Shin

	HTML5 - TaskGraph crash fix & compiler fix when STATS disabled

	#jira UE-44811  Projects crash when launching onto Firefox 64-bit

	#rnx

Change 3468295 on 2017/05/31 by Chris.Babcock

	Allow mediaplayer audio to be disable on Android
	#jira UE-45570
	#ue4
	#android

Change 3469099 on 2017/06/01 by Dmitriy.Dyomin

	Fixing mobile separate translucency after merge

Change 3470541 on 2017/06/01 by Chris.Babcock

	Fix Android.NewKeyboard behavior
	#jira UE-45612
	#ue4
	#android

Change 3470576 on 2017/06/01 by Chris.Babcock

	Blacklist DefaultBloomKernel on mobile platforms (unneeded and takes 32MB)
	#jira UE-45548
	#ue4
	#android

Change 3471583 on 2017/06/02 by Allan.Bentham

	#jira UEMOB-361
	Add experimental mobile PIE with device preview launch option.

Change 3471708 on 2017/06/02 by Allan.Bentham

	Fixes for no unity no pch CIS build.
	Add missing #includes

Change 3474619 on 2017/06/05 by Chris.Babcock

	Add support for optional Gradle build system
	#jira UEMOB-229
	#ue4
	#android

Change 3477357 on 2017/06/07 by Dmitriy.Dyomin

	Added GLES for RenderDoc capture on Android

	#contributed by Jimmy Lee (https://github.com/Oculus-VR/UnrealEngine/pull/7)

Change 3477953 on 2017/06/07 by Nick.Shin

	HTML5 memory/executable size pass

	these fixes contains:
	+ build shipping asmjs compressed files (remove serving non-compressed data file)
	+ phsyx updated emscripten toolchain cmake config override (i.e. removed EPIC_BUILD_FLAGS match)
	+ retired "/Script/BuildSettings.BuildSettings" config code
	+ added better verbose feedback to print optimization levels during packaging

	#jira UEMOB-382  HTML5 memory/executable size pass

	#rn a lot of stability fixes

Change 3479142 on 2017/06/07 by Chris.Babcock

	Update Clang version checks and handle 3.9
	#jira UE-45812
	#ue4
	#android

Change 3479416 on 2017/06/08 by Dmitriy.Dyomin

	Fixed UBT crash introduced in CL# 3477357

Change 3479425 on 2017/06/08 by Dmitriy.Dyomin

	Fixed: CustomDepth sampling outside of PP materials on Mobile
	#jira UE-44700

Change 3479600 on 2017/06/08 by Dmitriy.Dyomin

	Do "-skipdeploy" when packaging

Change 3481938 on 2017/06/09 by Dmitriy.Dyomin

	Fixed: LG G6, Samsung Galaxy S8 Letter box issue
	#jira UE-45164

Change 3482725 on 2017/06/09 by Chris.Babcock

	Fix out of bounds access to iChild
	#jira none

Change 3482735 on 2017/06/09 by Chris.Babcock

	Support for NDK14b and start of NDK15 support (Clang 5.0)
	#jira UEMOB-240
	#ue4
	#android

Change 3484209 on 2017/06/11 by Dmitriy.Dyomin

	fixed warning introduced in CL# 3481938

Change 3484256 on 2017/06/11 by Dmitriy.Dyomin

	Fixed: HighresShot with 'Use Customdepth as mask' in Feature level ES2 (Android preview rendering level) leads to Engine crash
	#jira UE-43655

	also requires content changes in CL# 3484255

Change 3484295 on 2017/06/12 by Dmitriy.Dyomin

	Fixed: Deferred Decals move with the camera in HTML5
	#jira UE-45606

Change 3484748 on 2017/06/12 by Chris.Babcock

	Add detection of Houdini (running on Intel Android CPU emulating ARM)
	#jira UE-45934
	#ue4
	#android

Change 3484766 on 2017/06/12 by Chris.Babcock

	Add missing log message for UsingHoudini
	#jira UE-45934
	#ue4
	#android

Change 3485762 on 2017/06/12 by Chris.Babcock

	Check in Gradle TPS
	#jira none
	#ue4
	#android

Change 3486596 on 2017/06/13 by Jack.Porter

	Fixed merge error

Change 3487559 on 2017/06/13 by Peter.Sauerbrei

	disable bEnableREmoteNotifications in binary builds

	#jira UE-44156

Change 3487875 on 2017/06/13 by Peter.Sauerbrei

	make it so we don't crash if the device isn't paired

	#jira UE-38247

Change 3487949 on 2017/06/13 by Peter.Sauerbrei

	fix for casing of DotNET in several locations from PR#3112 (portaloffreedom and Madh93)

	#jira UE-40396

Change 3488155 on 2017/06/13 by Peter.Sauerbrei

	fix for intermediate being lower cased when we want mixed case, keeps commandline txt file lower
	cased (original PR#2939 from kosz78, modified from that change)

	#jira UE-38737

Change 3488428 on 2017/06/13 by Chris.Babcock

	Fix permissions on gradlew on Mac and Linux
	#jira UE-46002
	#ue4
	#android

Change 3488735 on 2017/06/13 by Dmitriy.Dyomin

	Removed MDG note about crash on none-mali devices

Change 3488961 on 2017/06/14 by Dmitriy.Dyomin

	Fixed: scene capture component was applying only default ShowFlags in game

Change 3489162 on 2017/06/14 by Jack.Porter

	Removed checkbox "Deferred Rendering with Metal" on iOS.  This feature is no longer supported and will be replaced by a Metal 2-based renderer.

	#jira UE-41766

Change 3489192 on 2017/06/14 by Peter.Sauerbrei

	hide 32-bit and OpenGL options for IOS

	#jira none

Change 3489207 on 2017/06/14 by Peter.Sauerbrei

	make the MetalMRT setting hidden instead of removed

Change 3489593 on 2017/06/14 by Jack.Porter

	Removed the Android_All cook flavor as it's deprecated in favor of Android_Multi
	#jira UE-45469

Change 3491385 on 2017/06/15 by Dmitriy.Dyomin

	Fixed: SM_FireFX Particle not rendering for various Android texture compressions
	#jira UE-46083

Change 3491402 on 2017/06/15 by Dmitriy.Dyomin

	Fixed: Static + CSM shadows cause a crash
	#jira UE-46091

Change 3493586 on 2017/06/15 by Chris.Babcock

	Remove extra > in AndroidManifest
	#jira UE-46134
	#ue4
	#android

Change 3496193 on 2017/06/16 by Chris.Babcock

	Fix DeviceProfileManager setting in WEX
	#jira UE-46176
	#ue4
	#android

[CL 3496903 by Peter Sauerbrei in Main branch]
2017-06-16 20:17:59 -04:00
Chris Bunner
ab9d8e35b1 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3358140 on 2017/03/22 by Rolando.Caloca

	DR - Fix copy to cube face
	- Compile fix when using dump layer
	- Add new error enum

Change 3358301 on 2017/03/22 by Mitchell.Wilson

	Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.

Change 3358477 on 2017/03/22 by Mitchell.Wilson

	Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.

Change 3358529 on 2017/03/22 by Mark.Satterthwaite

	Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.

Change 3358745 on 2017/03/22 by Mark.Satterthwaite

	Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.

Change 3358837 on 2017/03/22 by Joe.Graf

	Merge of pull request #3214 for the RenderDocPlugin

	#CodeReview: matt.kuhlenschmidt, marcus.wassmer
	#rb: marcus.wassmer

Change 3359112 on 2017/03/22 by Ben.Salem

	Update perf monitor to include frame time by default. Also, use only  game/PIE world timers when in editor, instead of all worlds combined.

	#tests Ran several Showdown test runs with plugin!

Change 3359363 on 2017/03/22 by Joe.Graf

	First pass at non-unity & no pch compilation

Change 3359449 on 2017/03/22 by Joe.Graf

	Added missing null check when exporting a EXR on Linux (UE-40268)

	#CodeReview: dmitry.rekman
	#rb: n/a

Change 3360349 on 2017/03/23 by Guillaume.Abadie

	Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.

	#jira UE-42920

Change 3360405 on 2017/03/23 by Marcus.Wassmer

	Better method for detecting Kepler

Change 3360718 on 2017/03/23 by Daniel.Wright

	Planar reflections handle views smaller than the render target in a general way
	* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
	* Planar reflections are now supported in splitscreen

Change 3360758 on 2017/03/23 by Daniel.Wright

	[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead

Change 3360762 on 2017/03/23 by Daniel.Wright

	[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool

Change 3360768 on 2017/03/23 by Daniel.Wright

	[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram

Change 3360770 on 2017/03/23 by Daniel.Wright

	[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox

Change 3360771 on 2017/03/23 by Daniel.Wright

	[Copy] Particle lights no longer force tiled deferred lighting.  Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen.  Saves 1.5ms Xbox with one particle light.

Change 3360774 on 2017/03/23 by Daniel.Wright

	[Copy] Distance field cvar comments

Change 3360782 on 2017/03/23 by Daniel.Wright

	[Copy] Disabled selection color on Volume materials

Change 3360795 on 2017/03/23 by Daniel.Wright

	[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption.  Albedo is [0-1] reflectance, while Extinction is a world space density.

Change 3360799 on 2017/03/23 by Daniel.Wright

	[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y

Change 3360806 on 2017/03/23 by Daniel.Wright

	[Copy] Fixed volumetric fog being offset when viewport min is not 0

Change 3360809 on 2017/03/23 by Daniel.Wright

	[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot.  Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.

Change 3361651 on 2017/03/23 by Brian.Karis

	Higher quality sharp SSR at quality 4

Change 3361678 on 2017/03/23 by Brian.Karis

	Fresnel darkens diffuse for clearcoat.

Change 3361683 on 2017/03/23 by Brian.Karis

	Fixed SSR artifact

Change 3361691 on 2017/03/23 by Brian.Karis

	Chagned min roughness limit

Change 3361707 on 2017/03/23 by Brian.Karis

	Added inverse film tone map

Change 3361726 on 2017/03/23 by Brian.Karis

	Better precision inverse

Change 3361758 on 2017/03/23 by Brian.Karis

	Material flag normal curvature to roughness is no longer forward only.

Change 3361765 on 2017/03/23 by Brian.Karis

	Update ACES

Change 3361774 on 2017/03/23 by Brian.Karis

	Cleaned up alpha support and disabled screen edge clipping.

Change 3362478 on 2017/03/24 by Guillaume.Abadie

	Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.

	#author Brian.Karis

	#jira UE-42920

Change 3362738 on 2017/03/24 by Rolando.Caloca

	DR - Hide scene capture on IF

Change 3362890 on 2017/03/24 by Guillaume.Abadie

	Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha

Change 3363665 on 2017/03/24 by Mark.Satterthwaite

	PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)

Change 3363866 on 2017/03/24 by Arne.Schober

	DR - Updated NVAPI
	#RB Marcus.Wassmer

Change 3364300 on 2017/03/24 by Brian.Karis

	SSR use dynamic velocity

Change 3364372 on 2017/03/24 by Brian.Karis

	Fix changing off axis projection velocities.

Change 3364373 on 2017/03/24 by Brian.Karis

	Enabled velocity drawing in scene captures

Change 3365531 on 2017/03/27 by Guillaume.Abadie

	Computes the material's screen position material expression directly from the pixel shader SvPosition

Change 3365764 on 2017/03/27 by Chris.Bunner

	Lowering severity of crash for missing values in scalability.ini.

	#jira UE-41331

Change 3365916 on 2017/03/27 by Guillaume.Abadie

	Exposes the viewport offset within the view property material expression

Change 3365979 on 2017/03/27 by Brian.Karis

	Fixed skylight intensity from double applying

Change 3365987 on 2017/03/27 by Brian.Karis

	Stopped post process indirect lighting intensity from scaling skylight reflections

Change 3365991 on 2017/03/27 by Brian.Karis

	Fix for static analysis

Change 3366028 on 2017/03/27 by Daniel.Wright

	Volumetric fog supports static shadowing from Stationary lights
	* Using bilinear on static shadowmap depths + 1 PCF to smooth out results

Change 3366029 on 2017/03/27 by Daniel.Wright

	Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog

Change 3366055 on 2017/03/27 by Guillaume.Abadie

	Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.

Change 3366447 on 2017/03/27 by Simon.Tourangeau

	Fix IES light profile importer.
	- Bug in the LM-63-1986 format importer.

Change 3366836 on 2017/03/27 by Brian.Karis

	ClearUAV now supports int types

Change 3367435 on 2017/03/28 by Benjamin.Hyder

	Submitting Decal Automation map for initial approval

Change 3367572 on 2017/03/28 by Chris.Bunner

	Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.

	#jira UE-42989

Change 3367756 on 2017/03/28 by Olaf.Piesche

	Niagara material usage flags

Change 3367835 on 2017/03/28 by Marcus.Wassmer

	Fix crash when TileRenderer runs before anything else.  Make explicit behavior when rendering at a time when there is no valid scene.

Change 3367837 on 2017/03/28 by Marcus.Wassmer

	Missed a file.

Change 3367838 on 2017/03/28 by Richard.Wallis

	Updated items from original shelved version by Mark Satt:

	- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's

	**Description below taken from Mark Satt's original verison of this in CL3343280**

	Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.

	Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.

	- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently  supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
	- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
	- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
	- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
	- This bumps the object version and will cause all content to recook.
	- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).

Change 3367854 on 2017/03/28 by Mark.Satterthwaite

	Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.

Change 3367877 on 2017/03/28 by Brian.Karis

	Fixed linux build hopefully

Change 3368001 on 2017/03/28 by Mark.Satterthwaite

	Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.

Change 3368019 on 2017/03/28 by Mark.Satterthwaite

	And another fix for Windows compilation of MetalShaderFormat.

Change 3368042 on 2017/03/28 by Mark.Satterthwaite

	And a couple of simpler MSVC errors.

Change 3368271 on 2017/03/28 by Mark.Satterthwaite

	Make SceneRenderTargets compile again.

Change 3368691 on 2017/03/28 by Daniel.Wright

	[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis

Change 3369689 on 2017/03/29 by Marcus.Wassmer

	Fix non editor compile for now

Change 3369862 on 2017/03/29 by Marcus.Wassmer

	Get the rest of the things compiling again.

Change 3369896 on 2017/03/29 by Chris.Bunner

	Enabling AMD HDR support by default.

	#jira UE-42113

Change 3370535 on 2017/03/29 by Marcus.Wassmer

	DR - Fix template explicit instantiation for ClearUAV permutations
	#RB Brian.Karis, Arne.Schober

Change 3370704 on 2017/03/29 by Rolando.Caloca

	DR - Rewrote GPU Skin Cache
	- Per section buffers
	- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
	Copied from 3370529

Change 3371389 on 2017/03/30 by Richard.Wallis

	Remove temp working directories after archive packages built.

Change 3371641 on 2017/03/30 by Rolando.Caloca

	DR - Copy 3371640 (fix mem leak)

Change 3372436 on 2017/03/30 by Uriel.Doyon

	Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
	This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.

	Removed the limitation of only processing UMeshComponent when handling spawed primitive.
	This releases the level manager from having to manage dynamic primitives.
	This improves performance by not having to manage dynamic references in the level manager.

	Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
	many cases automatically where previously a manual callback to notify would have been required.

	Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
	because of lack of references in the streamer.

Change 3372740 on 2017/03/30 by Chris.Bunner

	[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
	StencilSceneTexture added to deferred list.
	A few known issues to be fixed in a follow-up CL.

Change 3372765 on 2017/03/30 by Uriel.Doyon

	Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update

Change 3372979 on 2017/03/30 by Richard.Hinckley

	#jira UE-43501
	The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.

Change 3373053 on 2017/03/30 by Simon.Tourangeau

	LPV Fade support
	- mostly integrated from CL 2959511

Change 3373272 on 2017/03/30 by Uriel.Doyon

	Added support for the concurrent update of dynamic primitives by the streaming manager.

Change 3373450 on 2017/03/30 by Rolando.Caloca

	DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
	Copy 3373364

	#jira UE-43492

Change 3373470 on 2017/03/30 by Marcus.Wassmer

	Nvidia Aftermath support

Change 3374187 on 2017/03/31 by Chris.Bunner

	Volume texture support for CombineLUTs/Tonemap compute pass.
	Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
	Skip compute post process out-of-bounds writes.
	Unsigned type conversion fixes.
	Trimmed compute post process shader inputs.

Change 3374233 on 2017/03/31 by Chris.Bunner

	Removed several redundant post process compute fences and resource transitions.
	Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).

Change 3374412 on 2017/03/31 by Rolando.Caloca

	DR - Fix static analysis

Change 3374544 on 2017/03/31 by Richard.Wallis

	FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.

	Future Work
	- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
	- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
	- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock

Change 3374588 on 2017/03/31 by Richard.Wallis

	Windows Compile Fixes

Change 3374810 on 2017/03/31 by Benjamin.Hyder

	updating recommended GPU drivers

Change 3375207 on 2017/03/31 by Rolando.Caloca

	DR - vk - Fixed swapchain format selection for some Linux platforms

Change 3375248 on 2017/03/31 by Rolando.Caloca

	DR - vk - Prefer D32S8

Change 3375495 on 2017/03/31 by Rolando.Caloca

	DR - vk - Update to sdk 1.0.42.2

Change 3375496 on 2017/03/31 by Rolando.Caloca

	DR - Force compiling with updated Vulkan SDK

Change 3375636 on 2017/03/31 by Mark.Satterthwaite

	Copying Metal improvements from task stream, with some modifications:
	- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
	- Support for Apple's Instruments "Points of Interest" tool.
	- Consolidation of some Mac & iOS compiler, memory and thread handling code.
	- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
	- Improvements to the internal FMetalDebug layer, still off by default.
	- Limited support for Xcode automatic code-signing for iOS/tvOS.
	- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
	- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
	- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
	- Smattering of lesser fixes.

Change 3375654 on 2017/03/31 by Mark.Satterthwaite

	Incremental Windows build fix.

Change 3375656 on 2017/04/01 by Mark.Satterthwaite

	Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).

Change 3375797 on 2017/04/01 by Mark.Satterthwaite

	Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...

Change 3375798 on 2017/04/01 by Mark.Satterthwaite

	Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.

Change 3375835 on 2017/04/01 by Mark.Satterthwaite

	Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.

Change 3376143 on 2017/04/02 by Mark.Satterthwaite

	Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.

Change 3376324 on 2017/04/03 by Chris.Bunner

	Fixed cvar re-registration log spam and flagged a testing-only cvar as such.

Change 3376726 on 2017/04/03 by Benjamin.Hyder

	Submitting initial HDR test map (WIP)

Change 3376756 on 2017/04/03 by Guillaume.Abadie

	Fixes scene captures ordering's backward compatibility.

	Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.

Change 3377378 on 2017/04/03 by Arne.Schober

	DR - Fix ShaderRecompiling over and over again
	#RB Chris.Bunner

Change 3377512 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events

Change 3377518 on 2017/04/03 by Daniel.Wright

	[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12

Change 3377526 on 2017/04/03 by Daniel.Wright

	[Copy] "Ran out of GPU queries!" log only happens once

Change 3377535 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed unreferenced local variable

Change 3377539 on 2017/04/03 by Daniel.Wright

	[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages

Change 3377546 on 2017/04/03 by Daniel.Wright

	[Copy] Added r.LightMaxDrawDistanceScale for local light scalability

Change 3377553 on 2017/04/03 by Daniel.Wright

	[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path

Change 3377560 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes

Change 3377565 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)

Change 3377572 on 2017/04/03 by Daniel.Wright

	[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC

Change 3377586 on 2017/04/03 by Daniel.Wright

	Fixed compile error

Change 3377699 on 2017/04/03 by David.Hill

	FFT Code.  Moved over from raven and refactored

	#review-3374589 @guillaume.abadie

Change 3377910 on 2017/04/03 by David.Hill

	GPU FFT: Fix Linux Build
	adding a missing template<> to an IMPLEMENT_SHADER_TYPE

Change 3378751 on 2017/04/04 by Marcus.Wassmer

	HQ particle lights now spawn attached to the same socket as their parent module.

Change 3378819 on 2017/04/04 by Richard.Wallis

	Should be no need to protect shader cache against RHI thread now.

Change 3378823 on 2017/04/04 by Richard.Wallis

	FRHIShaderLibrary Opaque Type

	- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
	- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
	- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.

Change 3378883 on 2017/04/04 by Arne.Schober

	DR - Fix DCC build

Change 3378885 on 2017/04/04 by Richard.Wallis

	Metal resource cast compile fix post merge.

Change 3378946 on 2017/04/04 by Chris.Bunner

	SM4 assert fix.

Change 3378953 on 2017/04/04 by Chris.Bunner

	Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
	Allowed material nodes to opt out of mask-based pin coloration.
	#tests Compiled most Paragon materials + QAGame test maps.

	#jira UE-39885

Change 3379189 on 2017/04/04 by Arne.Schober

	DR - Fix aftermath staging

Change 3379229 on 2017/04/04 by Arne.Schober

	DR - Fix missing include

Change 3379374 on 2017/04/04 by Mark.Satterthwaite

	Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.

Change 3379505 on 2017/04/04 by Rolando.Caloca

	DR - Fix mismatched interpolators

Change 3379539 on 2017/04/04 by Mark.Satterthwaite

	No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...

	#jira UE-43626

Change 3379561 on 2017/04/04 by Rolando.Caloca

	DR - Fix root signature issues on D3D12 PC

Change 3379590 on 2017/04/04 by Mark.Satterthwaite

	Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.

	#jira UE-43626

Change 3379917 on 2017/04/04 by Uriel.Doyon

	Fix to input mismatch

Change 3380578 on 2017/04/05 by Chris.Bunner

	Shader type fixes.

	#jira UE-43652

Change 3380639 on 2017/04/05 by Rolando.Caloca

	DR - Expose GetOrCreate PSO and document

Change 3380821 on 2017/04/05 by Guillaume.Abadie

	Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()

	#jira UE-43642

Change 3381092 on 2017/04/05 by Guillaume.Abadie

	Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.

	This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.

Change 3381300 on 2017/04/05 by Mark.Satterthwaite

	Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.

	#jira UE-43597

Change 3381359 on 2017/04/05 by Guillaume.Abadie

	Back out changelist 3381092

Change 3381421 on 2017/04/05 by Mark.Satterthwaite

	Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.

	#jira UE-43689

Change 3381422 on 2017/04/05 by Mark.Satterthwaite

	Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.

	#jira UE-43691

Change 3381503 on 2017/04/05 by Daniel.Wright

	More intuitive controls for Volumetric Fog
	* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
	* InscatteringColorCubemap is now supported by Volumetric Fog
	* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
	* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
	* Volume Materials have twice the interpolators available

Change 3381527 on 2017/04/05 by Mark.Satterthwaite

	Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.

Change 3381671 on 2017/04/05 by Mark.Satterthwaite

	Better error message for failure to compile shaders remotely from PC for Metal.

Change 3381769 on 2017/04/05 by Rolando.Caloca

	DR - Added lock texture array 2d on Vulkan

Change 3382003 on 2017/04/05 by Mark.Satterthwaite

	Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.

Change 3382030 on 2017/04/05 by Zachary.Wilson

	Fix compiling Metal text shaders from PC broken in merge from task stream.
	#submitter mark.satterthwaite

	#jira UE-43652

Change 3382880 on 2017/04/06 by Mark.Satterthwaite

	Michael Trepka's CL #3379927:
	VolumetricFogVoxelization implementation for Mac

Change 3383315 on 2017/04/06 by Mark.Satterthwaite

	Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.

	#jira UE-43739

Change 3384639 on 2017/04/07 by Marcus.Wassmer

	Move ShaderResource version bump to RenderingObjectVersion

Change 3384704 on 2017/04/07 by Mark.Satterthwaite

	Compile fix for merge.

Change 3384933 on 2017/04/07 by Rolando.Caloca

	DR - Fix skin cache crash with BP (copy 3384714)

Change 3385104 on 2017/04/07 by Mark.Satterthwaite

	Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.

	#jira UE-43783

Change 3385105 on 2017/04/07 by Mark.Satterthwaite

	Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783

	#jira UE-43783

Change 3385118 on 2017/04/07 by Arne.Schober

	DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
	#RB none

Change 3385149 on 2017/04/07 by Marcus.Wassmer

	Fix skincache motion blur

Change 3385189 on 2017/04/07 by Rolando.Caloca

	DR - Fix swapchain format for editor on Vulkan

Change 3385287 on 2017/04/07 by Mark.Satterthwaite

	Enable SM5 on Intel as of 10.12.4 and later.

Change 3385347 on 2017/04/07 by Rolando.Caloca

	DR - Temp fix for GL4 corruption on editor
	#jira UE-43785

Change 3385363 on 2017/04/07 by Rolando.Caloca

	DR - Actually fix all win platforms for GL bug
	#jira UE-43785

Change 3385557 on 2017/04/07 by Arne.Schober

	DR - [UE-43205] - Fix mesh paint
	#RB none

Change 3385608 on 2017/04/07 by Daniel.Wright

	Fixed SampleCmp being used on a non-depth texture, causing a d3d error

Change 3385980 on 2017/04/10 by Rolando.Caloca

	DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture

Change 3386042 on 2017/04/10 by Rolando.Caloca

	DR - Fix metal merge issue

Change 3386157 on 2017/04/10 by Rolando.Caloca

	DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)

Change 3386356 on 2017/04/10 by Chris.Bunner

	Resolving merge errors.

Change 3386414 on 2017/04/10 by Chris.Bunner

	Resolved merge issue in RendererScene.cpp.

Change 3386700 on 2017/04/10 by Mark.Satterthwaite

	Silence documentation warnings.

Change 3387178 on 2017/04/10 by Chris.Bunner

	Removed invalid mask correction on MakeMA material nodes.

Change 3388177 on 2017/04/11 by Marcus.Wassmer

	Disable ensure that is no longer relevant now that we bind clear colors on texture creation

Change 3388261 on 2017/04/11 by Chris.Bunner

	Static analysis fix.

[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00