Commit Graph

76 Commits

Author SHA1 Message Date
ben marsh
1fa30a0668 Fix assumption that editor and ShaderCompileWorker executables are in the same directory. It's possible to build an editor using a unique build environment so that it can be built with custom macros defined, etc...which puts the executable in (ProjectDir)/Binaries/Win64.
Now stores the full path to the shader source directories in the SCW input data archive, and normalizes it again on read.

[CODEREVIEW] Guillaume.Abadie, Rolando.Caloca
#jira UE-70785
#rb none

#ROBOMERGE-SOURCE: CL 5238601 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5238606 by ben marsh in Main branch]
2019-02-28 10:47:22 -05:00
Marcus Wassmer
fee98d3ca5 Merging //UE4/Dev-Main@4729937 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none

[CL 4730169 by Marcus Wassmer in Dev-Rendering branch]
2019-01-15 18:30:06 -05:00
Marcus Wassmer
cbfcbbb93b Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
Should be just copyright updates

[CL 4680440 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:16:26 -05:00
Yuriy ODonnell
92196d3f64 Implemented ray tracing shader compile batch script generation and shader worker direct compile support
#rb Rolando.Caloca

[CL 4678725 by Yuriy ODonnell in Dev-Rendering branch]
2019-01-03 11:42:46 -05:00
Guillaume Abadie
41e0e07760 Cherry-pick 4514566: Converts FDirectionalLightOcclusionRG to render graph and shader parameter struct API.
This notably implements SHADER_USE_ROOT_PARAMETER_STRUCT(), that is able to generate a cbuffer
for the shader's FParameters struct automatically, without requiring passing through a global shader parameter struct.

#rb yuriy.odonnell, patrick.kelly

[CL 4588603 by Guillaume Abadie in Dev-Rendering branch]
2018-11-21 18:45:02 -05:00
Guillaume Abadie
c72b7a33d8 Merging //UE4/Dev-Rendering-Graph@4492585 to Dev-Rendering (//UE4/Dev-Rendering)
This implements the framework to write the high level rendering code into passes organized in direct acyclic graph. It is also unifying the uniform buffer, shader parameters, and pass parameters to same single API: structures with run time meta data. This allow high level user code be extremely seamless, user code debugging, and render graph ease of implementation and debugging.

Issue of collaborative work of Arne Schnober, Brian Karis, Daniel Wright, Marcus Wassmer and Guillaume Abadie.

Names of the graph managed resources are not final.

#rb Arne.Schnober, Brian.Karis, Daniel.Wright, Marcus.Wassmer

[CL 4492694 by Guillaume Abadie in Dev-Rendering branch]
2018-10-19 17:36:35 -04:00
Joe Barnes
01a13f9d80 Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 4362408)
#lockdown Nick.Penwarden
#rb none

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

Change 4125165 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4124306 to //UE4/Dev-Console/...

Change 4136060 by Marcin.Undak

	Editor: fixed device unclaiming

	#jira UE-58464

Change 4190321 by Marcin.Undak

	Linux: fixes for automation and RecordPerformance

	#jira UE-61053

Change 4199010 by Marcin.Undak

	Linux: remove unnecessary -g option

Change 4201876 by Marcin.Undak

	First implementation of WebM media player for Windows and Linux

Change 4201922 by Marcin.Undak

	Whitelisted WebMem plugin only for Windows and Linux

Change 4202203 by Marcin.Undak

	WebM build fixes

Change 4223102 by Marcin.Undak

	Vulkan: console commands for testing device lost

	#jira UE-61789

Change 4225028 by Marcin.Undak

	WebMMedia: disabled on Linux until fixed compilation issues

Change 4231444 by David.Harvey

	UI - Fixing where the virtual cursor renders.  It doesn't correctly take into account DPI scale, which isn't apparent except on the Xbox One.

	Integrate as edit from CL 4166648.

	#jira UE-62115

Change 4233057 by Marcin.Undak

	TestPAL: added new test for string allocation size

Change 4234649 by Marcin.Undak

	Linux: switched linux plaform to 16bit wide strings

Change 4235253 by Marcin.Undak

	TestPAL: compilation fix for platforms that don't use DirectoryWatcher

Change 4235477 by Marcin.Undak

	Linux: re-enabled WebMMedia plugin

Change 4242242 by Marcin.Undak

	WebMMediaPlayer: implemented proper format retrieving. MediaFrameworkTest now works.

Change 4243321 by Marcin.Undak

	WebMPlayer: static code analisys fix

Change 4243505 by Marcin.Undak

	MediaFrameworkTest: added WebM video for testing

Change 4244646 by Marcin.Undak

	WebMMedia: improved concurrency

Change 4244735 by Arciel.Rekman

	Vulkan: skip unnecessary transitions properly (UE-62348, merge).

	(Edigrating CL 4244274 from Release-4.20)

Change 4246685 by Arciel.Rekman

	PhysX: remove Cygwin from %PATH% on Windows as it confuses CMake (UE-62326).

Change 4247808 by Marcin.Undak

	WebMMediaPlayer: added support for seeking

Change 4254841 by Marcin.Undak

	WebM: module dependencies fix

Change 4255124 by laz.matech

	Updated UMG_AllPaletterWidgets' combo box to include options so that when selected, the dropdown presents 2 options instead of it appearing like it is broken

	#jira none

Change 4256415 by Marcin.Undak

	WebM: added missing editor module

Change 4256716 by Arciel.Rekman

	Make SetReuseAddr() also set SO_REUSEPORT where available (UE-57076).

	- Pull request #4617 by malavon.

	#jira UE-57076

Change 4266049 by Marcin.Undak

	Linux: UnrealLightmass and CrashReportClient compilation fixes

	#jira UE-62521
	#jira UE-62522

Change 4266678 by Arciel.Rekman

	Merge speculative commit to get aligned pointer on mmap().

	(Edigrating CL 4225330)

Change 4267998 by Anthony.Bills

	Fix DBufferC clear color due to bad merge.

	#jira UE-62649

Change 4269441 by Marcin.Undak

	GenericPlatformStrings::VarArgs() implemented %-*s, %lu, %z, %h formatting

	#jira UE-62582

Change 4269712 by Marcin.Undak

	WebMMediaPlayer: removed LibSimpleWebM

Change 4272849 by Marcin.Undak

	WebMMediaPlayer: fixed re-initialisation

Change 4277931 by Arciel.Rekman

	Linux: switch to Vulkan by default (UE-62807).

	- Default behavior: attempt Vulkan first, but in case of failure instead of quitting silently fall back to GL, unless -vulkan is passed.
	- Forcing GL is still possible.

Change 4277965 by Arciel.Rekman

	Fix standalone applications after the Vulkan switch.

Change 4277968 by Arciel.Rekman

	Linux: make CrashReportClient headful (UE-14089).

	- The -unattended flags keep even a headful CRC usable on the servers.
	- ldd did not change. Need to check Localization stuff to see if there are any deployment concerns.

	#jira UE-14089

Change 4279402 by Arciel.Rekman

	Merge from 4.20.1: Vulkan: log validation errors. Also fix handling of some message types (UE-62628).

	(Edigrating 4273516 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)

Change 4279992 by Marcin.Undak

	Linux: fix SlateViewer compilation

	#jira UE-62831

Change 4285613 by Arciel.Rekman

	Vulkan: fix mismatched layout.

	- I tested with RecordPerformance on InfiltratorDemo and haven't found any impact.

Change 4285622 by Arciel.Rekman

	Merged from 4.20.2: Linux: do not refuse to start if system limits cannot be raised (UE-62515).

	- Too aggressive behavior, which can break cooking for no valid reason.
	- If a commandline argument is used, the engine will still treat inability to raise the limits as an error.

	(Edigrating 4273547 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)

Change 4293083 by Arciel.Rekman

	Merging //UE4/Main@4291654 to //UE4/Dev-Console

Change 4295297 by Marcin.Undak

	Vulkan: temporary disable generic pipeline cache saving to prevent crashes

	#jira UE-62848

Change 4300191 by Arciel.Rekman

	Delete files added under lowercase directories.

Change 4300211 by Arciel.Rekman

	Re-add files deleted in previous commit under camel-cased paths.

Change 4300895 by Arciel.Rekman

	Linux: fix editor build

Change 4303543 by Ben.Marsh

	Fix compile error for FortGPUTestBed.

Change 4305659 by Marcin.Undak

	[Vulkan][Engine] Update the Vulkan RHI to obey r.VSync (and the vsync and novsync command-line arguments).

	Change 4222769 by Jason.Stewart@Jason.Stewart_AMD_Dev_Rendering_threadripper-win10 on 2018/07/19 10:55:48

		The original implementation ran into a latent thread hazard between the RHI thread and the rendering thread, where the rendering thread would try to use the backbuffer of the swap chain while the swap chain was being recreated (specifically after the swap chain recreation code had released and nulled out the back buffer, but before swap chain creation had actually happened to get a new back buffer). This implementation addresses that issue.

		This is Tim's code. I'm just submitting it as Tim is currently out of office.

Change 4305661 by Marcin.Undak

	Moved libwebm and libvpx inside WebMMediaPlayer directory

Change 4308659 by Marcin.Undak

	Linux: fixed LLDB visualizers

	#jira UE-52619

Change 4313650 by Marcin.Undak

	WebMMediaPlayer: implemented looping

Change 4321713 by David.Harvey

	removed hard-coded platform labels from device output log window in favour of ITargetPlatform::SupportsFeature + updated editor tooltip with correct platform list.

	https://ec-01.epicgames.net/commander/link/jobDetails/jobs/8641984?

Change 4321942 by Brandon.Schaefer

	Linux: Use the Target RHI list as the default ordering for which RHI is prefered

	Also update the RHI list in the project settings for our default list

	#jira UE-59487

	#review-4316134 @Arciel.Rekman

Change 4322230 by Brandon.Schaefer

	Treat %lf as %f in GenericWidePlatformString

	#jira UE-62582

Change 4322392 by Brandon.Schaefer

	Make sure our fmt size is large enough to check indexes

	#jira none

Change 4322895 by Brandon.Schaefer

	Actually get the current size of Src as it could have been moved down

	#jira none

Change 4327866 by Brandon.Schaefer

	Linux: Tell the platform misc what RHI we are using

	#jira none

Change 4328926 by Brandon.Schaefer

	Linux: Add haptic support for controllers

	Github PR #4167 (thanks maiself!)

	#jira UE-51681

Change 4328963 by Arciel.Rekman

	TestPAL: improve the test by randomizing allocation size.

	- The range will no longer be constrained to <=128KB at once, allocations can be as big as 16MB but they will unevenly distributed, with smaller sizes being more frequent.

Change 4329208 by Arciel.Rekman

	hlslcc: suppressed benign compiler warning during the Linux build (UE-43988).

Change 4329283 by Arciel.Rekman

	Linux: replace CachedOSPageAllocator with PooledVirtualMemoryAllocator for Linux.

	For the explanation of FPooledVirtualMemoryAllocator, see PooledVirtualMemoryAllocator.h
	For the details, test data and comparisons, message Arciel Rekman.

	Relevant command line args added:

	-vmapoolscale=<float> (defaults to 1.4)
	-vmapoolevict
	-novmapoolevict

	By default, freed memory will not be evicted from RAM (unless running on a server)

	Also changed:
	- Removed the fixed-size pool previously used by Linux (and supporting machinery like scaling it on start)
	- Replaced the way we manage free blocks from pointers to a bitmap to reduce memory footprint.

Change 4331946 by Luke.Thatcher

	[CONSOLE] [^] (merging CL 4162064) Implement new thread heart beat clock to solve the suspend/resume problem across all platforms.
	 - The hang and hitch detectors now maintain their own clocks which are ticked by their respective threads.
	 - If the title is suspended, the ticking thread will stop and the clock will stop advancing. On resume, the maximum delta in the clock is clamped to a small value, so we ignore all the time the thread was not ticking for (i.e. the duration of the title being suspended).
	 - As such, we don't need any logic for handling PLM suspend/resume in the hang and hitch detectors, so this change removes that too.

	#jira FORT-96886

Change 4331973 by Luke.Thatcher

	[CONSOLE] [^] (merging CL 4183499) Add frame-present-based hang detection.
	 - RHIs call FThreadHeartBeat::PresentFrame() whenever they present a frame to the swap chain.
	 - These calls form a separate heartbeat from the thread-based ones, allowing the hang detector to fire if, for example, the game thread is stuck in an async loading loop and is ticking the game thread heartbeat, but making no progress.
	 - Also refactored ThreadHeartBeat.cpp to move hang detection logging into a FORCENOINLINE function. This will put OnHang and OnPresentHang at the top of the callstack in retail crash dumps, making the bucketing easier to recognise.

Change 4332200 by Luke.Thatcher

	[CONSOLE] [+] (merging CL 4227517) Add PlatformDebugData to FShaderResource.
	 - We can use this to store platform specific shader symbols etc. The data gets serialized to the DDC and can be retrieved during a cook.
	 - Data is entirely discarded in cooked builds, and is a no-op on platforms which don't implement support for shader debug data.
	 - Bumped shader version to invalidate DDC keys.

Change 4332407 by Luke.Thatcher

	[CONSOLE] [CORE] [!] (merging CL 4279686) Fixed unaligned integer load macro inconsistencies.
	 - Renamed PLATFORM_SUPPORTS_UNALIGNED_INT_LOADS to PLATFORM_SUPPORTS_UNALIGNED_LOADS
	 - Merged it with REQUIRES_ALIGNED_ACCESS and REQUIRES_ALIGNED_INT_ACCESS
	 - Fixed Linux platform which had both the old macros defined to 1, which is wrong because they are mutually exclusive.

Change 4333386 by Luke.Thatcher

	[CONSOLE] [!] (merging CL 4317367) Fix compile error in AnimationCompression.h

Change 4334395 by Arciel.Rekman

	Corrected PLATFORM_DESKTOP definition.

Change 4336190 by Anthony.Bills

	(Original CL4314280) Use the debug file writer when using framepro. This buffers more data which should reduce stalls when writing out on certain platforms.

	#jira none

Change 4336291 by Anthony.Bills

	Use a clamped local clock when timing out the renderthread.

	- This prevents suspend and resume issues on platforms where suspend events may not occur or the system clock is not set to the process time.

	#jira none

Change 4336292 by Anthony.Bills

	(Orignal CL 4195778) Fix printing of the hang detector multiplier and other logging.

	"f" is the correct format specifier for a double.

	#jira none

Change 4336307 by Anthony.Bills

	(Orignal CL 4257875) Use the correct clock when printing the scoped hitch stat.

	- Needs to be the internal FGameThreadHitchHeartBeat clock incase FPlatformTime::Seconds becomes out of sync with FrameStartTime.

	#jira none

Change 4336321 by Anthony.Bills

	(Original CL 4258186) Add GetNoInit function to FGameThreadHitchHeartBeat.

	#jira none

Change 4336397 by Anthony.Bills

	Fix redefinition of macro.

	#jira none

Change 4336738 by Brandon.Schaefer

	Linux: Add options for ASan, TSan, and UBSan

	#jira UE-62784 UE-62803 UE-62804

Change 4336791 by Brandon.Schaefer

	Linux: Add missing xml comments

	#jira none

Change 4336957 by Joe.Barnes

	Integrate as edit CL#4218145:

	Convert some of our Vector macros to inline functions as thier names class with 3rd party functions.

	#jira ue-61733

Change 4338228 by Arciel.Rekman

	Switch to v12 Linux cross-toolchain (UE-63589).

	#jira UE-63589

Change 4339195 by Ben.Woodhouse

	Integrate-as-edit latest CSV profiler changes up to CL 4292187

Change 4339237 by Ben.Woodhouse

	Integrate-as-edit CL 4226269
	Add support for extern GPU stats, so we can use one stat across multiple CPPs
	Fix the Forward rendering GPUProjection stat

Change 4339239 by Ben.Woodhouse

	Integrate-as-edit CL 4292520

	Support different sized buffers for FArchiveFileWriterGeneric per-platform so we can tune per-platform as needed.
	No changes to existing defaults values of 1KB for read, 4KB for write:

	        #define PLATFORM_FILE_READER_BUFFER_SIZE 1024
	        #define PLATFORM_FILE_WRITER_BUFFER_SIZE 4096
	        #define PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE 4096

Change 4339241 by Ben.Woodhouse

	Integrate-as-edit CL 4210462
	Comment out an assert while I investigate properly (doesn't appear to be fatal)

Change 4339265 by Anthony.Bills

	[Linux] Fix ContainerBuildThirdParty.sh to pick the first default interface.

	#jira none

Change 4339274 by Anthony.Bills

	[Linux] Cache the bundled toolchain when using git builds.

	- Also will not attempt to download the toolchain if AutoSDK or Multiarch root are specified.

	#jira UE-63394

Change 4339623 by Anthony.Bills

	[Linux] Update native toolchain buildscript to support clang 6.0.1

	- Main issue was due to libxml2 as an extra dependency of some test libraries, so needs to be disabled via DLLVM_ENABLE_LIBXML2.

	#jira UE-63588

Change 4339685 by Anthony.Bills

	[Linux] Update toolchain setup script to download v12 when it is available.

	#jira UE-63588

Change 4339833 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4339548 to //UE4/Dev-Console/...

Change 4339843 by Ben.Woodhouse

	Attempt to fix a weird possible bad merge issue

Change 4339890 by Ben.Woodhouse

	Fix a build issue
	#jira nojira

Change 4340314 by Anthony.Bills

	Fix mesh decal rendering when write mask is enabled and no deferred decals are in the scene.

	#jira UE-55159

Change 4341099 by Marcin.Undak

	Mediashader fix

	#jira UE-63650

Change 4341106 by Marcin.Undak

	QAGame: added MediaPlayer for Linux test

	#jira UE-59667
	#jira UE-62775
	#jira UE-62780

Change 4341107 by Marcin.Undak

	WebMMediaPlayer: blacklist all not supported platforms

	#jira UE-59667
	#jira UE-62775
	#jira UE-62780

Change 4341110 by Marcin.Undak

	WebMMediaPlayer: enable for Unix platforms

	#jira UE-59667
	#jira UE-62775
	#jira UE-62780

Change 4341804 by Luke.Thatcher

	[CONSOLE] [!] Fix memory scribble in black depth texture cube on platforms with 16-bit depth.
	 - Original code was writing a FColor into the locked texture data, which causes a 2 byte scribble if the PF_ShadowDepth format is 16-bits.

	[!] Also fixed GWhiteTextureCube being black. FColor::White is not a compile-time constant, so an initialization order problem meant the value of FColor::White is actually black when the GWhiteTextureCube constructor runs.

	#jira none

Change 4342244 by Anthony.Bills

	[Linux] Allow restarting the crashed application from the crash report client

	#jira UE-62903

Change 4342636 by Brandon.Schaefer

	Linux: Update LLVM libc++.a libc++abi.a with version 6.0.1

	#jira UE-63587

Change 4343420 by Marcin.Undak

	Fixed assert in console

	#jira UE-63643


Change 4345166 by Luke.Thatcher

	[CONSOLE] [!] (merging CL 4345072) Fix initialization order bug with FColor and FLinearColor constants.
	 - The original constants were dynamically initialized during startup. Using these constants from other global constructors may result in getting the wrong value (transparent black) if a given constructor runs before FColor/FLinearColor's constructor.
	 - Adding constexpr to the FColor/FLinearColor constructor makes these constants known at compile-time, and included in the readonly data section, so they don't require dynamic initialization.

	[~] Also restores the original constant color values in RenderUtils.cpp

	#jira none

Change 4345860 by Arciel.Rekman

	Make StompMalloc return 16-byte aligned memory on 64 bit platforms (UE-63743).

	#jira UE-63743

	(Edigrating 4345734 from Release-4.20)

Change 4345950 by Brandon.Schaefer

	Linux: Remove libelf/libdwarf fallback for symbolicating symbols during a crash

	#jira UE-63103

Change 4350249 by David.Harvey

	helper function to retrieve an LLM tag's name, including platform tags.

Change 4351184 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4348973 to //UE4/Dev-Console/...

Change 4351593 by Ben.Woodhouse

	Clean up aggressive batching (remove xbox specific #if and //TODO)
	#jira UE-46780

Change 4351734 by James.Cobbett

	Setting TM-ShaderModels_Niagara to always load

Change 4351984 by Marcin.Undak

	QAGame: restored platform media source in TM-ShaderModels map

Change 4353508 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4353110 to //UE4/Dev-Console/...

Change 4354237 by Anthony.Bills

	[Linux] Fix Linux compilation issues due to change over to TCHAR being char16_t.

	#jira UE-63544

Change 4354334 by Anthony.Bills

	[Linux] (Missing file from CL 4354237) Fix Linux compilation issues due to change over to TCHAR being char16_t.

	#jira UE-63544

Change 4355994 by Brandon.Schaefer

	Linux: Agree not Agreed

	#jira UE-63937

Change 4356068 by Joe.Barnes

	Replace a duplicate DEFINE_EXPRESSION_NODE_TYPE(bool,...) causing errors with iOS unity build compiles. Remove version in ExpressionParser.cpp and include TextFilterExpressionEvaluator.h.

	#jira ue-63877

Change 4357726 by David.Harvey

	[iOS] add clean support for device output log, after catchup.

	#jira none

Change 4357724 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4357176 to //UE4/Dev-Console/...

Change 4359634 by Ben.Woodhouse

	[INTEGRATE] Integrate from //UE4/Main/...@4359072 to //UE4/Dev-Console/...

Change 4359958 by Ben.Woodhouse

	Fix FortGPUTestbed merge issues via p4 copy (content files didn't get moved before for some reason)

Change 4361108 by Anthony.Bills

	Fix webm deprecation issues with DrawPrimitiveUp.

	#jira UE-64012

Change 4361896 by James.Cobbett

	Re-saving materials so that they render correctly outside of the editor.

Change 4362262 by Anthony.Bills

	Fix for WebM video decoder crash.

	#jira UE-64025

[CL 4362700 by Joe Barnes in Main branch]
2018-09-12 15:59:49 -04:00
Rolando Caloca
e3ec1a0d94 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4358666)
#lockdown Nick.Penwarden

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

Change 4073167 by Krzysztof.Narkowicz

	Added subsurface profile for eye shading model.
	#jira none

Change 4073422 by Krzysztof.Narkowicz

	Added dual specular for subsurface profile shading model.
	#jira none

Change 4075278 by Krzysztof.Narkowicz

	Fixed forward reflection/refraction rendering issues, which caused ShaderModels.Material.Refraction to fail.
	#jira none

Change 4084231 by Krzysztof.Narkowicz

	Dual specular - replace lobe spread with two separate roughness multipliers. Default material roughness is now replaced by an average lobe roughness in order to support non dual specular features.
	#jira none

Change 4092798 by Matt.Collins

	Some HDR refactoring.

	Previously the DisplayOutput and ColorGamut were only set in GameUserSettings.
	I added a Sink that checks the HDR enable. If it's toggled we apply the correct DisplayOutput and ColorGamut for the current platform (this way we get good settings even if you toggle via the console). These settings are still exposed via the console and can be set independently if the user wants.

Change 4096954 by Chris.Bunner

	Added ShaderModelID as scene texture option and renamed existing value to ShaderModelColor to better reflect the internal code.

Change 4111285 by Brian.Karis

	Eye shading update.
	Added Iris normal (disabled). Removed wrap. Fixed contact shadows.

Change 4155261 by Krzysztof.Narkowicz

	Planar reflection prefilter - use scene viewport size instead of reflection target size in order to keep filter size constant in screen space. This makes planar reflection filter more stable in case of dynamic resolution.

	#jira none

Change 4167644 by Krzysztof.Narkowicz

	Global shader map is now stored in multiple DDC entries (one per shader filename) instead of keeping everything in a single one. This allows to skip recompilation of unchanged shader files.

Change 4183727 by Yuriy.ODonnell

	Implemented auto-conversion from deferred to DBuffer decals in forward shading mode (when GBuffer is not available).

	Added support for specular and metallic channels for DBuffer decals, based on work by Chris Bunner.
	This requires DBufferC to be expanded from 2 to 4 channels, leading to slight increase in DBuffer bandwidth and memory requirements.

	Appearance of DBuffer decals is affected by this change, as specular and metallic channel values previously hard-coded in DBufferDecalShared.ush.
	Decals were forced to be non-metallic and have specular of 4% (0.5 numeric value). Now the authored decal material values will be used, which matches GBuffer decals.

	Added support for DBuffer decals with emissive component.

	Most decal types can now be automatically converted, with the exception of stain decals. Those are currently approximated as regular translucent decals.

Change 4197684 by laz.matech

	Added a PostProcess Volume test to the map to test that Cinematic Depth of View can be achieved through PPVs as well. Changed the BP_DepthOfFeildPOV asset - I exposed Focus Method so that it can be disabled for the PPV test. Added a second Hair Model head to the InFocusHair test so that it tests in and out of focus hair models (changed the name of the test to FocusHair).

	#jira none

Change 4225614 by Rolando.Caloca

	DR - Enable depth collision particles on Vulkan mobile

Change 4235489 by Uriel.Doyon

	Removed r.DefaultFeature.PointLightUnits and r.DefaultFeature.SpotLightUnits and replaced them by a single r.DefaultFeature.LightUnits which also controls the units of newly placed rect lights.

	#jira UE-59525

Change 4260154 by Mark.Satterthwaite

	Parallelize the creation of Metal archives and libraries when they are broken up into smaller sub-libraries, this should reduce apparent cook time by going wide across threads on the host of the cooker.

Change 4270594 by Brian.Karis

	Fix for textured rect light L pointing away from plane due to approximate diffuse integration.

Change 4273361 by Daniel.Wright

	Particle Cutouts with 8 verts now always use stochastic approach.  Circle textures with > 234 edges in the convex hull were overflowing the uint64 calculation of the total number of combinations, causing an infinite loop.

Change 4309174 by Mark.Satterthwaite

	Graph device utilization from the driver monitor stats - really helps see how well the GPU is being used.

Change 4310121 by Matt.Collins

	Optmizing RemoveUniformBuffersFromSource. Brings it from ~20% to ~1.5% in my testing.

	#jira none

Change 4312960 by Daniel.Wright

	Fix from Stephen Hill for incorrect light grid culling near the near plane

Change 4314169 by Richard.Wallis

	FShaderCache and associated public structures are now marked as deprecated.  All FShaderCache code hooks removed from MetalRHI, OpenGLDrv and engine Launch/Shutdown logic.

	#jira none

Change 4320760 by Arne.Schober

	DR - Remove SV_Coverage from basepass interpolants when running with Masked in early Depth with ForwardShading as otherwise earlyZ will be disabled (as the PS has to run).
	#jira UE-60992

Change 4334607 by Uriel.Doyon

	Added custom overrides to reset ULightComponent::Intensity to default (in FLightComponentDetails).
	Now settings a light Intesity to default resets the brightness to the archetype brightness.
	This handles correctly cases where the intensity units differs between the two objects.
	Also changed FLocalLightComponentDetails so that changing intensity units kepts the same brightness
	(by recomputing the Intensity).

	#jira UE-61401

Change 4336188 by Rolando.Caloca

	DR - Added -ReduceThreadUsage so programs can use less threads (for SCW )

Change 4337967 by Rolando.Caloca

	DR - Remove unused RHISupportsShaderCompression function

#rb none

[CL 4358751 by Rolando Caloca in Main branch]
2018-09-11 14:44:10 -04:00
Ben Marsh
2d3ea5e946 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4285612)
#lockdown Nick.Penwarden

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

Change 3836829 by Ben.Marsh

	UBT: Fix ability to precompile plugins from installed engine builds.

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 4042043 by Steve.Robb

	GitHub #4705 : Added weak lambda's for delegates and multicast delegates.

Change 4042056 by Robert.Manuszewski

	Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need.

Change 4042104 by Robert.Manuszewski

	Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects

	+ Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize
	+ Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command

Change 4042377 by Robert.Manuszewski

	Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability.

	+ added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame

Change 4042427 by Robert.Manuszewski

	Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running

Change 4042482 by Robert.Manuszewski

	Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection

Change 4042635 by Robert.Manuszewski

	Fix for a potential assert when incremental purge garbage is pending and something forces a full purge

Change 4044092 by Steve.Robb

	Fix for forward declared CoreUObject weakobject types in delegates when building in Clang.

Change 4044102 by Robert.Manuszewski

	Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled

Change 4044113 by Steve.Robb

	Another Clang fix.

Change 4044160 by Robert.Manuszewski

	Disregard For GC pool will now be enabled by default in cooked builds

Change 4044287 by Steve.Robb

	Typo fix.

Change 4047723 by Graeme.Thornton

	TBA: Fixes for import/export name cache and object resolving

Change 4048015 by Graeme.Thornton

	TBA: Weak/Soft/Lazy pointer serialization changes

	* Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future.
	* Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference.
	* FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization.

Change 4048021 by Steve.Robb

	Fix for binding an unbound TFunction to another TFunction with a different signature.  Also all null pointers now count as unbindings, not just nullptr.
	TIsMemberPointer added.
	TIsATFunction and TIsATFunctionRef renamed to remove the 'A's.

Change 4048544 by Robert.Manuszewski

	Fixing ConditionalBeginDestroy profiling after changes to incremental CBD.

Change 4051028 by Graeme.Thornton

	TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false

Change 4051056 by Graeme.Thornton

	TBA: High level tagged property / UObject base class text serialization
	 - UObject serialize converted to structured archive
	 - Properties written to text individually with text tags, and then binary adapted values
	 - Only saves, doesn't load

Change 4051111 by Graeme.Thornton

	TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up

Change 4051154 by Graeme.Thornton

	TBA: Convert a few uobject serializers to structured archive format for example purposes

Change 4051181 by Graeme.Thornton

	TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty

Change 4051197 by Graeme.Thornton

	TBA: ObjectProperty text serialization

Change 4051216 by Graeme.Thornton

	Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to.

Change 4051261 by Graeme.Thornton

	TBA: Convert UMetaData to structured archive

Change 4051374 by Steve.Robb

	Incorrect assert removed.

Change 4051562 by Robert.Manuszewski

	Adding stats for the new GC internal functions

Change 4051614 by Graeme.Thornton

	TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial.

Change 4052512 by Graeme.Thornton

	TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them.

Change 4053917 by Robert.Manuszewski

	Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects

Change 4053919 by Robert.Manuszewski

	Added the ability to disable incremental BeginDestroy in ini/project settings

Change 4055518 by Daniel.Lamb

	Fixup for deterministic audio generation issue.
	Submitted on behalf of Rich.Whitehouse

	#jira nojira
	#test prefilght automated test.

Change 4056854 by Graeme.Thornton

	TBA: Added a test asset to EngineTest which contains all the different property types and test cases.

Change 4056858 by Graeme.Thornton

	TBA: Updated USetProperty to proper structured archive usage

Change 4056872 by Graeme.Thornton

	TBA: Add map property field to test object

Change 4056873 by Graeme.Thornton

	TBA: Convert UMapProperty to full structured archive

Change 4056994 by Graeme.Thornton

	TBA: Converted FText over to structured archive. Implemented saving, but not loading.

Change 4059728 by Ben.Marsh

	UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories.

Change 4059805 by Graeme.Thornton

	Fixed typo in text serialization. Fixes CIS automation test errors

Change 4060007 by Graeme.Thornton

	TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive.

Change 4060092 by Stefan.Boberg

	Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset)

	When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp).

	At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place.

Change 4060108 by Stefan.Boberg

	Introduced some additional target platform utilities to help with asset cook optimizations

	* We now assign each ITargetPlatform a zero-based ordinal value
	* Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently.

	These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures.

Change 4060143 by Graeme.Thornton

	Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007

	Needs some other changes that I haven't checked in yet...

Change 4062432 by Ben.Marsh

	Fix error message when enumerating P4 changes.

Change 4062648 by Ben.Marsh

	Add missing p4 integration action.

Change 4063620 by Graeme.Thornton

	Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size.

	(https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html)

Change 4066963 by Robert.Manuszewski

	Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list.

Change 4067133 by Robert.Manuszewski

	Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks.

Change 4067443 by Steve.Robb

	FString can now be constructed from any char pointer type and length.

Change 4068156 by Steve.Robb

	Fix necessary because of FString constructor change in CL# 4067443.

Change 4070258 by Graeme.Thornton

	Fixes for VSCode

Change 4070372 by Graeme.Thornton

	TBA: Script struct serialization to structured archives

Change 4071913 by Ben.Marsh

	Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor.

Change 4071914 by Ben.Marsh

	Missing files.

Change 4071937 by Ben.Marsh

	Missing header.

Change 4072015 by Ben.Marsh

	Fixes for compiling PakFileUtilities as part of the editor.

Change 4072826 by Steve.Robb

	TBitArray::Reserve() added.
	TBitArray::Add() overloaded to allow adding multiple bits.
	TSparseArray::Reserve() optimized to call the overloaded Add().

Change 4073271 by Daniel.Lamb

	Fixed add patch tier in project launcher passing the wrong commandline option to UAT.

	#test none

Change 4074708 by James.Hopkin

	#core Removed redundant Casts

Change 4074763 by Steve.Robb

	Fix for TSparseArray::Reserve() size.

Change 4076063 by Ben.Marsh

	Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options.

Change 4077064 by Robert.Manuszewski

	Fixing compile error in PakFileUtilities

Change 4077144 by Graeme.Thornton

	TBA: TextAssetCommandlet improvements

	* Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end
	* After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid

Change 4077412 by Ben.Marsh

	Set the correct exit code for UnrealPak. Should return 0 on success, not 1.

Change 4077760 by Graeme.Thornton

	TBA: Loading fixed for tagged property serialization

	Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives

	Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it.

	Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work.

	Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items.

Change 4078800 by Ben.Marsh

	Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file.

Change 4079745 by Graeme.Thornton

	TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags)

Change 4079847 by Graeme.Thornton

	TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases.

Change 4079925 by Ben.Marsh

	Fix incorrect assignment when deriving name for chunked pak file.

Change 4080214 by Ben.Marsh

	Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects.

Change 4082394 by Graeme.Thornton

	CIS fix for variable shadowing warning

Change 4082583 by Ben.Marsh

	Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing.

Change 4082652 by Ben.Marsh

	Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory.

Change 4082755 by Graeme.Thornton

	Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program.

Change 4082756 by Graeme.Thornton

	Fixed some incorrect documentation for pakfile compressed chunk headers

Change 4082883 by Graeme.Thornton

	Static analysis warning fix

Change 4082912 by Ben.Marsh

	Move ExceptionUtils into DotNETUtilities.

Change 4085291 by Graeme.Thornton

	TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input

Change 4085523 by Graeme.Thornton

	TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code.

Change 4086037 by Robert.Manuszewski

	Fix for a potential race condition when two threads want to acquire GC lock

Change 4088655 by Graeme.Thornton

	Pak creation now uses the bEnablePakSigning setting from the crypto config json file

Change 4091474 by Steve.Robb

	Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit().
	Unused variables removed.

Change 4093632 by Steve.Robb

	CIS fixes.

Change 4093656 by Graeme.Thornton

	Build fix

Change 4093744 by Ben.Marsh

	Allow per-chunk settings for whether to enable compression in UnrealPak.

Change 4099712 by Gil.Gribb

	UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks.

	#jira UE-59686

Change 4099912 by Stefan.Boberg

	Cooking timer optimizations:

	- Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals.
	- Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test)
	- Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently
	- Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code

	This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC

Change 4100519 by Stefan.Boberg

	Quick fix for Linux build issue introduced in 4099927

Change 4105327 by Stefan.Boberg

	Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more.

	Fixes check when using -FullLoadAndSave to cook

Change 4105448 by Stefan.Boberg

	- Fixed Linux build warning re: member initialization order
	- Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine)
	- Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading.

Change 4109031 by Ben.Marsh

	Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.

Change 4109588 by Ben.Marsh

	UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.

Change 4109595 by Ben.Marsh

	Missing project file for DotNETUtilities.

Change 4110724 by Stefan.Boberg

	Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time.

	The locking was redundant since the annotation maps are managed per thread anyway.

Change 4111304 by Ben.Marsh

	UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.

	As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.

Change 4112708 by Steve.Robb

	Fix for TBitArray::MaxBits in assignment.

Change 4114133 by Stefan.Boberg

	Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads.

	Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit.

	- This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented.
	- The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call.
	- The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit

	Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave)

Change 4115010 by Robert.Manuszewski

	Fixing CIS

Change 4115249 by Robert.Manuszewski

	Fixing async loading code asserts when exiting game very early due to an error

	#jira UE-56267

Change 4117091 by Ben.Marsh

	Prevent doubled-up lines when writing status updates with console log verbosity.

Change 4117207 by Ben.Marsh

	UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace.

Change 4119175 by Ben.Marsh

	UGS: Fix crash writing version files when directory does not already exist.

Change 4119987 by Ben.Marsh

	UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt.

	Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog).

Change 4119991 by Ben.Marsh

	Update version number for UGS launcher to 1.13.

Change 4121943 by Robert.Manuszewski

	Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE)

Change 4122592 by Steve.Robb

	GitHub #4762 : Improve wording and grammar of Math comments
	Also includes improved accuracy in FMath::ComputeBoundingSphereForCone().

Change 4122819 by Stefan.Boberg

	Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter

	This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime.

Change 4122872 by Stefan.Boberg

	CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file.

Change 4123109 by Stefan.Boberg

	- Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads
	- Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion

Change 4123455 by Ben.Marsh

	PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall)


Change 4124207 by Ben.Marsh

	UBT: Remove some unnecessary indirection for generated code paths.

Change 4124217 by Ben.Marsh

	UBT: Remove another unused variable from UEBuildModuleCPP.

Change 4124377 by Stefan.Boberg

	In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again

	Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion

Change 4125071 by Stefan.Boberg

	Some tweaks to FQueuedThreadPoolBase scheduling and memory management

	- Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards
	- Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since
	no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally)
	- Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work

Change 4126132 by Ben.Marsh

	UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.

Change 4126867 by Graeme.Thornton

	TBA: Fix tagged binary formatter

Change 4127010 by Robert.Manuszewski

	AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues.

Change 4127932 by Ben.Marsh

	WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.

Change 4129050 by Ben.Marsh

	UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade.

Change 4129459 by Graeme.Thornton

	TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory

Change 4129515 by Graeme.Thornton

	TBA: Add EnterRecord overload that allows outputting of available field names when loading.

Change 4129517 by Graeme.Thornton

	TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end

Change 4129518 by Graeme.Thornton

	TBA: Added a local const bool to allow easy hacking out of text asset loading support

Change 4129558 by Graeme.Thornton

	TBA: Build fix for textasset-less configs

Change 4129614 by Ben.Marsh

	UGS: Main window is now restored to normal size when activated by clicking on the tray icon.

	#jira UE-60490

Change 4129618 by Ben.Marsh

	UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.

Change 4131936 by Robert.Manuszewski

	Removing some WIP code accidentally checked in with CL #4121943

Change 4133490 by Ben.Marsh

	UGS: Allow the $(Change) variable to be used in more places than just the context menu.

	#jira UE-60573

Change 4133550 by Ben.Marsh

	UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.

	#jira UE-60554

Change 4133681 by Ben.Marsh

	UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).

	The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.

	The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.

	Example:

	 [Default]
	+SafeToDeleteFolders=/MyGame/Test/
	+SafeToDeleteFolders=/DataService/
	+SafeToDeleteExtensions=.xx1
	+SafeToDeleteExtensions=.xx2

	#jira UE-60575

Change 4135449 by Ben.Marsh

	Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)

Change 4135730 by Ben.Marsh

	UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.

Change 4135823 by Ben.Marsh

	UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.

Change 4135945 by Ben.Marsh

	UBT: Fix error running programs with no explicitly enabled or disabled plugins.

Change 4137207 by Ben.Marsh

	UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".

Change 4137311 by Stefan.Boberg

	Removed child cooker support.

	In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity.

Change 4137393 by Ben.Marsh

	UGS: Fix display of multiline errors in the status panel.

Change 4141708 by Steve.Robb

	GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate

	#jira UE-45490

Change 4146655 by Stefan.Boberg

	Removed FullGCAssetClasses logic - no longer necessary nor useful

Change 4147318 by Ben.Marsh

	UGS: Compress build badges in a column if it shrinks below the size that they would be visible.

Change 4148207 by Ben.Marsh

	UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:

	+ServiceBadges=RoboMerge

Change 4148282 by Stefan.Boberg

	Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value

Change 4148344 by Stefan.Boberg

	Fixed minor indentation error (most likely caused by sloppy merge)

Change 4148521 by Stefan.Boberg

	Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp

Change 4148639 by Ben.Marsh

	UGS: Fix tooltips not showing for changes that have description badges.

Change 4149373 by Ben.Marsh

	UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:

	+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
	+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")

	Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.

Change 4149399 by Ben.Marsh

	UGS: Update version to 1.143.

Change 4155660 by Steve.Robb

	PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments.

Change 4157117 by Ben.Marsh

	Fix warning due to plugins disabled in .target.cs file.

Change 4158011 by Ben.Marsh

	UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.

Change 4158646 by Ben.Marsh

	UGS: Fix exception when login is discovered to have expired during a workspace update.

Change 4158678 by Ben.Marsh

	UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed.

Change 4158683 by Ben.Marsh

	UGS: Add an unhandled exception filter which sends the exception data to the backend.

Change 4159131 by Ben.Marsh

	UGS: Reduce the number of characters displayed for build badges based on the available space.

Change 4159194 by Graeme.Thornton

	TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types

Change 4159239 by Steve.Robb

	Improved readability and compliance with coding standards.

Change 4159246 by Ben.Marsh

	UGS: Allow syncing projects where source code is not available (and various version files don't exist).

	#jira UE-60985

Change 4159286 by Ben.Marsh

	UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project.

	#jira UE-60986

Change 4159302 by Ben.Marsh

	UGS: Update version to 1.144.

Change 4160308 by Ben.Marsh

	All staging client executables for blueprint projects.

	#jira UE-60983

Change 4161567 by Steve.Robb

	GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended

Change 4162641 by Ben.Marsh

	UGS: Allow customizing the position of custom columns, via the Index=N attribute.

Change 4162647 by Ben.Marsh

	UGS: Update version to 1.145.

Change 4165319 by Robert.Manuszewski

	PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn)


Change 4166150 by Ben.Marsh

	UGS: Include *.inl when looking for code changes.

Change 4166551 by Steve.Robb

	Whitespace fixes caused by a bad merge.

Change 4168483 by Ben.Marsh

	UGS: Add a more useful error if a file to be synced exceeds the max allowed path length.

Change 4168490 by Ben.Marsh

	UGS: Update version to 1.146.

Change 4168551 by Ben.Marsh

	UBT: Move bBuildLargeAddressAwareBinary into an exposed setting.

Change 4168560 by Ben.Marsh

	UBT: Remove static config variable for controlling which configuration of UHT to use.

Change 4171296 by Ben.Marsh

	UGS: Move the check for overlong paths earlier.

Change 4171531 by Ben.Marsh

	UBT: Fix exception if BuildConfiguration.xml contains an unknown category.

Change 4183371 by Robert.Manuszewski

	Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early

Change 4184312 by Ben.Marsh

	UGS: Update version to 1.148

Change 4184480 by Robert.Manuszewski

	Removing unused async loading stat

Change 4186390 by Ben.Marsh

	UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio.

Change 4188644 by Ben.Marsh

	UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT.

Change 4188647 by Ben.Marsh

	UBT: Fix exception in target receipt when architecture is null.

Change 4189617 by Ben.Marsh

	Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).

Change 4189740 by Ben.Marsh

	UAT: Remote code to build UnrealPak when packaging; we use the editor now.

Change 4189860 by Ben.Marsh

	UGS: Make the filter for excluding automated lighting rebuilds more explicit.

Change 4190082 by Ben.Marsh

	Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use.

	- Allow edit and continue for any configuration, not just debug.
	- Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory.
	- Removed code that tracks PDB output files, since they're modified multiple times during a build.
	- Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option.
	- Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower.

	#jira

Change 4192949 by Ben.Marsh

	UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles)

Change 4193218 by Ben.Marsh

	Fix formatting.

Change 4197252 by Mike.Erwin

	UAT: Fix log output w/ correct count of non-code projects.

	#jira none

Change 4197941 by Ben.Marsh

	UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix.

Change 4197964 by Ben.Marsh

	UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing.

Change 4198144 by Ben.Marsh

	UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry".

Change 4198413 by Ben.Marsh

	UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly.

Change 4198779 by Ben.Marsh

	UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument.

Change 4198825 by Ben.Marsh

	UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT.

Change 4199341 by Ben.Marsh

	UGS: Update version to 1.149

Change 4199642 by Chad.Garyet

	- Deprecate CISController
	- Add BuildController to replace CIS GET/POST for builds
	- Add LatestController, GET does what CIS/GET used to do
	- Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids
	- Latest/GET now returns "LatestData" object instead of array of longs
	- Updated EventMonitor to match all API changes
	- Fixed bug where IDs were getting reset to initial startup values every update loop

Change 4199663 by Chad.Garyet

	CIS controller still needs to return an array of longs
	#jira none

Change 4199680 by Ben.Marsh

	UGS: Update version to 1.150

Change 4200457 by Ben.Marsh

	Merging CIS fix for non-development configurations.

Change 4200472 by Mike.Erwin

	UAT: fix -skipbuildclient param default

	It was defaulting to skipbuildeditor's value, likely a copy-paste error.

	#jira none

Change 4202595 by Ben.Marsh

	Fix static analysis warning due to constant comparison against macro.

Change 4203250 by Ben.Marsh

	UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available.

Change 4206191 by Ben.Marsh

	Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out.

Change 4213011 by Ben.Marsh

	UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies.

Change 4213487 by Ben.Marsh

	UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor.

Change 4213609 by Ben.Marsh

	Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not.

Change 4215971 by Ben.Marsh

	UBT: Remove action graph visualization code; no longer used.

Change 4215996 by Ben.Marsh

	UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed.

Change 4216022 by Ben.Marsh

	UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder.

Change 4216031 by Ben.Marsh

	UBT: Move all the action executors into their own folder in the project.

Change 4216526 by Ben.Marsh

	Fix CIS warnings.

Change 4216544 by Ben.Marsh

	Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation.

Change 4216633 by Ben.Marsh

	Add support for UnrealPak plugins.

	* Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs.
	* Programs can now load any runtime modules, as long as they are whitelisted.
	* Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory.
	* UnrealPak is now always built by default when packaging
	* Convert UnrealPak to a modular configuration

Change 4216736 by Ben.Marsh

	UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc...

Change 4217447 by Ben.Marsh

	Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml

Change 4217451 by Ben.Marsh

	Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs

Change 4217617 by Ben.Marsh

	Back out changelist 4217451

Change 4222552 by Ben.Marsh

	Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported.

Change 4222630 by Ben.Marsh

	UBT: Fix spam while generating project files if Clang isn't installed.

Change 4223316 by Ben.Marsh

	UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases.

Change 4223318 by Ben.Marsh

	UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes).

	Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered.

Change 4223401 by Ben.Marsh

	UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects.

Change 4223899 by Ben.Marsh

	UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified.

Change 4224637 by Ben.Marsh

	Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins.

	Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program.

Change 4224710 by Ben.Marsh

	UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph.

Change 4224715 by Ben.Marsh

	UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention.

Change 4224726 by Ben.Marsh

	Remove commented out line.

Change 4224903 by Ben.Marsh

	Fix non-unity compile error in Stats2.h.

Change 4225051 by Ben.Marsh

	Back out changelist 4224710; causing CIS errors due to receipts not matching.

Change 4225134 by Ben.Marsh

	Fixing non-unity errors.

Change 4225203 by Ben.Marsh

	Another non-unity fix.

Change 4225249 by Ben.Marsh

	Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms.

	#jira UE-62001

Change 4225512 by Ben.Marsh

	BuildGraph: Allow setting the target to build when using the <CsCompile> task.

Change 4228815 by Ben.Marsh

	UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run.

Change 4228944 by Ben.Marsh

	UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19.

Change 4229028 by Ben.Marsh

	UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid.

Change 4229065 by Ben.Marsh

	UBT: Move another target setting into the rules assembly.

Change 4229105 by Ben.Marsh

	Fix BPT exception when generating project files.

Change 4229311 by Ben.Marsh

	UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance.

Change 4229421 by Ben.Marsh

	UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs.

Change 4229817 by Ben.Marsh

	UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT.

Change 4229824 by Ben.Marsh

	UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass.

Change 4229841 by Ben.Marsh

	UBT: Remove some legacy code from auto-detecting PCHs.

Change 4230521 by Ben.Marsh

	UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)

Change 4230871 by Ben.Marsh

	UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used.

Change 4230882 by Ben.Marsh

	UAT: Add StreamUtils back into UAT, seems like it's still used there.

Change 4230896 by Ben.Marsh

	UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors.

Change 4231014 by Ben.Marsh

	WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.

Change 4231032 by Ben.Marsh

	Fix CIS.

Change 4231096 by Ben.Marsh

	Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files.

Change 4231446 by Ben.Marsh

	UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir).

Change 4231460 by Ben.Marsh

	Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties.

Change 4233909 by Robert.Manuszewski

	PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist)


Change 4233910 by Ben.Marsh

	Enable PCHs on IOS. Reduces build time by ~25%.

Change 4234176 by Ben.Marsh

	UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.

Change 4234193 by Ben.Marsh

	Add the Delete command to Perforce wrapper in DotNETUtilities.

Change 4234688 by Ben.Marsh

	UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies.

Change 4234711 by Ben.Marsh

	UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).

	Example usage (from a .build.cs file):

	RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);

Change 4234872 by Ben.Marsh

	Expose a flag for whether the engine is installed, to fix issues generating project files.

Change 4234929 by Ben.Marsh

	Fix null reference generating receipts when UBT makefiles are active.

Change 4235883 by Chad.Garyet

	Merging 4231245 to core

	Giving Coordinator its own sln. This should fix what 4158155 was supposed to.
	#jira UE-61955

Change 4236075 by Ben.Marsh

	CIS fix

Change 4237066 by Robert.Manuszewski

	Fix for a potential crash when terminating the engine while it's being initialized

	#jira UE-60545

Change 4237078 by Robert.Manuszewski

	The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor

Change 4237116 by Ben.Marsh

	Rewrite some Windows utility functions to support paths longer than MAX_PATH.

Change 4237158 by Ben.Marsh

	Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd().

Change 4237159 by Ben.Marsh

	Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers.

Change 4239050 by Ben.Marsh

	Missing file

Change 4239318 by Ben.Marsh

	Linux CIS fix.

Change 4239685 by Ben.Marsh

	Static analysis CIS fix.

Change 4240800 by Ben.Marsh

	WorkspaceTool: Include the full command line in the log for any P4 commands.

Change 4240903 by Ben.Marsh

	PR #4909: Update copyright notices to 2018 (Contributed by projectgheist)


Change 4241025 by Ben.Marsh

	UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE.

Change 4241770 by Ben.Marsh

	UBT: Include action number in parallel executor output.

	#jira UE-62032

Change 4243469 by Ben.Marsh

	TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface.

Change 4245723 by Robert.Manuszewski

	Fixing another creash when terminating the engine while initializing.

	#jira UE-60545

Change 4245862 by Steve.Robb

	VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister.

Change 4246412 by Robert.Manuszewski

	The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened.

Change 4246612 by Ben.Marsh

	UBT: Fix spelling of "Intellisense".

Change 4249454 by Robert.Manuszewski

	Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read

Change 4249513 by Robert.Manuszewski

	Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread

Change 4255207 by Ben.Marsh

	UGS: Add additional logging whenever a P4 command fails, and when the user is logged out.

Change 4255288 by Ben.Marsh

	PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin)


Change 4256422 by Ben.Marsh

	UBT: Add an error if a module referenced by a plugin descriptor doesn't exist.

Change 4257385 by Robert.Manuszewski

	Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them.

Change 4257454 by Robert.Manuszewski

	Added the option to filter clusters listed with gc.ListClusters by objects within them.

	Usage:

	gc.ListClusters Hierachy With=ObjectName1,ObjectName2...

Change 4257526 by Robert.Manuszewski

	It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line

Change 4257822 by Ben.Marsh

	Fixes for PlatformShowcase compile errors.

Change 4258771 by Ben.Marsh

	UBT: Fix project files not being generated for foreign projects when creating .stub files.

	#jira UE-62462

Change 4258790 by Ben.Marsh

	UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names.

Change 4259276 by Ben.Marsh

	UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary.

Change 4259280 by Ben.Marsh

	UBT: Fix embedded framework zips not being uploaded for plugins.

	#jira UE-62485

Change 4260236 by Ben.Marsh

	UBT: Fix path to generated engine project file.

Change 4260334 by Ben.Marsh

	UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place.

Change 4260361 by Ben.Marsh

	UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...)

Change 4260559 by Ben.Marsh

	UGS: Update version.

Change 4261160 by Robert.Manuszewski

	MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash)

	#jira UE-62495

Change 4261421 by Ben.Marsh

	Force-sync files for building documentation, to fix issues with files not being updated.

	#jira UE-62413

Change 4261425 by Ben.Marsh

	UBT: Remove some leftover functions for handling the remote toolchain.

Change 4261530 by Ben.Marsh

	UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS.

Change 4261611 by Ben.Marsh

	UBT: Downgrade warning to a log message, since it appears when generating project files.

Change 4261710 by Ben.Marsh

	Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore.

	#jira UE-62545

Change 4261831 by Ben.Marsh

	Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set.

	#jira UE-62463, UE-62384

Change 4262723 by Ben.Marsh

	Whitelist plugins that need to be loaded by UFE.

	#jira UE-62564

Change 4265444 by Ben.Marsh

	Fix incorrect executable name for DebugGame configurations in Xcode.

	#jira UE-62574

Change 4265892 by Ben.Marsh

	Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored.

	#jira UE-62575, UE-62603, UE-62597

Change 4266019 by Josh.Adams

	- Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE

Change 4266264 by Ben.Marsh

	Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS.

	This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not.

	#jira UE-62578

Change 4266273 by Ben.Marsh

	Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action.

Change 4266614 by Graeme.Thornton

	Fix crash when cooking nativized blueprints due to removal of child cooker system.

Change 4266763 by Ben.Marsh

	Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform.

	#jira UE-62584

Change 4267985 by Robert.Manuszewski

	When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated

	#jira UE-62600

Change 4268558 by Robert.Manuszewski

	PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior.

	#jira UE-62600

Change 4269011 by Chad.Garyet

	- Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/
	  Wildcard match was only substringing to 3 chars.
	- Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab
	Published to ugsapi server 8/8/17
	#jira none

Change 4270788 by Ben.Marsh

	Fix IOS provisioning data being using when remote compiling on TVOS.

	#jira UE-62705

Change 4271916 by Ben.Marsh

	Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file.

Change 4271934 by Ben.Marsh

	Upload all static libraries in plugin folders as part of remote builds.

	#jira UE-62694

Change 4273368 by Ben.Marsh

	Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely.

	#jira UE-62705

Change 4274049 by Ben.Marsh

	Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different.

	#jira UE-62751

Change 4274823 by Ben.Marsh

	Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line.

Change 4275838 by Ben.Marsh

	Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build.

Change 4275913 by Ben.Marsh

	Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0.

Change 4284161 by Ben.Marsh

	Allow mirroring Oodle files to remote Mac.

Change 4074774 by Steve.Robb

	Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct.
	TUniqueFunction added, which is a move-only TFunction which can hold move-only functors.
	Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did.
	FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general.
	TArray::HeapPop() made to work with move-only types.

Change 4082591 by Ben.Marsh

	Move the Log class from UBT to DotNetUtilities.

Change 4083236 by Ben.Marsh

	Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log)

Change 4084107 by Ben.Marsh

	UAT: Remove the unused -SkipHeader argument to UE4Build.

Change 4089771 by Steve.Robb

	GitHub #4743 : modified VirtualAlloc function flag

	https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411

Change 4091456 by Steve.Robb

	Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit.

Change 4156437 by Ben.Marsh

	Lots and lots of fixes compiling for Clang on Windows.

	Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!

	* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
	* Clang is now supported through AutoSDKs; will be added to CIS.
	* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
	* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
	* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)

Change 4157389 by Ben.Marsh

	Few more fixes for compiling the editor with Clang.

Change 4183911 by Ben.Marsh

	Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled.

	* Incremental linking no longer forces PDB files to be enabled for source files.
	* Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain.
	* Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again.
	* Icon update is disabled for Windows when incremental linking is enabled.
	* Removed rarely-used setting to always delete produced items before each build.

Change 4184311 by Ben.Marsh

	UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS.

	The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary):

	    [Default]
	    ; Set this to a network share which contains the SDK installers for your site
	    SdkInstallerDir=

	    ; All the required SDKs for the current version of the engine
	    +SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android")
	    +SdkInfo=(Category="Windows", Description="Visual Studio 2017")
	    +SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128")
	    +SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0")

	Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively.

	The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file).

Change 4200452 by Ben.Marsh

	UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors.

	Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration.

Change 4206189 by Ben.Marsh

	UBT: Simplify logic for precompiling binaries.

	* Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds.
	* Precompiled file lists have been removed from target receipts.
	* The manifest now includes all generated headers and precompiled files when run with the -Precompile option.
	* Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph.

Change 4215466 by Ben.Marsh

	UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform.

Change 4215975 by Ben.Marsh

	UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled).

Change 4220154 by Ben.Marsh

	Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore.

Change 4224708 by Ben.Marsh

	Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities.

Change 4224958 by Ben.Marsh

	Remove CoreMinimal.h includes from Core.

Change 4229059 by Ben.Marsh

	UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function.

Change 4230508 by Ben.Marsh

	Fixup precompiled header setting for samples and games.

Change 4231457 by Ben.Marsh

	Fix exceptions in log messages having trailing newlines.

Change 4232406 by Ben.Marsh

	UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile.

Change 4234177 by Ben.Marsh

	Set up private PCH files everywhere that previously used them.

Change 4235973 by Ben.Marsh

	Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH.

Change 4238842 by Ben.Marsh

	Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file).

	Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example).

	* Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without.
	* The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro.
	* The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED
	* The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED.
	* Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths.
	* Fix 512 character maximum length on editor commands.

	260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths.

Change 4255042 by Ben.Marsh

	UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously.

	The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version.

Change 4260567 by Ben.Marsh

	UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class.

#rb none

[CL 4285673 by Ben Marsh in Main branch]
2018-08-14 18:32:34 -04:00
jason bestimt
ac3a83bd9f #ROBOMERGE-AUTHOR: jason.bestimt
Misc Vulkan/Lumin fixes from Dev-VR

CL 4071730, 4077567, 4077947, 4078460, 4078467, 4081212, 4081315, 4081648, 4083015

#JIRA: UE-59722
#RB: none

[CODEREVIEW] nick.whiting, rolando.caloca

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

[CL 4098376 by jason bestimt in Staging-4.20 branch]
2018-05-29 17:39:15 -04:00
Marcus Wassmer
8522799c64 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden

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

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 3872507 by Arne.Schober

	Back out changelist 3870267

Change 3988916 by Marcin.Undak

	Quail/Linux compilation fix #rb none #codereview arciel.rekman

Change 4042277 by Rolando.Caloca

	DR - Clear UBs between PSOs on D3D to help track down not setting resources

Change 4042297 by Arne.Schober

	DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
	#jira UE-42135

Change 4042404 by Jian.Ru

	Fix a race condition when RT is disabled and then re-enabled
	#jira

Change 4042437 by Richard.Wallis

	Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items.  Don't fetch menu items using name since that could change.  Lookup using ID's.

	Note:
	New CB function binding system in *FStartupApplicationToMacMenuBinder*.  Added to simplify the existing and new CB function binding.

	Update:
	Application menu now also gets an update on runtime langauge changed event.  Other menu's get updated anyway as per runloop updates.

	#jira UE-49526

Change 4042602 by Guillaume.Abadie

	Adds support for alpha channel in DOF.

Change 4042603 by Guillaume.Abadie

	Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.

Change 4042671 by Guillaume.Abadie

	Massages DOF's shader code for HLSLCC.

Change 4042772 by Mark.Satterthwaite

	Expose the MTLComputePipelineState's label string.

Change 4043013 by Juan.Canada

	Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
	#jira UE-49290

Change 4043171 by Rolando.Caloca

	DR - Workaround crash on hlslcc

Change 4043182 by Uriel.Doyon

	Fixed skylight issues when using pre-exposure.
	Improved IndirectIrradiance gbuffer encoding when using pre-exposure.

Change 4043452 by Mark.Satterthwaite

	Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.

Change 4044732 by Richard.Wallis

	Fix for macOs restoring to fullscreen results in render with large black border.  Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161).  There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting.  Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.

	#jira UE-57549

Change 4044741 by Guillaume.Abadie

	Fixes a couple of regressions in DOF when using temporal upsampling.

Change 4044753 by Guillaume.Abadie

	Fixes a bug in WaveBroadcastIntrinsics.ush

Change 4045010 by Guillaume.Abadie

	Creates TM-DepthOfField in QAGame to test DOF.

Change 4045417 by Jian.Ru

	Prevent recursive flush
	#jira

Change 4045923 by Mark.Satterthwaite

	Further insulate private plugin usage within MetalRHI.

Change 4046006 by Mark.Satterthwaite

	Simplify dependency on the private module and hope it now builds properly.

Change 4046612 by Mark.Satterthwaite

	Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.

	#jira UE-55234

Change 4047504 by Mark.Satterthwaite

	Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.

Change 4048765 by Uriel.Doyon

	Fixed compilation issue from CL 4048308

Change 4048776 by Guillaume.Abadie

	Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.

Change 4049059 by Mark.Satterthwaite

	Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.

Change 4050290 by Mark.Satterthwaite

	Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.

Change 4050822 by Mark.Satterthwaite

	Partial custom counter support - still has bugs.

Change 4051210 by Guillaume.Abadie

	Dumps PermutationID of shader when shader compile worker crashes.

Change 4051652 by Guillaume.Abadie

	Optimises DOF's reduce with wave broadcast instrinsics.

Change 4051839 by Mark.Satterthwaite

	Tiny fix to changing custom counters.

Change 4052553 by Guillaume.Abadie

	Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.

Change 4052611 by Guillaume.Abadie

	Fixes a crashes in light shaft.

Change 4052916 by Mark.Satterthwaite

	Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.

Change 4053111 by Rolando.Caloca

	DR - hlslcc - RequiresNegateDDY()

Change 4053402 by Mark.Satterthwaite

	Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.

Change 4053454 by Mark.Satterthwaite

	More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.

Change 4053765 by Guillaume.Abadie

	Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.

Change 4053911 by Marcus.Wassmer

	Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)

Change 4053915 by Marcus.Wassmer

	Attempt to fix what looks like some unity build rearrangement issue.

Change 4053916 by Marcus.Wassmer

	Fix PS4 shader compile issues.  Point seems to be a reserved keyword in PSSL

Change 4054642 by Rolando.Caloca

	DR - Fix SCW not showing correct callstack/exception info on crashes

Change 4054661 by Mark.Satterthwaite

	Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.

	#jira UE-58670

Change 4054780 by Guillaume.Abadie

	Cuts number of shader permutation for DOF's gather pass from 138 to 41.

Change 4054950 by Rolando.Caloca

	DR - vk - Fix negated ddy

Change 4055019 by Guillaume.Abadie

	Cuts number of shader permutation for tonemapper from ~2k to 64.

Change 4055144 by Guillaume.Abadie

	Adds an ensure to catch when there is too many permutations on a global shader.

Change 4055240 by Krzysztof.Narkowicz

	Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
	#jira FORT-79981

Change 4055323 by Rolando.Caloca

	DR - Fix GLSL-based platforms

Change 4055387 by Guillaume.Abadie

	Adds a point mirror between foreground and background bokeh to be phisically accurate.

Change 4055403 by Rolando.Caloca

	DR - Fix uninitialized var causing crash

Change 4055709 by Guillaume.Abadie

	Fixes a crash in SunTemple.

Change 4055771 by Guillaume.Abadie

	Fixes DOF's reduce pass being compiled for SM4.

	#jira UE-58714

Change 4055876 by Rolando.Caloca

	DR - hlslcc - Fix crash during loop analysis on empty if() blocks

Change 4056026 by Rolando.Caloca

	DR - Enable volumetric fog on Vulkan

Change 4056272 by Guillaume.Abadie

	Exposes new DOF settings in post process settings.

Change 4056460 by Brian.Karis

	Fix uniform buffer assert.

Change 4057151 by Guillaume.Abadie

	Fixes a bug in DOF's temporal stability gathering pass.

Change 4057220 by Guillaume.Abadie

	Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.

	AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.

	#jira UE-53997

Change 4057587 by Rolando.Caloca

	DR - Enable Diaphgram DOF on Vulkan

Change 4058022 by Guillaume.Abadie

	Exposes new DOF settings to UCineCameraComponent

Change 4058136 by Guillaume.Abadie

	Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.

Change 4058338 by Jostin.Bilyeu

	Checking in new map for verifying Mobile rendering features in conjunction with TAAU

Change 4058352 by Matt.Collins

	Wrapped NSString for lambda capture.

Change 4058500 by Rolando.Caloca

	DR - Fix bad normals & tangents on GL mobile

	#jira UE-57769

Change 4058723 by Rolando.Caloca

	DR - vk - Split device pipeline cache off generic cache file

Change 4058782 by Mark.Satterthwaite

	Rebuild Mac hlslcc for 4055876

Change 4058791 by Mark.Satterthwaite

	Force MetalBackend to pick up new hlslcc.

Change 4058840 by Guillaume.Abadie

	Fixes a bug in DOF's scalability setting groups

Change 4058928 by Daniel.Wright

	Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array

Change 4059141 by Marcus.Wassmer

	PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)

Change 4059227 by Brian.Karis

	Fix for simple forward

Change 4059269 by Marcus.Wassmer

	Update test screenshots to account for minroughness changes from devrectlight

Change 4059478 by Mark.Satterthwaite

	It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.

	#jira UE-58773

Change 4059870 by Guillaume.Abadie

	Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).

	#jira UE-58850

Change 4060324 by Rolando.Caloca

	DR - Very minor render pass

Change 4060328 by Rolando.Caloca

	DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0

Change 4060461 by Jostin.Bilyeu

	Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU

Change 4060698 by Marcus.Wassmer

	Merging xbox compile fix

Change 4060930 by Marcus.Wassmer

	Fix android compile

Change 4060971 by Mark.Satterthwaite

	Some missing #defines to guard functions that require an external plugin.

	#jira UE-58910

Change 4061104 by Guillaume.Abadie

	Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.

	#jira UE-58900

Change 4061364 by Jostin.Bilyeu

	updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.

Change 4061743 by Mark.Satterthwaite

	Fix another build error for iOS.

	#jira UE-58827

Change 4061753 by Arne.Schober

	DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
	#jira UE-58525

Change 4062236 by Mark.Satterthwaite

	AppleTV doesn't appear to support the set*Bytes APIs in Metal.

	#jira UE-58580

Change 4062320 by Guillaume.Abadie

	Enables bokeh simulation on scattered bokeh on Epic post process settings.

Change 4062402 by Guillaume.Abadie

	Phiscally animates the rotation of the bokeh as aperture changes.

Change 4062587 by Mark.Satterthwaite

	Fix another Ocean compile error.

	#jira N/A

Change 4062811 by Marcus.Wassmer

	Only do newton iterations for area lights
	Fixes a host of AMD-only bugs

Change 4063174 by Marcus.Wassmer

	Workaround shipping build compile error for all clang platforms.

Change 4063760 by Guillaume.Abadie

	Changes the default number of diaphragm blades to 7.

Change 4063992 by Marcus.Wassmer

	Fix DX12 crash when depthboundstest not available.

Change 4064233 by Rolando.Caloca

	DR - Proper fix for GL changes related to tangents

	#jira UE-58948

Change 4064323 by Uriel.Doyon

	Increase the max number of uavs to 16

	#jira 58898

Change 4064428 by Guillaume.Abadie

	Fixes a crashes on XB1 when doing async SSAO.

Change 4064525 by Uriel.Doyon

	Better logic for depth bound support in d3d12.

	#jira 58956

Change 4064694 by Jian.Ru

	Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables

Change 4064873 by Guillaume.Abadie

	Fixes wrong resource transitions in DOF's reduce passes.

Change 4064956 by Guillaume.Abadie

	Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.

Change 4065215 by Arne.Schober

	DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
	In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.

Change 4065312 by Guillaume.Abadie

	Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()

Change 4070361 by Guillaume.Abadie

	Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.

Change 4070778 by Marcus.Wassmer

	Fix bad merge

Change 4071337 by Rolando.Caloca

	DR - vk - Do not spam log

Change 4048308 by Uriel.Doyon

	Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
	- Fixed d3derror when resizing the window in multi-gpu.
	- Fixed d3d12 checks when exiting in multi-gpu.
	- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
	- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
	- Removed of IRHIComputeContext::GetContextForGPUMask().
	- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
	- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
	- Command lists now have a GPU mask set at creation time.
	- Support for immediate command list GPU mask.
	- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
	- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
	- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
	- Multi-gpu modes are now controlled through  -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
	- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
	- Variable GNumActiveGPUsForRendering is now split in  GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.

[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -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
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
78856db678 Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden

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

Change 3944462 by Jack.Porter

	Prevent TVOS packaging from PC from attempting to build an asset catalog
	#jira UE-56114

Change 3943602 by Leslie.Nivison

	Adding licenses for additional TPS

	#jira none

Change 3943597 by Leslie.Nivison

	Adding Enterprise licenses; licenses for additional TPS.

	#jira none

Change 3941962 by Leslie.Nivison

	Updating 4.19 credit list
	#jira none

Change 3941865 by Mark.Satterthwaite

	Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.

	- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted  when this occurs.

	- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.

	#jira UE-56021

Change 3940993 by Marc.Audy

	Do not return the last column if the specified column does not exist.
	Allow display names to be used when looking for a property if the table is backed by a user defined struct.
	Do not crash if a property with the given name is not found.

	#jira UE-56017

Change 3939179 by Ben.Marsh

	Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.

	#jira

Change 3938566 by Aaron.McLeran

	#jira UE-55940  Fix for wavetable synth

	Missed a case.

Change 3938533 by Dan.Oconnor

	Fix uninitialized variable exposed by recent MallocTBB change

	#jira UE-56013

Change 3938508 by Aaron.McLeran

	Fixing CIS error, init order issues.

	#jira UE-55940

Change 3938490 by Aaron.McLeran

	#jira UE-55940  Fix for wavetable synth

Change 3938352 by josh.jensen

	Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified

	#jira UE-55987

Change 3938345 by Peter.Sauerbrei

	fix to Icons not being built on Mac
	#jira UE-53492

Change 3938305 by Mark.Satterthwaite

	For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.

	#jira UE-56005

Change 3937968 by Ben.Marsh

	Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.

	#jira UE-56003

Change 3937573 by Mitchell.Wilson

	Saving asset to resolve empty asset warning.
	#jira UE-56004

Change 3937561 by Max.Preussner

	ImgMedia: Added support for single-threaded platforms

	Copied from Dev-Sequencer CL# 3937516

	#jira UE-55986

Change 3937305 by Mike.Beach

	Resaving google VR model content with UGS build to fix the empty file version error.

	#jira UE-55984

Change 3935595 by Arne.Schober

	Fix missing UV precission on BSP surfaces
	#jira UE-54014

Change 3935411 by josh.jensen

	Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory

	#jira UE-55899

Change 3934982 by Marc.Audy

	Fix shadow variable issue

	#jira UE-55957

Change 3934892 by Mark.Satterthwaite

	In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.

	#jira UE-55956

Change 3934421 by Arciel.Rekman

	Fix lockup/OOM when setting audio sources to 2 (UE-53968).

	#jira UE-53968

Change 3934156 by Peter.Sauerbrei

	fix for backgrounding problems on iOS and tvOS
	this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
	#jira UE4-55609

Change 3933547 by Aaron.McLeran

	#jira UE-55940 Fix for wavetable sample duration and seek

Change 3933544 by Aaron.McLeran

	#jira UE-55939 Hiding channel format
	Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.

Change 3933540 by Aaron.McLeran

	#jira UE-55718 Fix for playback progress.

Change 3933280 by Ethan.Geller

	[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran

Change 3933079 by Ryan.Vance

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

Change 3932319 by Ben.Zeigler

	#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
	It now keeps track of which packages were created by the async load system and will only throw those away on cancel
	Copy of CL #3932312

Change 3932287 by Matt.Kuhlenschmidt

	Updated substance texture

	#jira UE-55081

Change 3931729 by josh.jensen

	Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build

	#jira UE-55899

Change 3929723 by josh.jensen

	Removed packaging requirement on Windows of a remote Mac after setting an app icon to default

	#jira UE-53495

Change 3929722 by josh.jensen

	Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects

	#jira UE-53492, UE-51879
	#robomerge

Change 3929350 by Mike.Erwin

	"Save As" support for
	#jira UE-55732

Change 3927829 by Steve.Robb

	Out-of-memory handler for MallocStomp.

	#jira UE-55550

Change 3926404 by Mike.Erwin

	#jira UE-55732

Change 3926394 by Dan.Oconnor

	Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode

	#jira UE-55813

Change 3926098 by Guillaume.Abadie

	Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.

	#jira UE-55697

Change 3925927 by Guillaume.Abadie

	Enables TAA's AA_BORDER on all permutation for dynamic resolution.

	#jira UE-55353

Change 3925882 by Matt.Kuhlenschmidt

	Fix substance uri having one extra /
	Fix substance menu option showing up for github (incompatible with plugin)

	#jira UE-55766

Change 3925873 by Ben.Zeigler

	#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
	Copy of CL #3925871

Change 3925163 by Guillaume.Abadie

	Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.

	#jira UE-55788

Change 3924839 by Guillaume.Abadie

	Fixes a crash of LDR android preview with OS DPI scale != 0.

	#jira UE-43622

Change 3924542 by Cosmin.Sulea

	Merged fixes:
	UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
	UE-51086 - No clear editor activity during remote shader compiling

	#jira UE-55299

Change 3922398 by Mark.Satterthwaite

	Compile fix for 3922273.

	#jira UE-53993

Change 3922273 by Mark.Satterthwaite

	Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.

	#jira UE-53993

Change 3921127 by Ethan.Geller

	[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran

Change 3920632 by Lina.Halper

	Fix render thread crash when morphtarget is deleted or added

	#jira: UE-55521

Change 3920557 by Lauren.Ridge

	Fixing material editor resetting background to off
	#jira UE-55267

Change 3920519 by Phillip.Kavan

	Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.

	Change summary:
	- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.

	#jira UE-55628

Change 3920476 by Michael.Trepka

	Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.

	#jira UE-55599

Change 3920336 by Ben.Marsh

	Ignore license warnings from PVS-Studio.

	#jira UE-55729

Change 3920134 by Jurre.deBaare

	Moving over:
	"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
	#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"

	#jira UE-55619

Change 3920126 by Max.Preussner

	MediaCompositing: Implemented media track for Sequencer

	Copied from Dev-Sequencer

	#jira UE-53974

Change 3920004 by Jack.Porter

	Disable Manual Vertex Fetch SRV creation when MVF is disabled.

	Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.

	Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.

	#jira UE-54764
	#jira UE-55622

Change 3919069 by Aaron.McLeran

	#jira UE-55718 Fix for playback progress.

Change 3918942 by Graeme.Thornton

	Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.

	#jira UE-55686

Change 3918721 by Zak.Parrish

	Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none

Change 3918236 by Joe.Graf

	Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face

	#jira: UE-55531

Change 3917970 by Martin.Wilson

	Expose curve data in remap assets to blueprints

	#jira UE-55585

Change 3917740 by Olaf.Piesche

	Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);

	#jira UE-55591

Change 3917713 by Cody.Albert

	Build fixes for Match3 on iOS

	#jira UE-53742

Change 3917472 by zak.parrish

	added mouthPressLeft and MouthPressRight back into debug screen #jira none

Change 3917244 by Michael.Dupuis

	#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node

Change 3916775 by Ben.Marsh

	Add missing files for packaging IOS on Windows.

	#jira UE-53873

Change 3916293 by Joe.Graf

	Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class

	#jira: UE-55531

Change 3916011 by Joe.Graf

	Added an accessor to get the transform of the face mesh or a face mesh component

	#jira: UE-55531

Change 3915967 by Mark.Satterthwaite

	Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.

	#jira UE-54858

Change 3915751 by Nick.Atamas

	Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...

	#jira UE-55639

Change 3915421 by Martin.Wilson

	Fix crash from live link message bus heartbeat manager

	#jira UE-55644

Change 3915326 by Dan.Oconnor

	Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions

	#jira UE-55592

Change 3915250 by JeanLuc.Corenthin

	Can't add C++ code to Enterprise projects (when enterprise is installed)

	Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)

	Fix:
	- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
	- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
	- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.

	#jira UEENT-1032

Change 3915240 by Ben.Marsh

	Reduce editor startup times by ~15s on Windows.

	Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.

	Now spends <0.1s total in this function on editor startup.

	(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).

	#jira UE-55642

Change 3914803 by Gil.Gribb

	UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.

	#jira UE-49600

Change 3914616 by zak.parrish

	Adding Calibrate button #jira none

Change 3914599 by Andrew.Rodham

	Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified

	  - The following sequence of events exposes this issue:
	    - Create a master sequence with a single shot that spawns a cube
	    - Add this sequence to a level and set it to auto-play
	    - Save everything and restart
	    - Resave just the inner shot asset without opening it
	    - PIE
	    - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.

	#jira UE-55626

Change 3914479 by Krzysztof.Narkowicz

	Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
	#jira UE-53875

Change 3914347 by Martin.Wilson

	Stop anim preview instance from ever running in parallel

	#Jira UE-55577

Change 3914179 by Benn.Gallagher

	Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.

	#jira UE-55528

Change 3914122 by Steven.Barnett

	Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.

	#jira UE-54081

Change 3913950 by zak.parrish

	Clamping my normalization math #jira none

Change 3913926 by Zak.Parrish

	First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none

Change 3913668 by Matt.Kuhlenschmidt

	Adding missing substance styling info
	#jira UE-55081

Change 3913667 by Nick.Atamas

	Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...

	Upgrading to support ARCore 1.0 runtime.

	#jira UE-55602

Change 3913645 by Aaron.McLeran

	#jira UE-55618 fix for mono audio devices

Change 3913509 by Cody.Albert

	Removing PhsX build exclusion from Match3

	#jira UE-53742

Change 3913380 by Dan.Oconnor

	Preload Sequence Bindings node at proper time

	#jira UE-55412

Change 3913300 by Mitchell.Wilson

	Updating iOS default startup movie to H.264, 1280x720, 30 fps.
	#jira UE-55382

Change 3913291 by Cody.Albert

	More iOS build fixes for Match3

	#jira UE-53742

Change 3913169 by Cody.Albert

	Fixed iOS build issues for UnrealMatch3

	#jira UE-53742

Change 3913131 by Krzysztof.Narkowicz

	Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)

	#jira UE-54580

Change 3912851 by Lina.Halper

	Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.

	#jira: UE-55603

Change 3912629 by Guillaume.Abadie

	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 3912170 by Martin.Wilson

	Add logging for UE-55511 (NaN crash)

	#jira UE-55511

Change 3912161 by Phillip.Kavan

	Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.

	Change summary:
	- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
	- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.

	#jira UE-55474

Change 3912100 by Luke.Thatcher

	[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19

	#jira UE-55340

Change 3912072 by Mike.Beach

	Art cleanup pass on AR template icon.

	#jira UE-55587

Change 3912057 by Michael.Trepka

	Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()

	#jira UE-55580

Change 3911592 by Jurre.deBaare

	Crash on merge actor when Use specific LOD Level
	#fix make sure we use the correct array to determine the number of components being merged
	#jira UE-55508

Change 3911466 by Cosmin.Sulea

	Mega change list for the following related issues:

	UEMOB-417 - Support Xcode automagical code signing
	UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
	UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
	UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
	UE-55330 - Automatic signing doesn't work with tvOS
	UE-10969 - Remote build fails if there is no development provision provided

	#jira UEMOB-417

Change 3911454 by Luke.Thatcher

	[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
	 - FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
	 - The SubSections array is leaked when the memstack is popped.
	 - Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).

	(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)

	#jira UE-54835

Change 3911370 by Dragan.Jerosimovic

	changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
	updated KiteBoyHead_JointsAndBlends.fbx
	#jira none

Change 3910545 by Dan.Oconnor

	PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)


	#jira UE-55513

Change 3910449 by Michael.Trepka

	Fix for crash on exit on Mac when closing the root editor window with Cmd+W

	#jira UE-54973

Change 3909601 by Patrick.Boutot

	Expose to Blueprint GetProjectDirectory functions.
	#jira UE-55548, UEENT-999

Change 3909543 by Patrick.Boutot

	Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
	Python's help function now output the Python type instead of the cpp type.
	Do not export hidden enum entry from Python.
	#jira UE-55545, UEENT-961

Change 3909289 by Zak.Parrish

	Adding shirt/chest to faceAR sample #jira none

Change 3908808 by Dragan.Jerosimovic

	added combination shapes network
	#jira none

Change 3908788 by Mitchell.Wilson

	Updaing Match3Camera to resolve clipping issue on iPhone X
	#jira UE-54723

Change 3908374 by Jack.Porter

	Fix viewport offset problem for preview PIE window
	#jira UE-52583

Change 3907108 by Shane.Caudle

	#JIRA
	Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
	+CVars=r.ShadowQuality=4

Change 3907105 by Lauren.Ridge

	Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
	#jira UETOOL-1303

Change 3907011 by Chris.Phillips

	UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.

	#jira UE-52667

Change 3906792 by Lauren.Ridge

	When constructing the material editor viewport, use the direct method to set the environment visibility.

	#jira UE-55267

Change 3906734 by Chris.Babcock

	Fix issue with vertex fetch disable
	#jira UE-55475

Change 3906721 by Rolando.Caloca

	UE4.19 - Check if the results file from SCW is corrupt

	#jira UE-53124

Change 3906648 by Chris.Phillips

	UE-53184 Assertion when running mobile PIE in iPhone 5S mode.

	Updated the iPhone5s.json Metal settings.

	#jira UE-53184

Change 3906474 by David.Hibbitts

	Added default constructor for FLiveLinkWorldTime.

	#jira UEENT-879 #rb none

Change 3906467 by Lauren.Ridge

	Swapping sibling materials now correctly swaps the overridden parameters out
	#jira nojira demobug

Change 3906156 by Michael.Trepka

	Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.

	#jira UE-52492

Change 3906144 by Michael.Dupuis

	#jira UE-54547: Added guard to be sure that material is valid

Change 3905882 by Matt.Kuhlenschmidt

	Enable substance buttons again

	#jira UE-55081

Change 3905513 by Sorin.Gradinaru

	UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression

	#jira UE-55394
	#jira UE-52328
	#iOS
	#4.19

	This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression

	Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings

	- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec

	- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed

	- HTTP module no longer has time to wait for the requests to complete.

Change 3905506 by Michael.Dupuis

	Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable

	Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0

	#jira 0

Change 3905498 by Lina.Halper

	Fix multiple pose asset issue - fallout from CL 3903509

	- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
	- as for additive, change to use blend from identity.

	#jira: UE-55439, UE-55448, UE-55250

Change 3905325 by Sorin.Gradinaru

	UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"

	#jira UE-54764
	#4.19

	Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
	Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)

Change 3905307 by Jack.Porter

	Removed iPhone5 PIE json file as it's not a supported device

	#jira UE-53184

Change 3905132 by Shane.Caudle

	#JIRA
	Pushed it a little more out of the yellow.

Change 3905117 by Shane.Caudle

	#JIRA
	Got SSS working and made some tweaks.

Change 3904936 by Max.Chen

	Fix editor only

	#jira UE-55459

Change 3904269 by Chris.Babcock

	Disable manual vertex fetch on mobile
	#jira UE-55389
	#ue4
	#android
	#ios

Change 3904186 by Lina.Halper

	Pose asset crash when skeleton not existing during serialization
	#jira: UE-55422

Change 3904063 by Max.Chen

	Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.

	Copy from Dev-Sequencer

	#jira UE-55314

Change 3904060 by Lauren.Ridge

	Fix for saving a child out of a layer stack capturing the wrong parameters
	#jira UETOOL-1280

Change 3904050 by Luke.Thatcher

	[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)

	 - Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
	 - The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
	 - This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
	 - The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.

	#jira UE-55437

Change 3904004 by Lauren.Ridge

	Fix for material layer output nodes being able to be placed in other graphs
	#jira UE-54867

Change 3903931 by Aaron.McLeran

	#jira UE-55435 Crash in google resonance when toggling visualization
	fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1

Change 3903722 by David.Hill

	The ProxyLOD plugin is experimental:  don't load it by default.

	#jira: ue-55402

Change 3903583 by Ben.Marsh

	Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.

	#jira

Change 3903529 by Richard.Hinckley

	#jira UEDOC-7180
	4.19 API Documentation manual update.

Change 3903509 by Lina.Halper

	Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/

	#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.

	#jira: UE-55250

Change 3903501 by Michael.Dupuis

	#jira UE-55122: Fixed bad neighbors updating for mobile

Change 3903387 by Will.Fissler

	; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
	;r.XGEShaderCompile = 0

	#jira UE-55286

Change 3903251 by Sungjin.Hong

	#JIRA UE-55349
	#loc added KO locallization for VR, Handheld AR templates

Change 3903219 by Adrian.Siminciuc

	https://jira.it.epicgames.net/browse/UE-54738
	removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI

	#jira UE-54738
	#iOS

Change 3903130 by Cody.Albert

	Updated build configuration to resolve iOS build error on UnrealMatch3

	#jira UE-53742

Change 3903056 by Shane.Caudle

	#JIRA
	Latest tweaks to lighitng and rendering for boy.

Change 3903032 by Cody.Albert

	Added missing include that was preventing iOS builds from succeeding on TopDown template

	#jira UE-54341

Change 3902669 by Lauren.Ridge

	Fix for thumbnail crash after saving material instances that contain layers
	#jira crash

Change 3902581 by Mitchell.Wilson

	Updating Samples and Template Min iOS Version to iOS 9.
	#jira UE-55148

Change 3902448 by Lauren.Ridge

	Fix for crash due to unparented material instance
	#jira crash

Change 3902206 by Chris.Phillips

	UE-52612 External textures only work in pixel shaders.

	Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.

	#jira UE-52612

Change 3902120 by Peter.Sauerbrei

	bvringing over the fix for backgrounding crash on iPhone X from Fortnite
	#jira UE-54883

Change 3902097 by Lina.Halper

	Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
	#DUPE MERGE: CL 3901939

	#jira: UE-55401

Change 3902082 by Mike.Beach

	Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").

	#jira UE-55153

Change 3901963 by Peter.Sauerbrei

	bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
	#jira UE-52797

Change 3901959 by Ethan.Geller

	[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren

Change 3901482 by Lauren.Ridge

	Fix for crash on opening materials due to array out of bounds
	#jira crash

Change 3901181 by Michael.Dupuis

	#jira UE-55313: To enable tessellation we MUST have 2 materials in the list

Change 3900935 by Nick.Bullard

	Updating Default_Startup.mp4 with more recent UE branding.
	This still requires another update for final version with audio

	#jira UE-55382

Change 3900660 by Aaron.McLeran

	#jira UE-55381 crash in sound submix

	Bringing fix from FN to 4.19 (CL 3890630)

Change 3900643 by Aaron.McLeran

	#jira UE-55380 fixing synth envelopes

Change 3900617 by Aaron.McLeran

	#jira UE-55151 Fixing crash w/ mic component

Change 3900544 by tim.gautier

	QAGame: Submitting asset for AsNumber fix submitted with UE-10310
	#jira UE-29618

Change 3900430 by Ryan.Brucks

	KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.

	#JIRA none

Change 3900399 by Lauren.Ridge

	Fixing global parameters not working
	#jira UE-55242

Change 3900297 by Ben.Marsh

	Speculative fix for hot reload causing version files to be updated with a locally made installed build.

	#jira UE-55072

Change 3900116 by Chris.Bunner

	Removing outdated tests and test assets.

	#jira UETOOL-1298

Change 3900042 by Chris.Bunner

	Deleted SharedInputCollection and associated material graph nodes.

	#jira UETOOL-1298

Change 3899887 by Lauren.Ridge

	Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.

	#jira UE-55267

Change 3899824 by Chris.Phillips

	UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.

	Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.

	#jira UE-52813

Change 3899775 by Lauren.Ridge

	Fix for crash on opening material layer material
	#jira crash

Change 3899673 by Jamie.Dale

	Fixed Functions sometimes being exposed to Python as if they were Structs

	#jira none

Change 3899487 by Chris.Bunner

	Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.

	#jira UETOOL-1298

Change 3899156 by Phillip.Kavan

	Include address of object reference in persistent frame debug info.

	#jira UE-51952

Change 3899146 by Rolando.Caloca

	UE4.19 - hlslcc - Workaround for intrinsics with two output arguments

	#jira UE-52477

Change 3899060 by Bart.Hawthorne

	Add a null check for the game mode pointer in UWorld::SpawnPlayActor

	#jira UE-54461

Change 3899015 by Krzysztof.Narkowicz

	Fixed initialization of instancing random vertex stream.

	#jira UE-53605

Change 3899008 by Michael.Dupuis

	Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1

	#jira 0

Change 3898994 by Phillip.Kavan

	More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.

	#jira UE-51952

Change 3898962 by Guillaume.Abadie

	Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.

	#jira UE-55352

Change 3898826 by Sorin.Gradinaru

	UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin

	 #4.19
	#Android
	#jira UE-54784

	Wrong code to make an integer even + operator precedence

Change 3898822 by Sorin.Gradinaru

	UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
	FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests

	#jira UE-52328
	#jira FORT-70783

	#iOS
	#PC
	#4.19

	UE-52328 reopened because of FORT-70783
	iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.

Change 3898705 by Max.Chen

	Sequencer: Skip if the binding id's sequence can't be found.

	#jira UE-55337

Change 3898108 by Michael.Dupuis

	#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening

Change 3898076 by Max.Chen

	Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.

	#jira UE-55328

Change 3897897 by Matt.Kuhlenschmidt

	Disable substance buttons for now
	#jira UE-55081

Change 3897742 by Aaron.McLeran

	Merging fix for UE-55223 to 4.19
	#jira UE-55223

Change 3897538 by Michael.Dupuis

	#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material

Change 3897406 by Phillip.Kavan

	Back out local debug logs.

	#jira UE-51952

Change 3897400 by Phillip.Kavan

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

	- Mirrored from //UE4/Dev-Core (3871863).

	#jira UE-51952

Change 3897391 by Max.Chen

	Sequencer: Don't update current time to be within the view range when stepping into a sequence.

	#jira UE-55322

Change 3897274 by Krzysztof.Narkowicz

	Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.

	#jira UE-54683

Change 3897148 by Adrian.Siminciuc

	https://jira.it.epicgames.net/browse/UE-55147

	#4.19
	#iOS

	#jira UE-55147

Change 3897138 by Max.Chen

	Sequencer: Fix crash when an actor factory is not found.

	Copy from Dev-Sequencer

	#jira UE-55309

Change 3897045 by Jack.Porter

	Fix for crash in ALandscapeProxy::UpdateGrass

	#jira UE-54362

Change 3897036 by Jack.Porter

	Fix InstancedStaticMesh crash with invalid lightmap coordinates
	#jira UE-54423

Change 3896801 by Dmitriy.Dyomin

	Fixed: Planar reflections does not handle origin rebasing
	#jira UE-52351

Change 3896743 by Dmitriy.Dyomin

	Discard CPU copy of vertex/index buffers in OpenGL RHI
	#jira UE-52133

Change 3896619 by Guillaume.Abadie

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

	#jira UE-55317

Change 3895718 by Max.Chen

	Sequencer: Null checks to prevent crash when saving the default state of a spawnable

	#jira UE-55304

Change 3895426 by Rolando.Caloca

	UE4.19 - Add an increased timeout for SCW to avoid OOM situations

	#jira UE-55306

Change 3895245 by tim.gautier

	QAGame: Submitting updated test assets. Broke ML_Base out into individual components
	#jira UE-29618

Change 3895194 by Marc.Audy

	Prevent crash due to a null entry in the linked to graph of the destination pin
	#jira UE-54606

Change 3894913 by Arne.Schober

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

Change 3894625 by Arne.Schober

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

Change 3894464 by Martin.Wilson

	Extra debugging info for UE-54705 plus remove check so it is no longer fatal

	#jira UE-54705

Change 3894450 by Martin.Wilson

	Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node

	#jira none

Change 3893948 by Jostin.Bilyeu

	Adding default player start location to help with launch on testing within level TM-Materials_POM

	#jira UE-55063

Change 3893495 by Robert.Manuszewski

	Fixing a crash when running DDC commandlet

	#jira UE-54646

Change 3893451 by Jurre.deBaare

	Altered fix for actor merging with negative scaling to get correct normals
	#jira UE-54996
	#misc updated automated test to include this test-case

Change 3892913 by Ethan.Geller

	[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran

Change 3892871 by Ryan.Vance

	Multi-view requires the day dream compositor.

	#jira UE-55253

Change 3892785 by Arciel.Rekman

	Linux: fix inability to create a C++ project (UE-55222).

	- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
	- Installed build will check for more compilers in commonly found locations.

	#jira UE-55222

Change 3892687 by Jostin.Bilyeu

	Checking in replacement Built Data for map TM-Materials_POM

	#jira UE-55063

Change 3892674 by Jostin.Bilyeu

	Adding an invisible plane to TM-Materials_POM to help testing on mobile devices

	#jira UE-55063

Change 3892622 by Aaron.McLeran

	#jira none Fixing scope lock in phonon probe volume

Change 3892511 by Matt.Kuhlenschmidt

	Fix zero engine version warning

	#jira UE-55081

Change 3892211 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 3891732 by Brian.Zaugg

	Re-adding iPhoneX launch images with correct case.

	#JIRA UE-53541

Change 3891727 by Arne.Schober

	REL - Do not recreate one Frame Resource for dynamic draws

	#jira UE-55063

Change 3891716 by Ben.Marsh

	Fix buffer overrun when generating callstack.

	#jira

Change 3891697 by Brian.Zaugg

	Deleting iPhoneX launch images that have incorrect case.

	#jira UE-53541

Change 3891678 by Brian.Zaugg

	IPP binaries for iPhoneX support.

	#jira UE-53541

Change 3891525 by Lauren.Ridge

	Thumbnails now update correctly w/parameters
	#jira UETOOL-1333

Change 3891520 by Lauren.Ridge

	Fixing SA error in material editor
	#jira UE-55206

Change 3891495 by Jurre.deBaare

	Normal are different after Merge Actor on scaled objects
	#fix Make sure we do not apply scale when transform Normals/Tangents
	#jira UE-54996

Change 3891352 by Guillaume.Abadie

	Fixes ensure when visualizing HDR with TAAU.

	#jira UE-55019

Change 3891323 by Matt.Kuhlenschmidt

	Added substance buttons to content browser and material editor

	#jira UE-55081

Change 3891033 by David.Hibbitts

	#JIRA UE-55135

	Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.

Change 3890642 by Arne.Schober

	REL - Better fix for Paper2d which honors batching

	#jira UE-55063

Change 3890593 by Arne.Schober

	REL - 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 3890502 by Mike.Erwin

	Fix reported VRAM size on Metal

	We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.

	This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
	Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.

	Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.

	#jira none

Change 3890404 by Jostin.Bilyeu

	Updating Demo Display names to remove redundant spaces

	#jira UE-29618

Change 3890401 by Dan.Oconnor

	Fix for property table performance regression

	#jira UE-54984

Change 3890194 by Dan.Oconnor

	Make sure a CDO's subobjects are preloaded when running in -game

	#jira UE-54242

Change 3890182 by Krzysztof.Narkowicz

	Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.

	#jira UE-54683

Change 3890140 by Rob.Cannaday

	Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
	Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
	#jira none

Change 3889850 by Shaun.Kime

	Now initializing Niagara scripts and emitters even if the config file isn't ready yet.

	#jira UE-54168
	#jira UE-54169

	#tests can create a blank emitter and all script sub-types

Change 3889833 by Michael.Trepka

	Disabled Clang's unused-lambda-capture warning added in Xcode 9.3

	#jira none

Change 3889696 by Patrick.Boutot

	Allow rename from AssetTool when there is no source control enabled.
	Fix crash when you rename an asset without an enabled source control.

	#jira UEENT-803

Change 3889470 by Mike.Beach

	Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).

	#jira UE-55153

Change 3889319 by Matt.Kuhlenschmidt

	Disable hardware survey on build machines.  They run windows server and lack the necessary win32 api functionality to execute it properly

	#jira UE-55166

Change 3889087 by Jostin.Bilyeu

	Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up

	#jira UE-29618

Change 3889073 by Sorin.Gradinaru

	UE-55117 Android virtual keyboard can have text input hidden by software buttons

	#jira UE-55117
	#Android
	#4.19

	Adjusted x-coord and width for the native EditText

Change 3888841 by Jurre.deBaare

	Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
	#jira none

Change 3888837 by Guillaume.Abadie

	Fixes a crash in dynamic resolution when doing UE4Editor -server

	#jira UE-55158

Change 3888831 by Dragan.Jerosimovic

	added fbx files
	#jira none

Change 3888340 by Ethan.Geller

	[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron

Change 3888133 by Michael.Karambelas

	QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.

	#jira UE-29618

Change 3887957 by Krzysztof.Narkowicz

	"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
	#jira UE-54367

Change 3887912 by Jostin.Bilyeu

	Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels

	#jira UE-29618

Change 3887571 by Zak.Parrish

	Adding FaceAR content and cleanup #jira none

Change 3887458 by Dan.Oconnor

	Fix 'Step Out' functionality for macro and collapsed graphs

	#jira UE-55000, UE-55002, UE-55022

Change 3886883 by zachary.wilson

	Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.

	#jira UE-29618

Change 3886848 by Max.Preussner

	Engine: Workaround for uninitialized external textures causing white flashes in media playback

	Copied from Fortnite-Main and Dev-Sequencer

	#jira UE-53357

Change 3886720 by Matt.Kuhlenschmidt

	Guard against mac menus updating during slow tasks.

	#jira UE-55068

Change 3886657 by Guillaume.Abadie

	Cherry-pick 3886626: Cherry-pick 3886560: 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.

	#jira FORT-69961

Change 3886653 by Matt.Kuhlenschmidt

	Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable.  Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set.  All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly.  They may also log in each time to the editor which prevents any password from being stored

	#jira UE-55111

Change 3886621 by Benn.Gallagher

	Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.

	#JIRA UE-55067

Change 3886552 by Thomas.Sarkanen

	Fixed crash loading an anim instance with a re-instanced class

	Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.

	#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]

Change 3886442 by Cosmin.Sulea

	UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
	#jira UE-53033

Change 3886441 by Cosmin.Sulea

	UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
	#jira UE-54598

Change 3886427 by Sorin.Gradinaru

	UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552

	#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 3886210 by Ethan.Geller

	[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.

Change 3886005 by Zak.Parrish

	Checking in faceAR work on behalf of 3Lateral #jira none

Change 3885925 by Mike.Erwin

	Material preview label off-center on HiDPI screen

	#jira UE-52533

Change 3885778 by Dan.Oconnor

	Fix stepping over collapsed graph and macro nodes
	#jira UE-54950, UE-54955

Change 3885713 by Mike.Erwin

	glTF: fix material using wrong textures

	Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.

	Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.

	#jira none

Change 3885603 by Ben.Marsh

	Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.

	#jira

Change 3885566 by Phillip.Kavan

	Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.

	Change summary:
	- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.

	#jira UE-55061

Change 3885481 by Mark.Satterthwaite

	Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).

	#jira UE-54333

Change 3885461 by Lauren.Ridge

	Fix for slot not being initialized to null

	#jira UE-55069

Change 3885455 by zak.parrish

	Adding initial files for FaceAR scene lookdev #jira none

Change 3885446 by Zak.Parrish

	Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none

Change 3885424 by Krzysztof.Narkowicz

	Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.

	#jira UE-53861

Change 3885406 by Zak.Parrish

	Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639

Change 3885340 by Arne.Schober

	REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack

	#jira none

Change 3885143 by Marc.Audy

	Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19

	#jira UE-54977
	#jira UE-54976
	#jira UE-54898

Change 3885093 by Mark.Satterthwaite

	Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.

	#JIRA N/A

Change 3884622 by Jurre.deBaare

	Moving over missing file from changelist for UE-54508

	#jira UE-54508

Change 3883391 by Nick.Atamas

	Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
	Only create ARKit/ARCore tracking systems on iOS/Android.

	#jira UE-54622

Change 3883257 by Phillip.Kavan

	Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.

	#jira UE-55026

Change 3883024 by Lauren.Ridge

	Fixing static analysis warning
	#jira SA

Change 3882510 by Michael.Dupuis

	#jira none : Fixed screen size calculation to take aspect ratio into account correctly

Change 3882502 by Lauren.Ridge

	Fix for material layer parameters not rebuilding and adding save child button
	#jira UETOOL-1275

Change 3882458 by Krzysztof.Narkowicz

	Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
	#jira UE-54747

Change 3882366 by Michael.Karambelas

	QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.

	#jira UE-29618

Change 3881971 by andrew.porter

	QAGame: Removing actor from Shot_003

	#jira UE-29618

Change 3881795 by Krzysztof.Narkowicz

	Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
	#jira UE-53875

Change 3881550 by David.Hibbitts

	#JIRA UEENT-879
	Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.

	THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.

Change 3881339 by Jurre.deBaare

	Moving over:
	"Editor crashed when attempting to bake out all the material channels
	#jira UE-54508
	#misc small UDN Merge actor / bake material fixes

Change 3879557 by Dan.Oconnor

	Fix stepover behavior when no debug target is selected

	#jira UE-54978

Change 3879485 by Mike.Beach

	Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).

	#jira UE-54999

Change 3879438 by David.Hibbitts

	#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau

Change 3879343 by Lina.Halper

	Last min change that skiped compiling

	#jira: none

Change 3879337 by Lina.Halper

	Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.

	#jira: UE-54806

Change 3878968 by Phillip.Kavan

	Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.

	Change summary:
	- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.

	#jira UE-54981

Change 3878962 by Adrian.Siminciuc

	https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)

	#4.19
	#jira UE-54831
	#android

	- shows an error message box informing that the license file could not be written.

Change 3878821 by Andrew.Rodham

	Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation

	  - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
	  - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
	  - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.

	#jira UE-54922

Change 3878171 by Chris.Phillips

	Android: Fixed crash after splash screen when using Vulkan.

	#jira UE-54299

Change 3877950 by Ethan.Geller

	Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron

Change 3877859 by Nick.Shin

	rebuilt lighting for TM-ShaderModels and resaved the level

	#jira UE-53374  Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5

Change 3877854 by tim.gautier

	Adding additional (temp) ML Test asset
	#jira UE-29318

Change 3877609 by Ethan.Geller

	[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron

Change 3877474 by Lauren.Ridge

	Adding WITH_EDITOR wrappers to editor-only section of code
	#jira fixingcompiles

Change 3877271 by Arne.Schober

	REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary

	#jira none

Change 3877260 by Lina.Halper

	If revision is too far away, ignore the request and send current buffer

	- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens

	#jira: UE-54398

Change 3876950 by Lauren.Ridge

	Renaming layers in a material instance - from 4.19 preview feedback
	#jira UETOOL-1296

Change 3876932 by Arciel.Rekman

	Linux: updated the link to the cross-toolchain (UE-54597).

	#jira UE-54597

Change 3876918 by Phillip.Kavan

	Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.

	Change summary:
	- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
	- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.

	#jira UE-54870

Change 3876759 by tim.gautier

	Updated Material Layer test assets to include Opacity and Emissive.
	#jira UE-29318

Change 3876575 by Michael.Karambelas

	Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.

	#jira UE-29618

Change 3876406 by Robert.Manuszewski

	Fixed a crash when reporting linker errors

	#jira UE-51037

Change 3875891 by Nick.Atamas

	Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
	Also fixes a scenario where there are no pins and geometries fail to update.

	#jira UE-54914

Change 3875880 by Aaron.McLeran

	#jira UE-54916
	Fixing up submix effect templates

Change 3875673 by Brandon.Schaefer

	Fix Apex dependencies

	Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs

	#jira UE-54861

Change 3875498 by Lauren.Ridge

	PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)

	#jira UE-54862

Change 3875322 by tim.gautier

	Recreating Material Layer test assets (asset version has changed)
	#jira UE-29318

Change 3875157 by Aaron.McLeran

	#jira UE-54901 Synth components do not allow sends to buses

Change 3875103 by Brandon.Schaefer

	Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries

	#jira UE-54815

Change 3875037 by Aaron.McLeran

	#jira UE-54896 Fixing up audio capture component to parameterize the delay

	Parameterize the jitter latency delay.

Change 3875026 by Aaron.McLeran

	#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops

Change 3874927 by Ryan.Vance

	#jira UE-54894

	Ensure we don't delete aliased texture resources, they are managed externally.

Change 3874925 by Martin.Wilson

	Remove XR post fix from live link code written during motion controller integration

	#jira none

Change 3874354 by Ben.Marsh

	Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.

	#jira UE-54272

Change 3877545 by Ben.Marsh

	Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.

	Use similar logic for expanding ensure() macros in place.

	#jira UE-54961

[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -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
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
Chris Bunner
77adbcb22a Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3809756)
#rb None
#lockdown Nick.Penwarden

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

Change 3629223 by Rolando.Caloca

	DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847

Change 3629708 by Rolando.Caloca

	DR - vk - Redo some changes from DevMobile
	3601439
	3604186
	3606672
	3617383
	3617474
	3617483

Change 3761370 by Arne.Schober

	DR - Added CityHash to use with conatiners and stuff. It provides good performance and high quallity across multiple platforms.

Change 3761437 by Guillaume.Abadie

	Optimises motion blur compute shader for consoles.

Change 3761483 by Guillaume.Abadie

	Fixes D3D11 RHI lying to dynamic resolution heuristic with t.MaxFPS.

Change 3761995 by Mark.Satterthwaite

	Add the Metal compiler path to the local .pch filename to avoid problems when Xcode moves.

Change 3761996 by Mark.Satterthwaite

	Emit more details when a pixel shader is found to have no outputs at all which Metal doesn't permit. More likely this is a bug in the shader compiler not configuring the in-out mask correctly...

	#jira UE-52292

Change 3761999 by Mark.Satterthwaite

	No need to avoid tessellation for FMetalRHICommandContext::RHIEndDrawIndexedPrimitiveUP anymore - that was from back when the tessellation logic was replicated in each RHI*Draw* implementation.

	#jira UE-51937

Change 3762181 by Joe.Graf

	Changed MaxShaderJobBatchSize to 25 on Mac as it reduced shader compile time by 21%

Change 3762607 by Mark.Satterthwaite

	Remove accidentally included changes from 3761995.

Change 3762612 by Mark.Satterthwaite

	Enable the explicit sincos intrinsic for Metal to avoid instances of UE-52477 that can cause shaders to compile incorrectly through hlslcc.
	#jira UE-52477

Change 3762772 by Michael.Lentine

	Move RHI calls to render thread.

Change 3763021 by Richard.Wallis

	Remove shader cache tool project and implementation.
	#jira UE-51613

Change 3763082 by Guillaume.Abadie

	More SceneTexture, SceneColor and SceneDepth automated tests

Change 3763111 by Richard.Wallis

	Clone of CL 3763033 (Release-4.18):
	Fix for crash upon launching packaged game on Mac with Share Material Shader Code enabled.
	#jira UE-52121

Change 3763657 by Michael.Lentine

	Invalidate ddc for skeletal mesh render data so that the duplicated vertex render structures are properly serialized.

Change 3763727 by Jian.Ru

	Fix Player Collision view mode. It is caused by checking an uninitialized vertex buffer so the check always fail.
	#jira UE-52052

Change 3763738 by Guillaume.Abadie

	Implements SSR input post process material location.

Change 3764271 by Mark.Satterthwaite

	Allow ControlPointPatch lists to flow through MetalRHI as it was setup to handle this transparently - the VSHS compute shader will convert them to triangles to draw. Report the same warning as in the pipeline creation stage as this hasn't been formally validated.

	#jira UE-52454

Change 3764316 by Daniel.Wright

	Added AVolumetricLightmapDensityVolume - gives local control over Volumetric Lightmap density.  Dropping the top mip outside of the play area in Monolith saves 20Mb (35Mb original).
	Volumetric Lightmap no longer refines around static translucent geometry - saves 5Mb in Monolith
	Reworked brick culling by error mechanism.  Now compares error to interpolated parent lighting instead of the brick average - prevents dropping constant value bricks which are near a wall and cause leaking due to parent interpolation after being culled.

Change 3764318 by Daniel.Wright

	Missing file

Change 3764321 by Daniel.Wright

	Shader compiling memory optimizations
	* Editor memory: Sharing uniform buffer includes and GeneratedInstancedStereo.ush per FShaderType (was previously duplicated per FShader job)
	* SCW input size: Sharing uniform buffer includes and SharedEnvironment per batch
	* 7.6Gb of shader job inputs in memory -> .5Gb (13x less) when doing a full shader compile of Paragon Editor
	* 13.8Gb written into worker input files -> 2.9Gb (4.7x less).  Global shaders are never batched when sent to SCW so unoptimized by these changes.

Change 3764595 by Daniel.Wright

	Added VolumetricLightmapDensityVolume asset icons

Change 3764701 by Michael.Lentine

	Add duplicated vertices merging for meshmerge.

Change 3766002 by Guillaume.Abadie

	Fixes a crash in translucency.

Change 3766007 by Guillaume.Abadie

	Oups.... Fixes compilation failure.

Change 3766697 by Guillaume.Abadie

	Giant refactor of global shader interface for upcoming native support of permutation.

	CL generated by python script.

Change 3767205 by Chris.Bunner

	Deferring FMaterial::RenderingThreadShaderMap update to render-thread rather than assumption commands have been flushed.

	#jira UE-50652

Change 3767207 by Chris.Bunner

	Clamp fetched texture coordinates to those available on the mesh.

Change 3767209 by Chris.Bunner

	PR #4203: Early-outs in UMaterialInstance parameter setters (Contributed by stefanzimecki)

	#jira UE-52193

Change 3767772 by Mark.Satterthwaite

	MetalShaderFormat will no longer fallback to text shaders when you ask it to compile to bytecode but the bytecode compiler is not available (either locally or remotely) - this ensures that the DDC can't be poisoned by incorrectly configured clients. The Editor is already setup such that if the remote shader compiler is not configured & Xcode is not available locally the shader-compiler will be invoked to generate text shaders.

	#jira UE-52554

Change 3768604 by Guillaume.Abadie

	Polish up with new global shader function signature.

Change 3768993 by Guillaume.Abadie

	Fixes r.Upscale.Panini cvars

Change 3769478 by Mark.Satterthwaite

	Move the ue4_stdlib.metal & PCH into a temporary directory that exists for the lifetime of the SCW on the remote side as well as the local one and add this path as an include directory.
	#jira UE-52587

Change 3769703 by Mark.Satterthwaite

	For all Metal platforms >= Metal v1.2 transform mul(a,b) into fma(a,b,0) to prevent the Apple compiler reordering operations differently between the base & depth passes which results in variance in the position output.
	For iOS disable fast-math when the vertex-shader uses World-Position-Offset because there are additional problems on the iOS shader compiler that result in position variance even with the above fix - WPO performance will suffer but I don't have any alternatives.
	Remove the depth-offset hack from the depth-only vertex shader again.

	#jira UES-5651

Change 3769763 by Mark.Satterthwaite

	Handle swizzle's in the hlslcc fma identification pass so that we reduce the number of instructions and the platform compiler can't break the instructions up.

Change 3769849 by Mark.Satterthwaite

	Fix CIS error.

Change 3770517 by Richard.Wallis

	Fix for crash when creating a new media texture (AppleIntelHD5000GraphicsMTLDriver!SamplerStage::bindSamplerToTexture()).  Missing texture resource for binding.  Old InitDynamicRHI() code has been refactored out into seperate functions which leaves us on Mac with a NULL resource initially after creation which Metal doesn't like.  This fix puts InitDynamicRHI down the default setup/clear path which inits default resources - I don't think we should use a global dummy in this instance as this is a render target.

	#jira UE-51940

Change 3770688 by Uriel.Doyon

	Fixed texture resolution returning 0 when running blueprint construction scripts at cook time.

Change 3771115 by Mark.Satterthwaite

	Report errors from failed attempts to compile global shaders or we can't see why things fail on non-Windows platforms.

Change 3771263 by Mark.Satterthwaite

	Change the way ManualVertexFetch is enabled on Metal platforms so that it is enabled when targeting Metal v1.2 and higher (macOS 10.12+/iOS 10+). This brings iOS in the Desktop Forward renderer back into line with the Mac.

	#jira UERNDR-300

Change 3773472 by Guillaume.Abadie

	Fixes a crash on PIE of SimpleComposure project.

Change 3773475 by Guillaume.Abadie

	Fixes bug in editor viewport caused by SSR input changes.

Change 3774677 by Arne.Schober

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

Change 3777037 by Mark.Satterthwaite

	Remove incorrect change that caused a reference to "accurate::sincos" to appear in some Metal shaders rather than "precise::sincos".

Change 3777122 by Mark.Satterthwaite

	Back out changelist 3777037 - I'm blind and wasn't seeing the real problem was a stale shader cache...

Change 3777196 by Mark.Satterthwaite

	Fix text-shader compilation on iOS 10 - maybe iOS 9 too (untested!).

	We need our own make_scalar type-trait template for ue4_stdlib.metal so that we still compile with older iOS runtime compilers and we can't use as_type to directly implement the packHalf2x16/unpackHalf2x16 intrinsics for these older runtime compilers either.

Change 3779098 by Rolando.Caloca

	DR - vk - Fix query index

Change 3779275 by Mark.Satterthwaite

	Silence the Metal runtime compiler warning caused by use of a deprecated enum value when running text shaders compiled for Metal v1.0/1.1 on a Metal v1.2+ OS.

	#jira UE-52554

Change 3779427 by Rolando.Caloca

	DR - vk - Fix for allocator contention

Change 3779608 by Uriel.Doyon

	Fixed invalid access in the resave package commantlet when building texture streaming material data for materials enabling tesselation.

Change 3784496 by Mark.Satterthwaite

	Temporarily disable USE_OBJECT_COMPOSITING_TILE_CULLING  for Metal shader compilation only - other platforms are unaffected - as it isn't working properly for some reason. need to work out what's up but don't want Distance Fields to be completely snookered in the interim.

	#jira UE-52952

Change 3784608 by Rolando.Caloca

	DR - Copy 3784588
	- Fix for drivers returning out of date swapchains during resizes

Change 3784734 by Mark.Satterthwaite

	Real fix for UE-52952 - MetalShaderFormat wasn't propagating the full thread-group value.

	#jira UE-52952

Change 3784741 by Mark.Satterthwaite

	More Metal debugging commandline options "-metalfastmath" & "-metalnofastmath" to force fast-math on or off for all shaders, must be using runtime-compiled shaders (i.e. -metalshaderdebug or r.Shaders.Optimise=0) to take effect.

Change 3787103 by Guillaume.Abadie

	Kills BuiltinSamplers UB

Change 3787207 by Guillaume.Abadie

	Sorry, compile fix that were fine with local changes...

Change 3787396 by Marcus.Wassmer

	PR #4271: UE-52901: Set VIS_Max meta to hidden (Contributed by projectgheist)

Change 3788028 by Peter.Sumanaseni

	Working linear HDR exr output from sequencer

Change 3788536 by Mark.Satterthwaite

	Track whether the Metal shader uses the discard_fragment function as when this is used but without any other outputs we know we need to bind at least one render-target or a depth-stencil surface but we don't know which. This lets us correctly error when we encounter a shader with no outputs at all which Metal doesn't permit.
	#jira UE-52292

Change 3788538 by Mark.Satterthwaite

	Let's try mitigating UE-46604 on Nvidia by retaining resource references in the command-buffer. This shouldn't be necessary and isn't typically on other vendors but we haven't been able to reproduce this reliably enough to get to the bottom of it.

	#jira UE-46604

Change 3789083 by Guillaume.Abadie

	Implements global shader permutations. Example in ScreenSpaceReflections.cpp.

Change 3789090 by Guillaume.Abadie

	Fixes linux build.

Change 3789106 by Guillaume.Abadie

	Fixes compilation failure in niagara plugin.

Change 3789274 by Guillaume.Abadie

	Avoid hit proxies to clobber TAA's hitsory.

	#jira UE-52968

Change 3789380 by Guillaume.Abadie

	Back out changelist 3789083: global shader permutation because compilation failure in clang.

Change 3789648 by Guillaume.Abadie

	Relands global shader permutation, with clang support.

Change 3789712 by Guillaume.Abadie

	Fixes TestImage show flag with TAAU on.

	#jira UE-53061

Change 3791593 by Guillaume.Abadie

	Reinvalidates shaders with shader permutations.

Change 3791884 by Daniel.Wright

	Added BP setter for LowerHemisphereColor

Change 3791886 by Daniel.Wright

	Added LightmapType to PrimitiveComponent
	* ForceVolumetric allows forcing static geometry to use Volumetric Lightmaps, which can be useful on instanced foliage where seams are prevalent.  Lightmass internal caching still requires lightmap UVs and reasonable lightmap resolution.
	* ForceSurface replaces bLightAsIfStatic
	Improvements to Volumetric Lightmap quality needed for static geometry
	* Stationary light shadowing is now dilated inside geometry
	* Now doing two dilation passes since samples near geometry see inside due to ray start bias
	* Refinement around geometry uses an expanded cell bounds when the geometry is going to use Volumetric Lightmaps, since cross-resolution stitching causes leaking
	Lightmass debug primitives are now tied to a swarm task instead of global - allows debugging of Volumetric Lightmap tasks

Change 3792256 by Guillaume.Abadie

	Fixes a bug where permutation was not actually serialised in FShader, so was ending up recompiling shader at every load.

Change 3792884 by Marcus.Wassmer

	Copying //UE4/Partner-AMD to Dev-Rendering (//UE4/Dev-Rendering)

Change 3793200 by Marcus.Wassmer

	Copying //UE4/Partner-IDV-SpeedTree to Dev-Rendering (//UE4/Dev-Rendering)
	Speedtree 8 support

Change 3793206 by Brian.Karis

	Added color grading control BlueCorrection to correct for artifacts with "electric" blues due to the ACEScg color space. Bright blue desaturates instead of going to violet.

	Added color grading control ExpandGamut which expands bright saturated colors outside the sRGB gamut to fake wide gamut rendering.

	ACES changes.

Change 3793344 by Marcus.Wassmer

	Fix editortest compile

Change 3794285 by Guillaume.Abadie

	Serializes PermutationId according to archive rendering version to avoid issues with old material that were serializing a shader map into UObject.

Change 3794307 by Guillaume.Abadie

	Resaves uassets that were modified between 3789648 and 3794285

Change 3794627 by Mark.Satterthwaite

	Implement two components for MTLPP, an IMP cache for Objective-C selector implementations & an interposition framework for those same selectors:

	- imp_SelectorCache & friends provide the IMP caching for each of the Metal protocols which constitute most of the API, so far I've not covered the Metal classes used for the various descriptor/initializer types. Each type has its own IMPTable which caches the selector's implementation pointer and provides the mechanism to hook that implementation. As Objective-C is runtime dynamic this look up must be performed on the actual Class value returned by an object at runtime - you can't do this at compile time. Even things like NSString which appear compile-time static are really not as NSString is an alias for a class-cluster (NSString, NSMutableString, __NSInlineString and more).
	- The interpose directory contains MTI* files which are the framework for interposing all the functions in Metal's runtime API - I deliberately omit the descriptor classes & read-only functions as there's no benefit to interposing them - which I can build off to create a trace tool or a superior validation layer. Right now this is Mac only as there'll be some problems to solve for iOS/tvOS due to difference in linking requirements - not insurmountable.
	- Rebuild MTLPP's implementation of the C++ wrapper classes around the IMPTable's - this means we avoid all the objc_msgSend overhead for all the classes and functions whose implementations are cached. Right now the IMPTable is going to incur a look-up for all non-copy/move constructors which is suboptimal - ideally the Metal IMPTables would be cached in the Device object as they will be consistent within a single Device.
	- Sort out the MTLPP availability logic - it now exports the availability warnings to the caller and internally just blithely assumes it may call the functions, the caller is responsible for ensuring that calls are made only on appropriate devices & OSes. This reduces MTLPP complexity and better fits how MetalRHI works.
	- Fix a number of retain/release bugs that were lying dormant in MTLPP but exposed by the switch to IMPTables.
	- Add tvOS support.

	Next up, put this into MetalRHI and start fixing all the fallout.

Change 3794631 by Mark.Satterthwaite

	Missed updating mtlpp's build.cs for TVOS.

Change 3794651 by Uriel.Doyon

	UPointLightComponent::GetUnitsConversionFactor() now takes the cone angle as parameter. This allows to fix spotlight unit conversion when using lumens.

Change 3794720 by Guillaume.Abadie

	Fixes a bug in Global{Bilinear,Trilinear}ClampedSampler that was actually doing a Point sampling.

Change 3794749 by Mark.Satterthwaite

	Fix mtlpp.build.cs paths.

Change 3794856 by Mark.Satterthwaite

	Fix some shadowing warnings.

Change 3795484 by Daniel.Wright

	Implemented the Spherical Harmonic windowing algorithm from 'Stupid Spherical Harmonics (SH) Tricks'
	New WorldSettings Lightmass property VolumetricLightmapSphericalHarmonicSmoothing controls the global amount of smoothing applied

Change 3795590 by Brian.Karis

	Area light fixes

	Fixed order of operations. This helps mixing of SourceRadius, SourceLength, and SoftSourceRadius.

Change 3796832 by Marcus.Wassmer

	Correct shouldcache condition for new resolve shader

Change 3796884 by Marcus.Wassmer

	Doing it right this time.

Change 3797196 by Mark.Satterthwaite

	More updates to MTLPP to make things simpler and reduce the number of spurious Objective-C warnings that are emitted because of the way we are using the runtime.

Change 3797200 by Daniel.Wright

	Lightmass now uses the highest density VolumetricLightmapDensityVolume settings that affect any part of a cell

Change 3797221 by Daniel.Wright

	Reduced default SphericalHarmonicSmoothing based on RoboRecall tests.  Now only active with strong direct lighting from static lights by default.

Change 3797411 by Brian.Karis

	Disable ExpandGamut for old tone mapper.

Change 3797462 by Mark.Satterthwaite

	More build warnings silenced after changing to the lowest possible deployment target OS for each library.

Change 3797585 by Mark.Satterthwaite

	Range-based-For support in the NSArray wrapper.

Change 3797836 by Mark.Satterthwaite

	Even more forward-declarations to avoid system headers poking through to the including code from mtlpp.

Change 3798027 by Mark.Satterthwaite

	Fix handling of nil objects, on which no functions may be called, command-buffer retention and IMP declaration.

Change 3798154 by Mark.Satterthwaite

	Fix some egregious memory leaks that rewriting to use mtlpp exposed before we carry on - don't want these slipping into 4.19.

Change 3800990 by Mark.Satterthwaite

	Typedef all the completion-handler callback types in mtlpp to make future me's life easier.

Change 3801400 by Chris.Bunner

	Improving automated test errors on failure to generate report data.

Change 3801726 by Mark.Satterthwaite

	Correct some function availability and the command-buffer error status in mtlpp.

Change 3801808 by Chris.Bunner

	Added DefaultScalability.ini to EngineTest that forces all quality levels to Engine default Epic for now to improve consistency.

Change 3801862 by Marcus.Wassmer

	Update automated tests with color gamut change

Change 3802214 by Chris.Bunner

	When running automated tests in and editor-locked PIE viewport, skip resizing as the editor can't handle this.
	Added bindable delegate called when ScreenshotRequest is processed - Useful to allow screenshots to override and restore settings per capture.

	#jira UE-53188

Change 3802243 by Chris.Bunner

	Added button to automated test screenshot browser to add or replace all outstanding test reports if appropriate.
	DeleteAllReports button is now only enabled whilst there are reports in the list.

Change 3802372 by Chris.Bunner

	Updating more test screenshots.

Change 3803683 by Chris.Bunner

	Adding more logging and multiple attempts to automated test report network save.
	Added small wait on repeated operations that are known to fail.

Change 3803826 by Rolando.Caloca

	DR - vk - Fix merge issue

Change 3804181 by Chris.Bunner

	Tentative fix for CIS test failure.

Change 3804236 by Chris.Bunner

	Additional logging for case where file write silently fails, report platform-specific error.

Change 3804303 by zachary.wilson

	Cleaning up assets in QAGame saved with empty engine versions to resolve warnings seen when launching on

Change 3804410 by Chris.Bunner

	Added additional logging when automated screenshot test fails due to size mismatch.
	Mismatched bounds are colored red in the delta.

Change 3804455 by Mark.Satterthwaite

	Fix a small number of persistent memory leaks on the Mac build that slowly consume more and more memory as you use the Editor - interacting with menu's was particularly egregious as each NSMenu would leak after you move away.

	#jira NA

Change 3804667 by Chris.Bunner

	Speculative CIS fixes.

Change 3806008 by Chris.Bunner

	Partially reimplementing backed-out CL 3804181 to improve consistency of how automated screenshot test settings are applied/restored.

	#tests CIS preflight job 8174412

Change 3806909 by Mark.Satterthwaite

	Use the vertex-shader's in-out mask to ensure that we only validate legitmate vertex-streams in Metal's DrawIndexedPrimitive implementation.

	#jira UE-53046

Change 3807059 by laz.matech

	Checking in QAGame Rendering Map, QA-PhysicalLightingUnits, for testing Physical Light Units.
	Wanted to get this in before copy up.

	#Jira none

Change 3807726 by Chris.Bunner

	Removed a check that we can't fix up. The check hits unbound buffers which it assumes means a failure but is actually due to m.v.fetch. We don't have the information available to know which are which removed from the input without reading from the shader.

	#jira UE-53046

Change 3807800 by Guillaume.Abadie

	Fixes some warning in shader headers.

Change 3807804 by Guillaume.Abadie

	Back out changelist 3807800

Change 3807807 by Guillaume.Abadie

	Relands shader header warnings.

Change 3808046 by Chris.Bunner

	Dropping a new automated test error back to a warning as this may lead to genuine issues being ignored in the short term.

Change 3809579 by Chris.Bunner

	Back out changelist 3774677.

	#jira UE-53483

Change 3809620 by Chris.Bunner

	Updating animated cloth test screenshot.

Change 3803629 by Chris.Bunner

	Rebuilt CornellBox and DistanceField test maps, updated screenshots.

Change 3787045 by Guillaume.Abadie

	Moves some global samplers to Common.ush

Change 3809756 by Chris.Bunner

	Updating animated cloth test screenshot.

[CL 3809764 by Chris Bunner in Main branch]
2017-12-15 12:47:47 -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
Chris Bunner
337291cb1d Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3760894)
#rb Rendering
#lockdown Nick.Penwarden

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

Change 3658809 by Chris.Bunner

	Changing default HDR display gamut to P3 as in practice that's more common than Rec2020, this should be a user-facing option where possible though as we can't automatically retrieve that data.

Change 3658842 by Chris.Bunner

	Backing out previous HDR default gamut change as it conflicts with mandatory platform defaults.

Change 3695269 by Arne.Schober

	DR - Make clang happy wreorder

Change 3695418 by Guillaume.Abadie

	Fixes compilation failure in FoliageType_InstancedStaticMesh.cpp.

Change 3695430 by Guillaume.Abadie

	Fixes missing BeginFrame dynamic resolution event in EngineTest.

Change 3695469 by Guillaume.Abadie

	Fixes crash when passing down an invalid parameter on the sample material expression's DDX, DDY parameters.

Change 3696091 by Guillaume.Abadie

	Fixes Linux compilation failure in DynamicResolution.cpp

Change 3696593 by Chris.Bunner

	Fixed typo in vetex factory enum.

Change 3696596 by Chris.Bunner

	Added material attributes type checking to If material expression.
	Updated If material expression to validate compilation of inputs.

Change 3696597 by Chris.Bunner

	Allow visible parameter retrieval to correctly traverse 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 3696599 by Chris.Bunner

	Fixed material instance parameter visiblity when using nested static switches across functions.

	#jira UE-50878

Change 3696734 by Chris.Bunner

	Return type fix.

Change 3697123 by Guillaume.Abadie

	Fixes compilation failure in PostProcessWeightedSampleSum.cpp on Windows 32bits.

Change 3697125 by Guillaume.Abadie

	Fixes compilation failure in MaterialExpressionIf.h

Change 3697127 by Guillaume.Abadie

	Fixes compilation failure in DynamicResolution.cpp on shipping build.

Change 3697135 by Guillaume.Abadie

	Fixes crash in dynamic resolution event frontend when resizing game play viewport in EngineTest.

Change 3697199 by Guillaume.Abadie

	Fixes TAA upsample's shader compilation failure on Mac.

Change 3697220 by Guillaume.Abadie

	Makes static analysis happy again.

Change 3697280 by Chris.Bunner

	Fixing up invalid casts in material layers validation.

Change 3697366 by Rolando.Caloca

	DR - hlslcc - Fix warning

	#jira UE-43988

Change 3697451 by Rolando.Caloca

	DR - vk - Per pipeline descriptor pools
	Descriptor pool are now allocated per PSO instead of globally to reduce peak mem consumption and fragmentation
	Enabled on Windows only via VULKAN_USE_PER_PIPELINE_DESCRIPTOR_POOLS

Change 3697477 by Rolando.Caloca

	DR - vk - Custom memory allocator
	Remove old/unused stats

Change 3697486 by Rolando.Caloca

	DR - vk - Fix validation issue

Change 3697488 by Richard.Wallis

	Fix for Mac editor session no longer accurately tracking Mouse location after moving between Desktops in Mission Control on 10.12.6.  Problem stems from the extra call to update the slate cached window position in mouse move while dragging, which is itself is a hack but apparently this is needed as we don't get window position updates on Mac while dragging (although I couldn't see any -ve side effects without it) then the OS (in 10.12.6) doesn't always push out a final window did move notificaiton when changing desktops which leaves the window according to slate incorrectly positoned to it's frame.

	Solution is to either remove the mouse-move-while-drag window position hack or add a final window position update to the mouse-up event while dragging - this change is the latter.

	#jira UE-37553

Change 3697501 by Richard.Wallis

	Move audio processing over to audio bus tap.  Currently on Mac Media audio playback uses OS media player mixer rather than Engine as existing implemtation, using AVAssetReader, now suffers from poor performance with new Media Framework.  This audio tap version replaces that asset reader implementation but also suffers from bad quality audio hence is still disabled at the top of AvfMediaTracks.cpp.

	Original Code Review Description:

	Convert Mac to Play audio through the engine MediaFramework API rather than using AVMediaPlayer.  This is the Mac implementation only - this should work ok on iOS but unable to test due to missing audio type implementation (throws error "Init Buffer on unsupported sound type name = Synth type = 5"), as such is only enabled for Mac.  There maybe some extra tweaks required for iOS on app backgrounding etc if this feature is enabled.

	- Stuttering Audio Performace issue investiagation:  Re-Tested this implementation against [now fixed] current Mac implementation which was working fine last year and that implementation now has the same audio output quality (performance) issues as this one.  Basic investigation seems to point to somewhere in the engine audio handing.  When poor audio is heard the FMediaAudioResampler::Generate() function is dequeing an IMediaAudioSample sample buffer and the audio sample queue usually has 50-100 of these IMediaAudioSample buffers waiting in the queue.  I think the AvfMedia playback system is providing the sample buffers in good time but they are not getting consumed "fast" enough.  This under consuming also occurs if I force the Core Audio - Audio Unit mixer to use 48000 samples/sec.

	#jira UEPLAT-1677

Change 3697517 by Richard.Wallis

	XCode 9.0 extra nullability specifiers required.

Change 3697537 by Richard.Wallis

	Back out revision 23 from //UE4/Dev-Rendering/Engine/Plugins/Media/AvfMedia/Source/AvfMedia/Private/Player/AvfMediaTracks.cpp

Change 3697670 by Rolando.Caloca

	DR - vk - Fix mapstaging surface

Change 3697846 by Uriel.Doyon

	Allow denormalized values when converting float32 to float16.

Change 3697892 by Uriel.Doyon

	Fix for unaligned structure elements

Change 3699335 by Richard.Wallis

	Mac compile fix - turns out I did need these nullability specifiers here.

Change 3699663 by Guillaume.Abadie

	Fixes time unit conversions from microseconds to milliseconds error in dynamic resolution heuristic when using GPU busy time queries.

Change 3699959 by Rolando.Caloca

	DR - Fix barrier in the middle of render pass

Change 3699969 by Rolando.Caloca

	DR - vk - Change dump layer location so it prints out validation ids

Change 3700356 by Guillaume.Abadie

	Implements secondary screen percentage to be able to do TAA upsample followed spatial upscale so that the editor viewport still have same TAA upsample screen percentage range to test the content with no matter monitor's DPI.

Change 3701105 by Guillaume.Abadie

	Ignore per view automatic mip bias on texture type other than 2d textures.

	#jira UE-51396

Change 3702297 by Richard.Wallis

	Mac compile fix for nullable specifier.  Looks like Obj class using the C++ class also needs this otherwise it throws.  Seems to be some kind of xcode/compiler caching bug with this stuff as it'll report the error once then on subsequent compiles say everything is ok.

	#jira UE-51386

Change 3702357 by Richard.Wallis

	Mac nullability compile fix - again.  Looks like I fell foul of that xcode compile caching!
	#jira UE-51386

Change 3702424 by Guillaume.Abadie

	Fixes planar reflection from drowing themselves in their own FSceneRenderer in forward shading.

	#jira UE-51395

Change 3702464 by Guillaume.Abadie

	Fixes wrong viewport to buffer conversion of the distortion.

	#jira UE-51406

Change 3702819 by Guillaume.Abadie

	Fixes planar reflections with secondary screen percentage for HighDPI editor viewports.

Change 3703732 by Guillaume.Abadie

	Removes unecessary check(); when there is more than 2 players with planar reflections.

	#jira UE-51436

Change 3704302 by Guillaume.Abadie

	Removes unecessary Interface suffix on new dynamic resolution related interfaces

Change 3704390 by Chris.Bunner

	Fixed a coincidentally correct define.

Change 3704730 by Rolando.Caloca

	DR - vk - Fix map for depth surfaces

Change 3704739 by Rolando.Caloca

	DR - Debug label on D3D11 UAVs
	- Validate when running -d3debug

Change 3705000 by Chris.Bunner

	Skip compiling opacity and opacity mask inputs on opaque surface materials. Previously the code was always added to the shader, sometimes we force opaque materials down a masked path which then calls the dormant code unintentionally. A safer fix for UE-48254.
	Partially reverted previous fix in CL 3608303 which removed a material instance optimization caching the overridden base properties.

Change 3706065 by Guillaume.Abadie

	Does some renaming for primary screen percentage, and move the primary screen percentage method selection from dynamic resolution driver to FSceneView.

Change 3706464 by Chris.Bunner

	Fixed material property translate overrides that were generating code in the wrong entry.
	Fixed conditions  in If material expression GetInputType and IsMA check.

	#jira UE-51368

Change 3706641 by Chris.Bunner

	Missing "break" in switch statement (which unfortunately needs another bump to resolve).

Change 3706642 by Guillaume.Abadie

	Fixes assertion failure when r.TemporalAA.EnableUpscale = 1

Change 3706650 by Gil.Gribb

	UE4 - UE4 - Changes from intel. Increase number of worker threads on Windows to if hyperthreads (hyperthreads √ 2) else cores √ 1 up to a max of 22 workers. Increase MAX_THREADS multiplier per bank from 22 to 26. Intel VTune ITT event annotations. Wrapped in same function as your existing CPU events and enabled with √vtune. Optimize NV cloth by consuming FVector instead of FVector4 out of the solver. Vertex buffers were using FVector all along. ~15% improvement. Optimize cloth copy to vertex buffer by adding prefetch (similar to how bones are already done). Move local to world cloth transform from CPU to GPU. When simulating lots of vertices game thread was becoming bottleneck doing matrix multiply. Add your TaskGraph task switch latency test code.

Change 3706733 by Daniel.Wright

	Print Embree Build time

Change 3706841 by Daniel.Wright

	EmbreeFilterFunc4 now handles masked out intersections properly

Change 3707437 by Rolando.Caloca

	DR - vk - Android compile fix

	#jira UE-51474

Change 3707785 by Guillaume.Abadie

	Fixes viewport issue in bloom setup pass with TAA upsample.

Change 3709623 by Rolando.Caloca

	DR - vk - Missing barrier for reading into cpu

Change 3709633 by Rolando.Caloca

	DR - vk - Compile fix

Change 3710454 by Mark.Satterthwaite

	Refactor the way we compile Buffer<> & RWBuffer<> types for Metal so that we can support the type-conversion semantics of HLSL/D3D.
	- Buffer<> types are converted to Linear Textures unless the internal type is 3-compnent or the STRONG_TYPE macro is added as a type-qualifier. Linear Textures require an MTLTexture "view" object be created around the MTLBuffer which is the backing-store and it is typically best if that buffer is marked as Private (GPU-only) memory, reading from this in the shader then uses the texture-fetch hardware to perform the format conversion on load.
	- RWBuffer<> & 3-compnent Buffer<> types are converted to use template functions to load/store - the implementation of which will read the format from the BufferSizes meta-table and determine which type-conversion to apply. Function-constants are used to specialise the shader where feasible to reduce branch costs (function-constants are a Metal feature that allow efficient runtime recompilation of bytecode shaders).
	- Buffer<> & RWBuffer<> types where the STRONG_TYPE macro is added as a type-qualifier (only does something on Metal, everywhere else it is #define'd away) are compiled as "raw" Metal buffers of the inner-type (e.g. float4 for Buffer<float4>) and the MetalRHI runtime will enforce that only SRVs/UAVs of the proper format are bound to it. This is necessary in a couple of cases (BoneMatrices, NumCulledLightsGrid, CulledLightDataGrid & ForwardLocalLightBuffer buffers) which are used in a larger number of shaders as Linear Textures have poorer performance than Buffer<>/RWBuffer<>.
	- Most of the complications to generating subtly different Metal code for different OS/device combinations have been factored out into ue4_stdlib.metal which acts as an extension to the Metal shader standard-library and helps simplify the MetalBackend code - particularly helpful for Buffer<>/RWBuffer<> but also texturecube_array and the SM6 wave-related intrinsics.
	- Reverted some of the awkward Metal-specific changes Richard.Wallis & Arne had to make to the high-level shaders as they aren't necessary anymore.
	- Made the existing Metal-specific changes to use uint32 for all light-grid injection buffers apply to all Metal platforms again (I had hoped that it would not be necessary anymore, but it is much faster this way).
	- STRONG_TYPE is actually hlslcc's "invariant" keyword applied as a type-qualifier to a Buffer<>/RWBuffer<> type - only valid when using Metal which exports this through ILanguageSpec and #define'd out for everyone else.
	- Old versions of iOS (anything earlier than iOS 10.3) won't be able to use this new code, so every buffer will be treated as "raw" and the MetalRHI will now properly report when something goes awry rather than it leading to mysterious rendering errors and crashes.

Change 3710456 by Mark.Satterthwaite

	Fix the Eddie workset project generator so that Enterprise projects don't get mixed in with regular projects at the top-level because of the way Eddie combines workset groups.

Change 3710457 by Mark.Satterthwaite

	DX11 texture formats for Mac Metal please!

Change 3710480 by Mark.Satterthwaite

	Permit RHI thread and parallel execution in Mac -game mode again.

Change 3710522 by Mark.Satterthwaite

	MSVC type-mismatch error fixes.

Change 3710580 by Mark.Satterthwaite

	Alright then - if I can't use the C++11 extended string semantics I'll have to use "xxd -i" to generate a hex-dump include header from ue4_stdlib.metal instead. This can only be updated from a machine with access to the POSIX xxd command (Mac & Linux, possibly the new Linux sub-system for Win10).

Change 3710616 by Mark.Satterthwaite

	Missing file.

Change 3712972 by Guillaume.Abadie

	Fixes Circle DOF's negative alpha channel getting clamped to 0 in TAA pass.

Change 3712979 by Guillaume.Abadie

	Fixes wrong RT reallocation when doing TAA upsample in editor viewports with secondary upscale.

Change 3713406 by Mark.Satterthwaite

	Use GPU morph targets on Mac - the necessary buffer conversions will always be available there. For iOS it can only be supported if iOS 10 is the minimum OS & Metal standard so leave that on the CPU path for now.

Change 3713494 by Richard.Wallis

	Fix for hitch when PIE unloading sublevel.  PerformReachabilityAnalysisOnObjects is spawing multiple threads in Editor builds as there is an extra code path that results in Critical Section locking within a singleton type static object - this is a bottle neck for multiple threads.  However they all just need to read the data not change it.  Replaced FScopeLock with a Read/Write version allowing these threads to all take a read lock at the same time to reduce contention.

	Changed the FUObjectAnnotationDense implementation only - left the sparse implementation alone as its not currently affecting this - although we could proactivly change that too.

	Also tested again repro in linked bug UE-24711.

	#jira UE-40533

Change 3713612 by Mark.Satterthwaite

	Integrate LPV_STORE_INDEX_IN_HEAD_BUFFER related changes from //depot/Partners/Microsoft/UE4-MS/Engine-Fable @ 2954744

	This should make Light Propagation Volumes potentially viable on non-Microsoft platforms.

Change 3713623 by Mark.Satterthwaite

	Implement ByteAddressBuffer/RWByteAddressBuffer in hlslcc in a similar manner to StructuredBuffer/RWStructuredBuffer so that the backends don't need too much modification. Implement the necessary changes into MetalBackend to make this work for Metal.

	Load/Store{+2,3,4} & Atomics are supported. Counter operations are not supported and aren't likely to be.

Change 3713636 by Mark.Satterthwaite

	Enable LPVs for Mac Metal.
	- Rework some multi-dimensional arrays & array-index dependent HLSL code that hlslcc simply can't cope with, the mesa-glsl compiler core is only capable of dealing with 1 dimensional arrays and array-indexing can't itself be directly dependent on the result of an array-index operation.
	- MetalRHI needs to ignore any SetRenderTargets call that binds nothing at all as you must bind at least one target (UAV, RT, Depth/Stencil) for it to be able to do anything sensible.
	- Turn on LPVs for Metal as it works now.

Change 3714049 by Guillaume.Abadie

	Do not set screen percentage method to TAA upsample when anti aliasing method is not TAA even if there is automatic fallback in the renderer.

Change 3714306 by Guillaume.Abadie

	Fixes assertion failure in dynamic resolution state proxy with GPU busy time queries.

Change 3714714 by Mark.Satterthwaite

	Tweak Metal GPU identification so that it works with eGPU boxes and protoype hardware - these changes only apply to macOS 10.13 so the system as a whole remains.

Change 3716104 by Mark.Satterthwaite

	Fix 10.12/Xcode 8 compile errors from the build-farm which is still split until Fortnite can update.

Change 3716120 by Mark.Satterthwaite

	Silence static-analysis.

Change 3716158 by Guillaume.Abadie

	Rewrites editor primitive compositing to support TAA upsample.

	This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.

Change 3716271 by Daniel.Wright

	Lightmass correctness fixes
	* After these changes, point, spot, directional and sky lights closely match reference renderer Mitsuba after light unit conversions
	* Photon density trimming intended for direct photons was affecting indirect photons as well.  This caused high noise for point / spot lights with a large attenuation radius.  Indirect photon density even for small lights is 5x with this change, which improves 2nd bounce quality.
	* Removed legacy fudge factor on point / spot light photon energy
	* Spotlights no longer emit based on indirect photon paths.  Fixes excessive photon energy from spot lights as they were emitting outside of the cone.
	* Fixed photons computing one more bounce than requested.
	* Added an option to use the Radiosity solver for all multibounce, replacing photons.  Useful as a reference but generally too much noise indoors.
	* Fixed visualization of photons without final gather

Change 3716434 by Mark.Satterthwaite

	Backout the remaining change from 3632041 that is no longer necessary - this was the last of the 4.18 Metal workarounds.

Change 3716491 by Chris.Bunner

	Fixing up an edge-case on a recent optimization.

Change 3716611 by Guillaume.Abadie

	Allows secondary screen percentage >= 100%.

Change 3716977 by Guillaume.Abadie

	Back out changelist 3716158 to unblock QA pass.

	#jira UE-51580

Change 3717111 by Arne.Schober

	Fixing nomalization of Morph Tangents https://udn.unrealengine.com/questions/392462/
	Also implemanted batching of the dispatches which should help worst case perfomance where dispatches become too small.
	CalculateInverseAccumulatedWeights is not cheap and proably should be moved onto a task thread that runs as soon as the input weights are ready.

Change 3717127 by Mark.Satterthwaite

	Fix a mismerge from the reversion of 3632041 - part of the modified code had been moved into another file and I didn't initially notice.

Change 3717178 by Mark.Satterthwaite

	Remove useless copy-pasted expressions from glsl_type::GetByteAddressBufferInstance & force MetalBackend to relink. Apparently the previous Mac libs were mysteriously broken.

	#jira UE-51583

Change 3717476 by Marcus.Wassmer

	Fix PS4 compile.  funciton local statics not allowed on PSSL
	Also enabled the new atomics method for LPVs for all platforms

Change 3717502 by Arne.Schober

	DR - Compiletime option for compressed ruleset (0.02ms perf gain on PS4 and disabled by default as it limits array size to 2million entries)

Change 3717601 by Arne.Schober

	DR - Move cycle counter into more meaningfull locations.

Change 3718054 by Guillaume.Abadie

	Removes unecessary check() failure on secondary upscale that fires when testing raw output screen percentage method.

Change 3718066 by Guillaume.Abadie

	Reland: Rewrites editor primitive compositing to support TAA upsample.

	This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.

Change 3718589 by Mark.Satterthwaite

	Console-variable to enable and disable Manual-Vertex-Fetch for Metal and fix the internal code to handle the subtle changes in behaviour for vertex-declarations so we don't explode under the Metal validation layer. MVF works on macOS, though testing did expose an error with Tessellation on Nvidia (true for MVF enabled & disabled).

Change 3718633 by Guillaume.Abadie

	Fixes temporal instability issue of TAA upsample with secondary screen percentage.

Change 3718658 by Arne.Schober

	DR - 25% MorphTarget Speed increase because there was a bit of cache thrashing between the waves going on.

Change 3718818 by Mark.Satterthwaite

	Fix compilation on hlslcc - integral values are not automatically converted into comparisons with zero.

Change 3719004 by Guillaume.Abadie

	Lets the game viewport client automatically set raw output screen percentage method when doing dynamic resolution with stereo rendering but without TAA upsample.

Change 3719375 by Mark.Satterthwaite

	Extend mtlpp compiler testing app to support Metal tessellation compute shaders so we can send Nvidia a much simpler reproduction of their regression.

Change 3720099 by Mark.Satterthwaite

	Make the left-hand arguments work in airdiff.

Change 3720413 by Mark.Satterthwaite

	Support standalone compute shaders in the mtlpp compiler test app.

Change 3721232 by Mark.Satterthwaite

	No more Metal Shader Model 4 - instead we have to have a Metal Shader Model 5 w/o Tessellation as Nvidia's shader compiler is broken on all tessellation shaders in 10.13.0 and above. There is no guarantee that they will fix this prior to 10.14 and I can't afford to disable tessellation entirely as if I do that then the AMD & Intel compilers will also regress. As there is no Shader Model 4 platform on Mac anymore I've amended the LevelEditorActions to disable the preview modes when no appropriate shader platform is available.

Change 3721244 by Mark.Satterthwaite

	Fix incorrect enum handling for Metal features due to overflow.

	#jira UE-51643

Change 3721338 by Mark.Satterthwaite

	MIssing file from 3721232

Change 3721818 by Mark.Satterthwaite

	Fix the Intel vector-array-dereference workaround so that it doesn't cause the AMD compiler to explode instead.

Change 3722139 by Arne.Schober

	DR - [UE-51602] -Fixed Typo that accidently bound the LightingInstancebuffer to the Transform one

	#jira UE-51602

Change 3722165 by Rolando.Caloca

	DR - Default -opengl to GL4

Change 3722682 by Guillaume.Abadie

	Fixes wrong clear color in SSR important for VR that has a HMD mesh.

Change 3722766 by Rolando.Caloca

	DR - Fix static analysis

Change 3722943 by Mark.Satterthwaite

	Disable the METAL_SM5_NOTESS shader platform again - I can workaround the Nvidia pipeline state compiler crash by changing the buffer address space from "constant" to "device" as we're managing to confuse the poor thing. This won't materially affect AMD or Intel as they don't care much about this, but to limit performance issues on Nvidia we only need to do this for Tessellation Compute shaders.

Change 3723100 by Mark.Satterthwaite

	Apparently users like enabling Metal shader standards that won't work on their current OS, so don't display those that aren't going to work & display an error message before quitting rather than crashing when trying to load a project that tries to use an incompatible shader version.

Change 3723121 by Mark.Satterthwaite

	Fix build error.

Change 3723245 by Daniel.Wright

	Ensure for when a reflection capture upload fails due to incorrect lighting scenario level handling
	Reflection captures with no data use an array index of 0, instead of -1.  Might avoid reading uninitialized memory on PS4.

Change 3723387 by Arne.Schober

	DR - Metal already applies the instance and vertexoffset in the shader

Change 3723393 by Mark.Satterthwaite

	More fixes to the mtlpp compiler test application.

Change 3725258 by Guillaume.Abadie

	Improves fast TAA upsample shader permutation by 15% on console.

Change 3725555 by Chris.Bunner

	[Dupliate] CL 3725548 - Fixed invalid screenpercentage value in VehicleGame sample (was setting -1 but should default to 100). This has always been broken but was recently exposed by CL 3686200.

Change 3726845 by Guillaume.Abadie

	Exposes SvPosition to material through screen position material expression, so that material no longer have SvPosition * InvViewSize * ViewSize precision loss.

	#jira UE-51428

Change 3728014 by Guillaume.Abadie

	Uses ScreenPosition material expression's PixelPosition pin in existing engine functions to improve precision.

	#jira UE-51428

Change 3728053 by Richard.Wallis

	Duplicate CL 3727958: Crash fix when using shared material libraries.  Initial shader code library offset is not zero'd so all entry offsets were garbage.

Change 3728339 by Guillaume.Abadie

	Adds project setting for TAA upample, and officialises TAA upsampling CVar.

Change 3728549 by Guillaume.Abadie

	CsvProfiler is pretty cool, but even better with console autocompletion for lazy developers.

Change 3728752 by nick.bullard

	Built and re-saved QA-MeshPaint
	#jira UE-50978

Change 3728775 by Guillaume.Abadie

	Implements r.DynamicRes.ChangePercentageThreshold to stabilize primary screen percentage.

Change 3729224 by Uriel.Doyon

	Hidden levels now keep their last build data when using lighting scenarios.
	Hidden levels don't affect the scene anymore volumetric lighting when not using lighting scenarios.

	#jira UE-40454
	#jira UE-38131

Change 3729243 by Marcus.Wassmer

	Update Ansel to 1.4
	#github 4159
	#jira UE-51545

Change 3729325 by zachary.wilson

	Adding indirect lighting to TM-LightingChannels
	#jira UE-47069

Change 3729485 by zachary.wilson

	Fixing ambient occlusion bias on QA-LightsStationary. Removed global PPV with bad settings, also fixed the shadow on the roof.
	#jira UE-50972

Change 3729629 by Uriel.Doyon

	Fixed crash when using debug view modes.
	Fixed d3ddebug error when clearing quad overdraw buffer.

	#jira UE-51836

Change 3730053 by Guillaume.Abadie

	Allows edititing of AScreenshotFunctionalTestBase::ScreenshotCamera.

Change 3730308 by Guillaume.Abadie

	Disables TAA upsample on buffer visualization, and disallow screen percentage preview in editor viewport with any buffer visualization.

Change 3730355 by Guillaume.Abadie

	Sacrifices consistency for good cvar name for TAA upsample.

Change 3731403 by Daniel.Wright

	Reduced slider for ContactShadowLength to .1, algorithm produces poor results with larger values.

Change 3731404 by Daniel.Wright

	Checkpoint for ScreenShadowMaskTexture, allowing 'vis ScreenShadowMaskTexture'

Change 3731407 by Daniel.Wright

	Must opt-in for FDistanceFieldSceneData::VerifyIntegrity

Change 3731517 by Guillaume.Abadie

	Freezes dynamic resolution heuristic when doing pause.

Change 3732168 by Guillaume.Abadie

	Renames TAA upsampling cvar.

Change 3732295 by Guillaume.Abadie

	Lets the scene texture's size and texel size return the correct sizes after TAA upsample.

Change 3732313 by Guillaume.Abadie

	Implements SceneTexture material expressions' automated tests.

Change 3734928 by Guillaume.Abadie

	Adds panic mode when the last N frames are over budget to the dynamic resolution heuristic.

Change 3735966 by Ryan.Vance

	Fixing mac steamvr compile issue. Missed a few lines in the refactor because mac.

Change 3736104 by Guillaume.Abadie

	Removes FSceneViewInitOptions::bDisableGameScreenPercentage brought by 4.18, that new screen percentage API do in a better way.

Change 3736346 by Daniel.Wright

	Volumetric fog is always interpolated in the pixel shader, since per-vertex interpolation gives consistently poor results.  Fixes Volumetric Fog on opaque in Forward, and on transparent in Deferred.
	Forward shading: per-pixel height fog is always done in the base pass, to work with MSAA correctly

Change 3736348 by Daniel.Wright

	Forward shadowing of directional light for translucency
	 * Static shadowing and CSM supported with minimal filtering (1 PCF)
	 * Deferred renderer: affects translucency using 'Surface ForwardShading' lighting mode.  Forward renderer: affects all translucency.

Change 3736650 by Rolando.Caloca

	DR - vk - # of desc pools

Change 3737985 by Guillaume.Abadie

	Fixes pixel inspector with primary and secondary screen percentage.

Change 3738638 by Michael.Lentine

	Compile fix due to unclear operator precendence.

Change 3739417 by Daniel.Wright

	Fixed a few issues with irradiance cache visualization

Change 3739447 by Daniel.Wright

	Skip forward static shadowing in projects with static lighting disabled

Change 3739595 by Daniel.Wright

	ConditionalPostLoad DistanceFieldReplacementMesh.  Should fix a crash on load when static mesh derived data is being rebuilt, and the DistanceFieldReplacementMesh is in use.

Change 3739598 by Daniel.Wright

	Disable capsules shadows on lowest shadow quality

Change 3739611 by Daniel.Wright

	Added r.CapsuleDirectShadows and r.CapsuleIndirectShadows for more specific scalability control over capsule shadow features
	New Lighting Feature show flags for RTDF shadows and Capsule Shadows

Change 3740516 by Guillaume.Abadie

	Fixes VR editor rendering only on eye with TAA upsample.

	#jira UE-52016

Change 3740580 by Guillaume.Abadie

	Fixes chromatic aberration with TAA upsample and multiple view rendering.

	#jira UE-51993

Change 3740588 by Guillaume.Abadie

	Gives to FXAA a more explicit draw event name for easier UDN support.

Change 3740845 by Michael.Lentine

	Fix shipping build.

Change 3740903 by Guillaume.Abadie

	Disables dynamic resolution threading outliers detection by default and includes editor UI GPU cost within dynamic resolution's begin/end frame events for better reliability of timestamp query based dynamic res in editor.

Change 3741355 by Daniel.Wright

	Normalize planar reflection plane - fixes crash when scaling a BP with a planar reflection component

Change 3741357 by Daniel.Wright

	More info on volumetric lightmap import failure

Change 3742535 by Ryan.Vance

	Fix for view rect changes.

Change 3743282 by Guillaume.Abadie

	Fixes a bug in dynamic resolution heuristic's outlier detection that was preventing the over budget panic to react.

Change 3743559 by Michael.Lentine

	Port Siren changes for recompute tangents. This adds recompute tangents for cloth as well as the ability for recompute tangents to work across seams where vertices are duplicated.

Change 3743679 by Guillaume.Abadie

	Cherry-pick 3743621: Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.

	#jira UE-51569

Change 3743906 by Ryan.Brucks

	BlueprintMaterialAndTextureNodes Plugin:  Fix for clamping sampled HDR render target values by setting  ERangeCompressionMode in the FReadSurfaceDataFlags to RCM_MinMax

Change 3744096 by Ryan.Brucks

	BlueprintMaterialAndTextureNodes Plugin:  removed Mip option from Texture2D_SampleUV_EditorOnly for now since reads from source data cannot access mips and it can be misleading.

Change 3744253 by Guillaume.Abadie

	Fixes merge collisions of debug canvas rendering with High DPI, fixes stat unit on high DPI monitors, and fixes secondary screen percentages.

Change 3744953 by Chris.Bunner

	Crash workaround.

Change 3745628 by Marcus.Wassmer

	Temporarily disable recalctangent normal-smoothing

	#jira UE-52166

Change 3745942 by Guillaume.Abadie

	Fixes a todo in FCommonViewportClient

Change 3746005 by Guillaume.Abadie

	Fixes stat UnitGraph on high DPI monitor.

Change 3746029 by Guillaume.Abadie

	Oups.... Fix compilation. :D

Change 3748322 by Guillaume.Abadie

	Shows dynamic resolution's primary screen percentage on stat unit/unitgraph console commands.

Change 3748346 by Chris.Bunner

	Potential static analysis fix.

Change 3748349 by Chris.Bunner

	Mac feature support flag fix on versions < 10.30.

Change 3749336 by Guillaume.Abadie

	Fixes some spelling mistakes in dynamic resolution cvars. Thanks Daniel!

Change 3749374 by Guillaume.Abadie

	Adds a black background on the stat unitgraph so timing curves can be seen no matter the content.

Change 3749437 by Guillaume.Abadie

	Final UI polish up for `stat unitgraph`

Change 3749719 by Guillaume.Abadie

	Fixes a crash when changing r.DynamicRes.MaxScreenPercentage below current screen percentage.

Change 3750243 by Chris.Bunner

	Increasing controller's automated test timeout to allow for slower machines to complete the longest tests.

	#jira UE-48494, UE-51907

Change 3750728 by Guillaume.Abadie

	Fixes merge collision in chromatic aberration.

	#jira UE-52282

Change 3750791 by Guillaume.Abadie

	Fixes chromatic baerration R and G channel swap.

Change 3751246 by Guillaume.Abadie

	Bypasses screen percentage apply with mobile LDR rendering.

	#jira UE-52089

Change 3752624 by Guillaume.Abadie

	Simplies dyn res state's event interface to a single virtual method.

Change 3753766 by Chris.Bunner

	Rebuilt volumetric baked lighting test map and updated screenshots.

	#jira UE-52322

Change 3755108 by Guillaume.Abadie

	Fixes a bug where default dynamic resolution state was created at startup of server build.

	#jira UE-52345

Change 3755267 by Mark.Satterthwaite

	Fix condition controlling which features are enabled when iOS >= 10.3 - it wasn't working for iOS 11+ which was causing all kinds of problems.

	#jira UE-52301

Change 3755811 by Chris.Bunner

	Disable some new logging that was causing a stack overflow during EnginePreInit.

	#jira UE-52345

Change 3756983 by Mark.Satterthwaite

	Prevent different versions of metal_stdlib/ue4_stdlib from causing shader compilation failures due to a time-stamp mismatch between the local file & the PCH. This can happen when working with Xcode Beta releases that change the modification date, but not the content or compiler version, amongst other possibilities.

	#jira UE-52073

Change 3757156 by Guillaume.Abadie

	Fixes editor compositing with wireframe rendering.

	#jira UE-52017

Change 3757435 by Mark.Satterthwaite

	Workaround a bug in the MobileSceneCaptureRendering where it was copying the ViewInfo's ViewRect prior to it being configured by the mobile renderer.
	#jira UE-52327

Change 3757523 by Uriel.Doyon

	Fixed d3ddebug warning with unused inputs

Change 3758318 by Guillaume.Abadie

	Cleaner fix for mobile scene captures.

	#jira UE-52327

Change 3759541 by Mark.Satterthwaite

	Don't enable Manual Vertex Fetch on iOS Metal for the moment as it isn't well tested there and will probably need further changes.

Change 3695086 by Guillaume.Abadie

	Render thread dynamic resolution & TAA upsample.

	Merging //Tasks/UE4/Dev-DynamicRes/...@3694528 to //UE4/Dev-Rendering/...

	New features breakdown:
	- TAA upsample compute shader that accepts screen percentage from 50% to 200%, with a faster shader permutation for consoles;
	- Material no longer have to deal with BufferUV, and post process material after TAA upsample can sample any scene buffer seamlessly;
	- Material texture per view mip bias to produce sharper images with TAA upsample;
	- Render thread dynamic resolution heuristic is fully plugable by game code (for VR plugin specific heuristics);
	- Dynamic resolution in PIE and game builds;
	- Busy time queries in the RHI to be implemented on the different platforms so that the dynamic resolution heuristic can  exactly associate GPU frame times with screen percentages in its history;
	- Game user settings to enable/disable dynamic resolution;
	- In editor viewport screen percentage config to previsualise and test content at different screen percentage.

	Fixes:
	- Various fixes for algorithms producing different outputs at different screen percentage.
	- Various fixes for algorithms sampling outside view rects.

	Refactors:
	- TAA shader
	- Moved some screen percentage specific members from FSceneView to FViewInfo for thread race bullet proofing.

	Aknowledgements:
	- VR plugins are broken
	- DFAO still have some artifacts

	Premiliminary review: Marcus.Wassmer
	Review for TAA refactor and TAA upsample shader: Brian.Karis
	Review for dynamic resolution: Brian.Karis

[CL 3761165 by Chris Bunner in Main branch]
2017-11-16 11:36:35 -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
Joe Barnes
c8b108b1ed Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden

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

Change 3443778 by Ben.Woodhouse

	Aliasing for transient resources + new high level API

	Changelists integrated:
	3368830
	3368887
	3377762
	3377763
	3379513
	3381840
	3382046
	3382138
	3385390
	3385391
	3385531
	3396613
	3388752
	3396756
	3397007
	3397059
	3397780
	3397883
	3401716
	3415179

Change 3576521 by Bart.Hawthorne

	ShooterGame - update the game instance's online mode when the LAN option is changed

Change 3587252 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...

Change 3587943 by Luke.Thatcher

	[CONSOLE] [+] Improved XGE shader compiler
	 - Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
	 - Old system has been renamed "Xml interface"
	 - Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.

	Overview of the new system:
	 - New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
	 - When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
	 - Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.

	 - New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
	 - The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.

	#jira UECON-263

Change 3590037 by Luke.Thatcher

	[CONSOLE] [!] Fix compile/link errors with XGE controller module
	 - Various unity related fixes needed.

Change 3590047 by Luke.Thatcher

	[CONSOLE] [!] Compile XGE controller module for Editor builds only
	 - The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).

Change 3594074 by Luke.Thatcher

	[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp

Change 3596292 by Luke.Thatcher

	[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!

Change 3596776 by Jonathan.Fitzpatrick

	cherry pick CL 3595292
	cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.

Change 3596795 by Jonathan.Fitzpatrick

	Back out changelist 3596776

Change 3596816 by Jonathan.Fitzpatrick

	Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.

Change 3604282 by Ben.Marsh

	UBT: Add support for pre-build and post-build steps when using MegaXGE.

Change 3606862 by Ben.Marsh

	Fix missing header guard warning.

Change 3611644 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...

Change 3614089 by Joe.Barnes

	Call GRHICommandList.LatchBypass() after variables it checks are set.

	#jira ue-48130

Change 3617783 by Daniel.Eldar

	Headers for the HDR changes (they are pre-requisites for compilation).

	Integrated from:
	//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...

	to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...

	#jira UECON-226

Change 3619117 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...

Change 3619123 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...

Change 3619603 by Stewart.Lynch

	Merging

	//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp

	to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp

	Changed UMaterialInstance::PostLoad(); to Super::PostLoad();

Change 3619608 by Stewart.Lynch

	Merging

	//Fortnite/Dev-Athena/Engine/Source/Runtime/...

	to //UE4/Dev-Console/Engine/Source/Runtime/...

	LLM update

	* made sure that all csv stat tracking is disabled if running without -LLMCSV
	* added new UObject scopes
	* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
	* added material scopes
	* changed UMaterialInstance::PostLoad(); to Super::PostLoad();

Change 3619634 by Stewart.Lynch

	Merging

	//Fortnite/Main/...

	to //UE4/Dev-Console/...

	General LLM improvements

	* added tracking for misc task graph tasks (moves 20MB out of Untagged)
	* renamed EngineTick to EngineMisc
	* added tracking for FName
	* added tracking for GC_ProcessObjectArray potential leak
	* renamed index & vertex buffers stat to Meshes
	* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
	* removed AVAILABLE_PHYSICAL stat from LLM csv
	* csv files now include the date in the filename
	* fixed potential threading bug when reading stat values to csv
	* added lots more scopes
	* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
	* added tracking of FName memory
	* added llm tracking for CPU symbol allocations (20MB)
	* added tracking for GC
	* fixed tracking for TransientMemoryAllocator
	* added tracking for networking memory
	* added more audio memory tracking
	* added tracking for blueprints
	* added tracking for static meshes
	* show on screen warning if debug memory is enabled
	* added tracking for particles
	* renamed Phys to PhysX and added more scopes
	* renamed Slate to UI and added more scopes
	* much better coverage of networking memory
	* improved coverage of audio

Change 3619642 by Stewart.Lynch

	Merging

	//Fortnite/Main/Engine/Source/Runtime/Core/...

	to //UE4/Dev-Console/Engine/Source/Runtime/Core/...

	Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.

Change 3619799 by Luke.Thatcher

	[CONSOLE] [-] Disable peak memory tracking in LLM.

Change 3619809 by Luke.Thatcher

	[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
	 - Add Render Target Pool Stats. Use "stat rendertargetpool" to view.

Change 3619928 by Luke.Thatcher

	[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)

Change 3620571 by Keith.Judge

	Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.

	We need to refactor this in future to resize according to content on demand like D3D11.x.

	#jira FORT-53103
	#jira FORT-53119

Change 3622419 by Daniel.Eldar

	[General] Fix for occasional ensure to do with retriving the new cvar value.

	#JIRA UE-46644

Change 3622491 by Daniel.Eldar

	[General] Added support for scaling on stat unit and unitgraph.

	#JIRA UE-46644

Change 3622610 by Daniel.Eldar

	[General] Fixed a compilation warning

Change 3624659 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...

Change 3624678 by Ben.Woodhouse

	Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...

Change 3624878 by Ben.Woodhouse

	Integrate as edit CLs 3611835 3611844 3616942 3617607
	Descriptor heap memory fix (saves up to ~100MB).
	 * Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
	 * Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.

	Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)

	This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .

Change 3624882 by Ben.Woodhouse

	Fix virtual destructor warning in D3DX12.h

Change 3626419 by Stewart.Lynch

	Merging
	//Fortnite/Main/...

	to //UE4/Dev-Console/...

	LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags

	* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
	* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
	* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
	* summary page for content creators where all lower-level stats are grouped under one Engine stat
	* renamed ELLMScopeTag enum to ELLMTag
	* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
	* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
	* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
	* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
	* lots of changes adding/removing/renaming tags
	* added LLMArray and FLLMObjectAllocator classes
	* disabled asset tag tracking by default because it takes up so much memory even when not used
	* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
	* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
	* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
	* added a CVar to control the csv write interval: LLM.LLMWriteInterval
	* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
	* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum

	#jira UECON-264

Change 3626906 by Joe.Barnes

	Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties

Change 3628045 by Stewart.Lynch

	Merging

	//Fortnite/Main/Engine/Source/Runtime/Core/...

	to //UE4/Dev-Console/Engine/Source/Runtime/Core/...

	LLM - enabled LLM on Windows

	* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
	* changed Align to AlignArbitrary in LLMArray. Small memory saving.
	* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
	* set program size to zero on windows because it isn't relevant

	#jira UECON-282

Change 3632279 by Ben.Woodhouse

	Back out changelist 3619862
	#jira UE-49472

[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -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
Michael Trepka
799617bc07 Make sure we unload modules when shutting down SCW. This solves a crash at exit where FDDCCleanup would try to use IFileManager.Get() after the file manager was destroyed
#rb Mark.Satterthwaite
#fyi Marcus.Wassmer, Ben.Marsh
#jira UE-48979
#lockdown Nick.Penwarden

[CL 3618361 by Michael Trepka in Main branch]
2017-08-30 15:02:07 -04:00