Commit Graph

120 Commits

Author SHA1 Message Date
sebastien hillaire
139c0e2e9d Fixed many issues related to reflection
- Clarified top and bottom layers. Default material only has top layer.
- Reverted clear coat code doing an extra loop for sky sampling causing issues on other materials (wrongly receiving sky color)
- Fixed clear coat appearance when MaxDistance!=-1
- Fixed black reflexions due to R pointing into the surface using the clear coat normal (assuming it is smooth so only a half kind of a fix, a proper fix would involve sending the geometry normal in the payload)
- Tested: works with fog, with/without reflection volume, and with/without deferred material evaluation

#rb Charles.DeRousiers
#jira none, but agreed with Juan Canada and Nick Penwarden that it should go in (for correctenss of reflections and entreprise coated material)
#lockdown nick.penwarden

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 5491314 in //UE4/Release-4.22/... via CL 5491315
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5514611 by sebastien hillaire in Dev-VR branch]
2019-03-22 17:55:47 -04:00
sebastien hillaire
dcad6450a5 Ray traced reflection can now correctly fallback to environment lighting contribution with sky visible from primary reflection ray.
With or without Reflection.MaxDistance at -1.

#rb Charles.DeRousiers
[FYI] Juan.Canada, Patrick.Kelly

#jira none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 5424707 in //UE4/Release-4.22/... via CL 5424710
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5424911 by sebastien hillaire in Dev-VR branch]
2019-03-18 04:58:55 -04:00
guillaume abadie
f09501f497 Makes some changes to the reflection denoiser interface and render graph for third party denoiser plugins.
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 5400110 in //UE4/Release-4.22/... via CL 5400117
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5411630 by guillaume abadie in Dev-VR branch]
2019-03-15 05:59:24 -04:00
marcus wassmer
d0f97133e3 Force integrate 5317515 from release-4.22 to fix some issues with 'undo'.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marcus.wassmer
#ROBOMERGE-SOURCE: CL 5337699 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387476 by marcus wassmer in Dev-VR branch]
2019-03-13 14:52:34 -04:00
juan canada
20bb1c977d Undo //UE4/Main/... changelist 5335728
#rb marcus.wassmer

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 5335770 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387094 by juan canada in Dev-VR branch]
2019-03-13 14:40:42 -04:00
juan canada
880a03181c Copying //UE4/Private-Woodchuck-Staging[at]5316917 to Release-4.22 (//UE4/Release-4.22)
#rb none
#JIRA

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 5317515 in //UE4/Release-4.22/... via CL 5335728
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387087 by juan canada in Dev-VR branch]
2019-03-13 14:40:25 -04:00
juan canada
8a0d324456 Copying //UE4/Private-Woodchuck-Staging[at]4997051 to Release-4.22 (//UE4/Release-4.22)
#rb none
#jira
[FYI] marcus.wassmer
[FYI] zachary.wilson

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 4997195 in //UE4/Release-4.22/... via CL 4997198
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5077272 by juan canada in Dev-VR branch]
2019-02-19 18:10:24 -05:00
marcus wassmer
b259f65406 Copying //UE4/Dev-Rendering[at]4854522 to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marcus.wassmer
#ROBOMERGE-SOURCE: CL 4854553 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 4854570 by marcus wassmer in Dev-VR branch]
2019-01-30 21:24:04 -05:00
Ryan Vance
7c51ff94af Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
CL 1 of 8
#rb integration

[CL 4748712 by Ryan Vance in Dev-VR branch]
2019-01-17 18:54:05 -05:00
jason bestimt
9a64d93526 --------------------------------------
Copying //UE4/Dev-Rendering[at]4626416 to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown nick.penwarden

#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-AUTHOR: marcus.wassmer
#ROBOMERGE-SOURCE: CL 4626501 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 4627410 by jason bestimt in Dev-VR branch]
2018-12-04 09:59:43 -05:00
jason bestimt
d155f30f6b #CodeReview: jason.bestimt,nick.whiting,mike.beach
--------------------------------------
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering [at] 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

#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4358751 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 4358828 by jason bestimt in Dev-VR branch]
2018-09-11 15:00:12 -04:00
Marc Audy
d90da4ab1a Merge to Dev-Main for 4.20 @ 4090813
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4091081 by Marc Audy in Main branch]
2018-05-23 21:04:31 -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
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
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
Marc Audy
74f7654eb7 Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main/Engine @ 3780923)
#lockdown Nick.Penwarden
#rb none

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

Change 3780878 by Nick.Darnell

	UMG - Providing more information when the compile fails to find a bindable widget.


Change 3780855 by Gil.Gribb

	UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Saves half the load time in FN-BR.


Change 3780803 by Thomas.Sarkanen

	Dont create animation tasks for skeletal meshes that have no anim instance

	This avoids some wasted work for non-animated attachments, such as pickaxes

	#jira FORT-61523 - Don't create anim worker tasks if no AnimBP


Change 3780741 by Yenal.Kal

	#jira FORT-60177

	Fixed the bug where the anim branching points (begin and end) may be triggered twice incorrectly.

Change 3780663 by Gil.Gribb

	UE4 - Batching for audio thread commands.


Change 3780466 by Ben.Marsh

	Add error matcher for generic Microsoft errors (eg. 'cl : Command line error D8049 : command line too long to fit in debug record')

Change 3779937 by Nick.Darnell

	UMG - Adding an accessor on UUserWidget to get the owning player state easier, since it's a common operation.


Change 3779858 by Sam.Zamani

	#http
	use separate "-multihomehttp" instead of "-multihome" for routing http socket

	#jira FORT-61666
	#tests none

Change 3779288 by Michael.Trepka

	Changed FMacConsoleOutputDevice::Serialize to use FString's GetNSString() instead of converting the string using FPlatformString::TCHARToCFString to make it safer in case of garbage text passed in Data

	#jira FORT-59762

Change 3779062 by Mike.Fricker

	Merged CL 3731188 and CL 3733311 from //UE4/Dev-Editor.

	----

	Improve responsiveness of Open Asset dialog.

	On large projects, there's a noticeable delay when opening and searching/filtering assets.

	Stopwatch measurements on my machine (seconds for ~122,000 assets):
		before	with this CL
	ctrl-P	1.4	0.45
	search	1.8	0.55

	CollectionManagerModule was the main culprit for search/filter slowness.

	Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation.


Change 3778954 by Nick.Darnell

	Slate - Making the Horizontal and Vertical analog keys configurable in the navigation config.  Tweaking how fast the navigation is with the analog stick, trying to tune the feeling.


Change 3778896 by Ben.Marsh

	Separate FNameEntrySerialized from FNameEntry, rather than deriving from it. It has to be allocated differently, and many fields cannot be shared between the two.

	#jira

Change 3778807 by Ben.Marsh

	Fix Tencent include paths not registering if workspace directory contains a space.

	Tencent include paths currently have a trailing backslash, and this is surrounded by quotes if the root directory contains a space. The backslash is interpreted as escaping the trailing double quote.

	#jira

Change 3778686 by Luke.Thatcher

	 Reduced impact of dynamic vertex buffer RHI stall in D3D12
	 - In most cases we can avoid the stall if the vertex buffer has never been used before.
	 - Only when a buffer has an existing SRV do we need to stall.

	 - Also, delete copy and move constructors of FD3D12ResourceLocation. Moving or copying an instance of this class leads to double free crashes, so this is now a compile error rather than a runtime crash.

	This saves an average of 2ms frame time in a StW lastperftest replay, with r.screenpercentage 10.

	#jira FORT-61390

Change 3778679 by Thomas.Sarkanen

	Fix Linux server crash - dont attempt to run threaded work in a single-threaded environment

	We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously.

	#jira FORT-61548

Change 3778591 by Ben.Woodhouse

	Add build config to FPSChart HTML output

	#jira FORT-56478

Change 3778175 by ben.marsh

	Remove code to trigger an ensure on Arxan guards. We already send analytics for this, and don't need this legacy path. There is a large number of incoming ensures with this callstack that are clogging up crash reporter.

	Will remove all the surrounding code in a later update to a development branch.

	#jira

Change 3777750 by Chris.Gagnon

	- Slate now supports a CustomBoundary Navigation type wich allows a custom handler if the boundary is hit.
	  - This provides the ability to have normal navigation while within the boundary and the custom function only on the boundary.
	  - This differs from Custom which is a full override of the navigation behavior.



Change 3777678 by Bob.Tellez

	#UE4 Fix a bug that was causing fastpath nodes in non-nativized BPs to not be fastpath


Change 3776962 by Bob.Tellez

	#UE4 Fix warning about missing virtual destructor by making a struct final (like other RHICommands)


Change 3776656 by Thomas.Sarkanen

	Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components

	This was causing AIs to get stuck in montage playback in some circumstances

	#jira FORT-61324, FORT-60558


Change 3776655 by Bob.Tellez

	#UE4 CIS fix after 3776629


Change 3776650 by Bob.Tellez

	Counting uplugin and uproject files as code changes so UGS will trigger code builds on checkins containing these files


Change 3776649 by Nick.Darnell

	UMG - Fixing a rare crash when destructing a widget in the designer.  It's trying to remove widgets from a half garbage collected panel.


Change 3776629 by Bob.Tellez

	#UE4 Using a more efficient data structure for keeping track of visited nodes when verifying EDL.


Change 3776328 by James.Golding

	Add command line option (-statnamedevents) for enabling named events



Change 3776024 by Nick.Darnell

	Slate - Adding an accessor to SSafeZone to get the amount of padding that will be added, given some scale.


Change 3775569 by Gil.Gribb

	UE4 - Fixed bugs with r.DelaySceneRenderCompletion


Change 3775543 by Luke.Thatcher

	 [XBOXONE] [~] Remove stall in D3D12 CreateRHIBuffer
	 - Buffer update is enqueued as a task on the RHI thread instead of stalling the RHI thread for the duration of the update.


Change 3775488 by Thomas.Sarkanen

	Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks

	#jira FORT-61157 - Run anim update on worker, even if not visible

Change 3775219 by Bob.Tellez

	#UE4 Dont SerializeThumbnails when calling savepackage while editoronly data is excluded (cooking). This saves a lot of memory while cooking


Change 3774886 by Mike.Fricker

	Fixed occasional crash when backing out to lobby
	- Don't force DF data to be updated when the mesh isn't in the world or has no scene interface

	#jira FORT-60863

Change 3774767 by Ori.Cohen

	Fix race condition for creating statid in test configs


Change 3774682 by Bob.Tellez

	#UE4 Don't bother clearing cached platform data during shutdown purge since there may be a lot of it and it takes a while to destroy it.


Change 3774621 by Bob.Tellez

	#UE4 Move Tree rebuilding during cook from Serialize to PreSave to avoid building the tree multiple times for a single platform. Also properly clear out CacheMeshExtendedBounds.


Change 3774201 by Gil.Gribb

	UE4 - Fixed rare crash caused by unmounting pak files.


Change 3773920 by Gil.Gribb

	UE4 - Added experimental option r.StartPrepassParallelTranslatesImmediately which allows the parallel translate tasks from the prepass to start before we init shadows. Disabled by default.


Change 3773896 by Thomas.Sarkanen

	Push non-rendered anim updates back onto the worker thread

	Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation).

	#jira FORT-61157 - Run anim update on worker, even if not visible


Change 3773886 by Gil.Gribb

	UE4 - Reduced r.RHICmdMinCmdlistForParallelSubmit from 2 to 1.


Change 3773882 by Gil.Gribb

	UE4 - Improved profiler markers when they are used without stats to cover the task graph and some things related to the parallel renderer.


Change 3773461 by Gil.Gribb

	UE4 - Increased the granularity of the ParallelFor blocks for greater load balancing.


Change 3773459 by Gil.Gribb

	UE4 - Adds TLS caches for MallocBinned2 to the Audio thread.


Change 3773458 by Gil.Gribb

	UE4 - Added an experimental option to do the slate render before waiting for the rendering tasks.


Change 3773011 by Robert.Manuszewski

	Header (uasset) and export (uexp) files will now be compared seperately when running cook commandlet with -diffonly to avoid situations where a mismatch in size of the header produces more differences between exports.

	+ Renamed ini setting to ignore header differences from SkipHeaderDiff to IgnoreHeaderDiff


Change 3772867 by Thomas.Sarkanen

	Nativization now correctly generates and builds code for "Client" builds

	Overall this is a bunch of hacks, but necessary for nativization to work at present. Once the cooker and UAT both have a concept of "Client" targets, this can be implemented properly.
	Instead of building to a "Client" directory, we build to "Game" for client-only platforms (like PS4, XboxOne)
	Also we need to add "Client" targets to the whitelist for the nativized assets plugin, as UBT still thinks it is building for "Client"

	#jira FORT-52823 - Nativizing Player Animation Blueprints

Change 3772408 by Robert.Manuszewski

	Cook commandlet will now report full property name when running a diff against the existing cook (-diffonly)


Change 3772359 by Thomas.Sarkanen

	Improvements to the Cpp backend to allow VC++ to compile nativized code more effectively

	Added a new scoped helper to wrap areas of the code in PRAGMA_DISABLE_OPTIMIZATION. This helps with functions that are large tables or long lists of initializations.
	Split anim node initialization up into functions, called from a seperate function dedicated to initializing anim nodes. This splits the 5k+ line constructor into mutiple smaller functions, which the compiler has no problems with.
	Overall (along with splitting up the anim BP into functions in the asset) this reduces compilation time for the worst-case compilation unit from ~11m 40s to ~2m 32s.

	#jira FORT-52823 - Nativizing Player Animation Blueprints

Change 3771975 by Zak.Middleton

	Fix character proxies doing up to two floor check when only rotation changes. Add some optional verbose logging to FindFloor() and ComputeFloorDist().

	#jira FORT-61134

Change 3771421 by Ori.Cohen

	Fix CIS


Change 3771052 by Robert.Manuszewski

	Package diff improvements (-diffonly mode for cooker). Exposed max diffs to report to ini and added the ability to suppress header differences reporting as they are usually a result of differences in exports anyway.


Change 3771039 by Bob.Tellez

	#UE4 Allowing use of -FPS in PGO profile builds


Change 3770747 by Ori.Cohen

	Added missing stat named events for anim bp


Change 3769616 by Arciel.Rekman

	UBT: Use response files for compiler when compiling for Linux.

	- Some command lines are too long when cross-compiling on Windows, which is a problem for non-unity builds (or local changes that result in exclusion of checked out files from the lumped units).

Change 3769457 by Gil.Gribb

	UE4 - Added eviction to r.DoLazyStaticMeshUpdate. It just removes 10 prims a frame in a rolling fashion.


Change 3769136 by Michael.Noland

	Engine: Improve IsServerDelegateForOSS to allow it to use the play world during PIE even if no context was passed in


Change 3768736 by Robert.Manuszewski

	More debug info for ensure in FLinkerSave when a name that has not yet been mapped is being serialized

	#jira FORT-60943

Change 3768634 by Robert.Manuszewski

	Small optimization to FEDLCookChecker::Verify function


Change 3768603 by Robert.Manuszewski

	Merging CL #3766740 by Steve.Robb

	TMultiMap::Append added.


Change 3768586 by Ben.Woodhouse

	csv profiler screen message


Change 3768506 by Thomas.Sarkanen

	Duplicating CL 3764661 from Paragon:

	Only update Children attached to Sockets in USkeletalMeshComponent::PostBlendPhysics().
	Saves ~20% of STAT_UpdateChildTransforms and ~10% of STAT_UpdateLocalToWorldAndOverlaps in 5ofEach_Dusk_vs_Dusk automation test.

	#jira OR-46341

	#tests LaneMinionFXTests, monolith w/ full teams.

Change 3768504 by Thomas.Sarkanen

	Duplicating CL 3758315  from Paragon:

	Optimized PostAnimEvaluation when URO is skipping a frame with no interpolation. Skip unnecessary work.
	PreEvaluateAnimation() is now only called if we're about to evaluate anims. PostEvaluateAnimation() is also called only if we have evaluated animations.
	Therefore PostEvaluateAnimation() has been pulled inside of PostAnimEvaluation() instead of FinalizeTransforms.
	Added a call to ConditionallyDispatchQueuedAnimEvents() in the event that we're not calling PostBlendPhysics because we have not evaluated or interpolated anims.
	Added missing call to PostEvaluateAnimation() for PostProcessAnimInstance.

	#jira OR-46341

	#tests minion FX perf map, lane minion test map, monolith match with 2 full teams.

Change 3768097 by Bob.Tellez

	#UE4 Fix non-editor CIS


Change 3767957 by Bob.Tellez


	#UE4 Fix an issue that was causing FullLoadAndSave to fail to cache platform data for textures that were created by landscape on mobile and another issue that caused parallel saving to fail in landscape (when cooking for mobile targets)


Change 3767906 by Mike.Fricker

	Add Blueprint functions to query parameters from MIC

	- GetScalarParameterValue
	- GetTextureParameterValue
	- GetVectorParameterValue

	MIDs already had these functions, but MICs did not.


Change 3767737 by Max.Preussner

	Engine: Fix for external textures referenced by a material before being associated with a media player never having their uniform expressions recached

	#author jack.porter

	#jira FORT-59777

Change 3767735 by Bob.Tellez

	#UE4 Setting Opened to false in FOutputDeviceFile::TearDown so if the device file gets initialized again it will do the same initialization logic as the first time.

	#jira FORT-60918

Change 3767244 by Ethan.Geller

	#jira FORT-60885 Merge in fix for memory leak from 4.18.1.


Change 3766567 by Marc.Audy

	Fix initialization ordering warnings

Change 3766443 by Jian.Ru

	Submit PSO locking fix again as it has passed local tests


Change 3766362 by Ori.Cohen

	Added the ability to get concurrent captures in Test configurations without having to turn full stats on


Change 3766277 by Marc.Audy

	Shrink Skinned and Skeletal Mesh Component, FBodyInstance, and UBodySetup

Change 3766275 by Marc.Audy

	Better pack UTexture* classes

Change 3766272 by Thomas.Sarkanen

	Fixes to enable auto-nativization for animation blueprints

	For blend profiles in particular, I've added subobject support to the fake import table building for nativized assets:
	- In FEmitterLocalContext::FindGloballyMappedObject, if we dont find the referenced asset then we traverse the object's outer chain if it is a subobject. We add it to UsedObjectInCurrentClass if we find its outer.
	- Updated the structure used to build the fake import table to include a specified outer. Beforehand we assumed that all objects referenced by the import table were 'top-level'.
	- Updated the fake import table building code in FLinkerLoad::CreateDynamicTypeLoader() to use the new specified outer if found. This asserts if it couldnt find the outer in the already-parsed dependencies (as it reverse-iterates). If in the general case thius turns out to be a problem we can move this to a two-pass system.

	Disabled fast-path optimization when running a native anim BP, as native code is faster!

	#jira FORT-52823 - Nativizing Player Animation Blueprints
	#jira FORT-57378 - Perf optimization: animation blueprint improvements


Change 3766215 by Marc.Audy

	Shink FFromatContainer from 88 bytes to 24 by storing in TSortedMap instead of TMap


Change 3765664 by Michael.Noland

	Engine: Add support for sets to FJsonObjectConverter::JsonValueToUProperty


Change 3765624 by Marc.Audy

	Create helper macro in Archive.h for encapsulating needed steps for serializing a bitpacked boolean

Change 3765200 by Nick.Darnell

	Slate - Fixing a memory leak in the invalidation panel.  It never cleared out the cached textures and materials it kept alive during retention.


Change 3764881 by Wes.Hunt

	Fix FApp::Get/SetIdleTimeOvershoot. It was overwriting IdleTime, which made FrameTimeWithoutSleep look like FrameTimeWithSleep.
	#jira FORT-60585
	#review-3764882 @arciel.rekman

Change 3763872 by Max.Chen

	Sequencer: Set default completion mode for all sections to project default.

	Copy from Dev-Sequencer

	#jira UE-49480


Change 3763871 by Max.Chen

	Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState.

	Copy from Dev-Sequencer

	#jira UE-49480


Change 3763810 by Gil.Gribb

	UE4 - remove some init timing spew in programs (i.e. UHT)


Change 3762939 by Robert.Manuszewski

	Removing all locks from FEDLCookChecker to improve SavePackage performance


Change 3762851 by Bob.Tellez

	Duplicating CL#3740778 from //UE4/Dev-Editor

	Fixed issue with content browser column sorting

	#jira UE-49460


Change 3762660 by Bob.Tellez

	#UE4 Fix a few parallelsave threading problems.



Change 3761861 by Marc.Audy

	Fix archive complaints about bitfield

Change 3761802 by Marc.Audy

	Pack FTimeline, FHitResult, FAnimUpdateRateParameters, FMeshBuildSettings

Change 3761299 by Matt.Kuhlenschmidt

	Fix levels not being lockable/unlockable if they are not checked out

	#jira FORT-60086

Change 3760422 by Bob.Tellez

	#UE4 Stop caching or clearing platform data when saving concurrently. This was causing threading problems in materials.


Change 3760113 by Jian.Ru

	Back out changelist 3759715 as it causes a crash on UGS autotest


Change 3759761 by Jian.Ru

	Clean up some debug comments


Change 3759715 by Jian.Ru

	Removing excessive locking when accessing PSO caches.


Change 3759285 by Nick.Darnell

	Editor - Fixing the length of the datatable row dropdown in the editor.


Change 3758334 by Alexis.Matte

	Fix a crash when importing morph target there was a unsync between some buffer depending on the import options

	#jira UE-52319

Change 3758332 by Ben.Marsh

	Fix output subfolder being appended twice when generating project files. Causes incorrect command line when launching from Visual Studio.

	#jira

Change 3758215 by Brian.Bekich

	Make Tint property of FSlateBrush NotReplicated now that it is WITH_EDITORONLY_DATA so that cooked clients can connect to uncooked servers


Change 3757702 by Bob.Tellez

	#UE4 Fix -NoConcurrentSave cook option in FullLoadAndSave


Change 3757545 by ben.marsh

	Suppress Arxan warning about being unable to install a default guard at it's default location.

Change 3757452 by Aaron.McLeran

	#jira FORT-59675 Client Crash in __delayLoadHelper2()

	Fixing build error on linux.


Change 3757389 by Hongyi.Yu

	Fixed the crash in UEditorEngine::CheckForWorldGCLeaks() when load a level (level A), PIE, load a sublevel of level A and then load another level.
	#jira FORT-58283

Change 3757229 by Aaron.McLeran

	#jira FORT-59675 Client Crash in __delayLoadHelper2()


Change 3757077 by Max.Preussner

	MediaAssets: Fix for media texture crashing if media player is generated from GC clustered blueprint

	#jira FORT-59774
	#jira UE-51943

	#tests none

Change 3756854 by Mike.Fricker

	Fix "double-delete" crash when using level streaming
	- Backed out unintentional network checksum change!


Change 3756790 by Bob.Tellez

	#UE4 Fix inconsistency with how FSoftObjectPtr case is managed between FLinkerSave and FArchiveSaveTagImports, which would cause a cook ensure under some circumstances


Change 3756639 by Arciel.Rekman

	Pool memory (only 64KB allocations) on servers (FORT-60342).

	- Has a fixed cost of 1GB virtual memory usage.

	#jira FORT-60342

Change 3755995 by Alexis.Matte

	Fix crash when importing morph target with "built in" tangent option

	#jira UE-52319

Change 3755896 by Arciel.Rekman

	Remove unnecessary switch for profiling (part of FORT-58878).

	- -fno-omit-stack-pointer is only needed when getting callstacks for perf.

	#jira FORT-58878

Change 3755711 by Mike.Fricker

	Fix "double-delete" crash when using level streaming
	- Initialize network GuidCache entries as soon as Guids are registered on the server so that we can fill them out with valid information before the object is destroyed. Fixes issues when a guid is exported for the first time to send a destroy to clients. (from RyanG)


Change 3755701 by David.Ratti

	FObjectReplicator no longer a GCObject since adding/removing from the global GCObject list is too slow. Managing FObjectReplciators's object references at the NetDriver level now.

	#jira FORT-60317
	#review-3755702 @Ryan.Gerleve

Change 3754928 by Arciel.Rekman

	Linux: add LTO support and more.

	- Adds ability to use link-time opitimization (reusing current target property bAllowLTCG).
	- Supports using llvm-ar and lld instead of ar/ranlib and ld.
	- More build information printed (and in a better organized way).
	- Native scripts updated to install packages with the appropriate tools on supported systems
	- AutoSDKs updated to require a new toolchain (already checked in).
	- Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089

	#jira FORT-58878

Change 3753986 by Ben.Zeigler

	#jira UE-45505 Fix issue where FCoreUObjectDelegates::OnAssetLoaded was being called from an inner loop inside EndLoad. Maps would register components from that callback, and if those registers started their own loads, those objects would be returned in a partially loaded state. We now defer the asset loaded callback to the very end of the loop so recursive loads work properly


Change 3753274 by Ben.Marsh

	Fix blank lines in errors and warnings being omitted from notification emails.

	#jira

Change 3753175 by Thomas.Sarkanen

	Fix hang in animation editor menus

	Sound waves were being loaded by the visibility delegate for the 'play' button overlay. This caused major hangs as the ogg compressed data was built on the fly. Handled the unloaded asset case in the various delegates.
	Also made the menu larger, as picking a sound wave was all but impossible when you couldnt even see one in the list.

	#jira UE-52271 - Persona menu option locks up editor


Change 3752887 by Nick.Darnell

	Slate - Adding automatic invalidation to a few more widgets that were found lacking when adding or removing children.


Change 3752785 by Marc.Audy

	Avoid doing any work to evaluate streaming volumes if there are no player controllers using streaming volumes

Change 3752185 by Ben.Marsh

	Reduce cook time regression caused by correcting package names to match case on disk (to fix deterministic cooking problems). Switched to use IPlatformFile::GetFilenameOnDisk(), and improved performance of FWindowsPlatformFile::GetFilenameOnDisk() by using GetFinalPathNameByHandle() instead of recursively searching up the directory tree.

	#jira

Change 3751813 by Ben.Marsh

	Improve parsing of diagnostics for deterministic cooking test. Now allows multiple lines in the generic EC error/warning matcher if indented more than the first line, and skips over empty lines.

	#jira

Change 3750413 by Ben.Zeigler

	Fixes for cook save performance regressions. Add GetAllMarks to object and use that to dramatically reduce contention for the object mark annotation. Implement ShouldLoadForServer/Client directly on some core classes to stop it from calling the slow generic one
	Fix issue where refreshing tags for asset registry would do a very slow array delete/add
	Improve speed of redirectcollector, there's no need to force-rehash the soft object path list as the remove handles it conditionally


Change 3750014 by Lina.Halper

	- duplicate change from following changelists

	CL 3669273 - delete all tracks option
	- allow to opt out on bone track importing
	- fixed pose preview for fullbody to select weights that has pose from asset.

	CL 3672170 Remove track support for Animation Blueprint Library

	This is required for facial pose retargeting


Change 3749714 by Brian.Bekich

	Back out changelist 3748287

	#jira FORT-60125


Change 3749377 by Robert.Manuszewski

	Improved log formatting for reporting deterministic cook issues.

	#jira FORT-59919

Change 3749360 by Robert.Manuszewski

	Improved performance of -diffonly mode for cook commandlet for assets with hundreds of thousands of differences.

	#jira FORT-59919

Change 3748746 by Hongyi.Yu

	Fixed compiling error in Automation project

	#jira FORT-59621

Change 3748530 by Mike.Fricker

	Fixed non-determinism of landscape grass across platforms/compilers

	This causes bushes to be located in different places depending on what platform you were playing on.

	1)  Random number reseeds were happening as part of function arguments to FVector(), but function argument evaluation order is unspecified, and behaved differently on Consoles/Mac/Windows.  Fixed this bug.

	2)  Strings used for foliage CRCs could use different character sizes on different platforms.  Now we always use ANSI.

	3)  Strings used for CRCs could have possibly have different case.  Now forced lowercase.

	#jira FORT-60109

Change 3748471 by Zak.Middleton

	Added stats to NetDriver TickFlush and stats gathering within that function.


Change 3748287 by Brian.Bekich

	Adding net.MaxStringSerializationSize to cap maximum string read from network, default to 4096, used by FNetBitReader
	Deprecating MAX_STRING_SERIALIZE_SIZE in favor of the cvar
	FInBunch defaults to prior behavior if cvar is 0
	UPackageMap::SerializeName and UPackageMapClient::SerializeNameAsString will always cap at NAME_SIZE
	Check for path name serialization error before tryng to read checksum

	#jira FORT-57974


Change 3747980 by Bart.Hawthorne

	In Oodle, only generate and write dictionaries on Windows, Mac, and Linux


Change 3747642 by Gil.Gribb

	Fix CIS


Change 3747635 by Zak.Middleton

	Avoid string alloc on every ServerMove() call on the server.


Change 3747560 by Gil.Gribb

	UE4 - Fixed XBox and Windows thread priorities. Only 2 though -2 seem usable and some of the old values were being ignored.


Change 3747548 by Gil.Gribb

	UE4 - Changed thread pool to be TPri_SlightlyBelowNormal so that they will not preempt HP task graph tasks.


Change 3747544 by Bart.Hawthorne

	When detecting if Oodle is installed, use the newest version instad of the oldest one.


Change 3746440 by Robert.Manuszewski

	Dterministic cook issues reporting improvements

	- Huge performance improvements
	- Added new metric to the summary: NumberOfDifferencesInPackages
	- Diff stats have their own section now (Package.Diff)
	- When running with -diffonly there commandlet will not log the Warning/Error summary anymore
	- Callstacks are no longer logged with instruction addresses
	- Because callstacks are no longer logged with addresses I can collapse them for structures that otherwise would be split into multiple separate callstacks
	- Callstacks, Serialized Object and Serialized Property are now indented
	- Each asset is capped at 5 entries. If there's more differences, they'll be logged as single warning.
	- Replaced \r\n with \n in the callstack log to make it work better with EC

	#jira FORT-59919


Change 3746426 by Gil.Gribb

	UE4 - Tuned dispatch in the deferred renderer. Added r.DoPrepareDistanceFieldSceneAfterRHIFlush and defaulted it to on.


Change 3746348 by Mike.Fricker

	Added new CVars to toggle level streaming behavior
	- No effective change to engine yet.  The defaults values enable the same default behavior.
	- New CVar:  "s.ForceGCAfterLevelStreamedOut"   (Whether to force a GC after levels are streamed out to instantly reclaim the memory at the expensive of a hitch.)
	- New CVar:  "s.ContinuouslyIncrementalGCWhileLevelsPendingPurge"  (Whether to repeatedly kick off incremental GC when there are levels still waiting to be purged.)
	- New CVar:  "s.AllowLevelRequestsWhileAsyncLoadingInMatch"  (Enables level streaming requests while async loading (of anything) while the match is already in progress and no loading screen is up)


Change 3746127 by Gil.Gribb

	UE4 - Slight tweak to more agressively batch occlusion queries.


Change 3746111 by Cecil.McRae


Change 3745681 by Bob.Tellez

	#UE4 Prevent attempting to execute a remote process to get the metal shader compiler version if no remove process machine has been configured. (Fixes a warning)


Change 3745631 by Matt.Kuhlenschmidt

	Fix details panel crash after compiling blueprints that have edit conditon properties


Change 3744544 by Gil.Gribb

	UE4 - Downgraded a fatal error to a warning. Example: Found package without a linker, could find SceneComp in /Game/AIDirector/AIDirector_Fortnite, but somehow wasn't finished loading. This is a sort of cook mismatched caused by the fact that all PS4 cooks have server-only data in them.

	#jira FORT-59879


Change 3744419 by Matt.Kuhlenschmidt

	Fix opening color picker causing values to change.  Was due to conversion between srgb and linear color.


Change 3744270 by Ben.Marsh

	Merging change to include deterministic cooking summary from Dev-Core (CL 3743182).

	#jira FORT-59919

Change 3743621 by Guillaume.Abadie

	Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.

	#jira UE-51569


Change 3743403 by Gil.Gribb

	UE4 - Merged lockfree / taskgraph fix from //UE4 (CL 3732262)


Change 3743392 by Gil.Gribb

	Merged IO fixed from //UE4 (CL 3641155)


Change 3743376 by Gil.Gribb

	UE4 - Added r.WarningOnRedundantTransformUpdate to produce warnings on redundant transform updates.


Change 3743372 by Gil.Gribb

	UE4 - Added a stat for distance field verification...which takes a very long time, but does not affect test or shipping config.


Change 3743030 by Bob.Tellez

	#UE4 Revert some code the was accidentally merged to UE4Main

	#jira UE-52032

Change 3742611 by Josh.Markiewicz

	#UE4 - fix for crash in destructor probably related to the freeing of memory via default destructors AFTER CefShutdown() has been called

	#tests crashes before, no crash after (not sure if it was a 100% crash but this seems better regardless)

Change 3742187 by Nick.Darnell

	Slate - Adding a new optional parameter to direct routing for the widgets under the cursor in Slate Application.  Essentially ProcessReply occasionally needs to know the widgets under the cursor, the previous implementation, just used the routing path, this results in missing sending mouse leave messages to widgets under the cursor when dragging begins, which often left things with hover effects in bad states.


Change 3742053 by Michael.Trepka

	Copy of CL 3713881

	Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets.

	#jira UE-31093

Change 3742050 by Michael.Trepka

	Copy of CL 3711085

	Reenabled UBT makefiles on Mac


Change 3741924 by Josh.Markiewicz

	#UE4 - delete EpicSurvey module
	- working toward engine/plugins/online removal from game branch

Change 3741865 by Nick.Darnell

	UMG - Fixing a High DPI bug that wasn't scaling the offset for DragDrop widgets when using In-Window rendering that games depend on for DragDrop effects.


Change 3741442 by Ryan.Gerleve

	Fix initialization order warnings


Change 3741370 by Ryan.Gerleve

	Back out changelist 3689397. The memcpy in one of the FInBunch constructors is not portable and causes this change to break networking on Android.



Change 3740914 by Peter.Knepley

	Restore player name obsfuscation



Change 3740828 by Marc.Audy

	Dynamically create FKey if the char code is unknown
	#jira FORT-59735


Change 3740811 by Ben.Marsh

	UAT: Fix double-spacing of lines output by Utils.RunLocalProcess, and use a non-local function to output them for more readable logs.

	#jira

Change 3740328 by Bob.Tellez

	#UE4 Fix FullLoadAndSave cook method


Change 3740327 by Bob.Tellez

	#UE4 Minor movie scene cooking improvements


Change 3740280 by Bob.Tellez

	#UE4 Fix shipping config CIS


Change 3740232 by Bob.Tellez

	#UE4 Gave OodleHandlerComponent a short name so it doesnt hit maxpath length issues on build machines.


Change 3740209 by Nick.Darnell

	UMG - Finishing the ability to add a "Custom" method for Navigation.  Currently the editor implementation leaves me wanting, but it works for now.  You can put the name of a function to call (needs to match a signature that returns a UWidget).


Change 3740207 by Nick.Darnell

	Slate - Navigation attempts when the user claims they are doing custom or explicit, if those methods don't return a valid widget, we don't treat it like the attempt failed and fallback to default navigation methods.  Instead we use it as a trigger to indicate that no navigation should occur and treat it like a stop.


Change 3740189 by Bob.Tellez

	#UE4 Fix mouse cursor position being set when hovering over the viewport in windowed mode despite not having focus



Change 3740171 by Marc.Audy

	Fix merge issue causing compile error for AutomationTool


Change 3739270 by Ben.Woodhouse

	Use background task graph affinity on platforms that implement it (e.g. XB1). Saves 8ms on GC spikes and ~0.5ms on the renderthread

	#jira FORT-56961

Change 3739244 by Ben.Woodhouse

	-statunit commandline option

Change 3738920 by peter.knepley

	Fix issue where simulated proxies had bad crouch state when re-entering relevancy


Change 3738904 by Gil.Gribb

	UE4 - Moved audio decompression tasks to the background thread pool. Controlled by a cvar AudioThread.UseBackgroundThreadPool, which defaults to 1.


Change 3738378 by Ori.Cohen

	Added better profiling for scene query hitches



Change 3736984 by Ben.Woodhouse

	Dummy merge: Accept main version of windowsrunnablethread.h, so Windows gets the new priorities
	#jira FORT-56700

Change 3736754 by Zak.Middleton

	Remove engine hacks of K2_SetActorLocation etc for pending engine merge. Will replace with delegates on transform updates for relevant classes.



Change 3736282 by Hongyi.Yu

	Don't check target file while doing iterative shared prebuild cooking.

	#jira FORT-58911

Change 3736109 by Michael.Trepka

	Updated FMallocLeakDetectionProxy to not use a critical section internally on top of thread safety measures performed by FMallocLeakDetection and the underlying FMalloc implementation. The improvements are biggest on Mac, in particular in low framerate situations, as Metal RHI uses malloc heavily on multiple threads, but it's also a nice 10% improvement on a high end PC.

	#jira FORT-55309

Change 3735765 by Ben.Woodhouse

	Fix GTSynctype logic when vsync is disabled. This was breaking profiling


Change 3734436 by Marcus.Wassmer

	More reliable Aftermath data.

	#jira FORT-45518

Change 3734103 by Bob.Tellez

	#UE4 Exposing GetRefPosePosition on SkinnedMeshComponent to BPs


Change 3733985 by Saul.Abreu

	#jira FORT-58816

	"Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph" - Jamie Dale
	Needed to workaround an issue with guillemets (weird arrow quotes).

Change 3733922 by Brian.Bekich

	Setting max serialization size in FNetBitReader to prevent runaway string reads from replicated object paths
	Check for path name serialization error before tryng to read checksum

	#jira FORT-57974


Change 3733850 by Max.Chen

	Sequencer: Return unhandled only if not dragged. This fixes a bug where dragging in the track area would sometimes leave the handled state with the time slider controller and not allow you to pop up a menu with the movement tool.

	#jira FORT-56092


Change 3733299 by Ethan.Geller

	#jira FORT-58943 Handle corner cases for repeated calls to precache buffers.

Change 3732907 by Gil.Gribb

	UE4 - Removed slow HLOD code from frustum cull loop and set things up at AddPrim time instead. Saves 1-3ms.


Change 3732728 by Robert.Manuszewski

	Fixing a crash when dumping stats with massive callstacks

	#jira FORT-58901

Change 3732438 by Marc.Audy

	When a client informs the server that it has loaded a streaming level force a net update on all dormant actors that have at one point replicated data to relevant clients and ensure that the connection's destroyed startup/dormant actors list is properly populated.
	#jira FORT-56997


Change 3730413 by Lukasz.Furman

	fixed PlayerName encryption key
	#jira FORT-59066

Change 3729588 by Bob.Tellez

	#UE4 Only calling FixupData on load. Fixes crash during parallel saving.


Change 3729475 by Marc.Audy

	Fix missing ;


Change 3729444 by Marc.Audy

	Fix cases where GetWorld() being called multiple times per function


Change 3729143 by Hongyi.Yu

	Added support to extract pak files to mount point.
	- Extract with "-ExtractToMountPoint" when extracting pak in DiffCookedContent()

	#jira FORT-58635

Change 3728981 by Nick.Darnell

	Slate - Fixing a bug with Slate turning on statid tracking even when the slate verbose stats are not being used.


Change 3728838 by Zak.Middleton

	Compile out GetWorld() call in check() in Test and Shipping builds, to avoid skewing profiling.


Change 3728604 by Jian.Ru

	Submit one render command rather than many in FScene::UpdateParameterCollections


Change 3728434 by Marc.Audy

	PostSignificance should always fire when unregistering regardless of whether this is the last object in the tag.


Change 3728427 by Gil.Gribb

	UE4 - reduce stat overhead when not collecting stats.


Change 3728197 by Marc.Audy

	Properly call post significance on initial registration if the post significance type is sequential


Change 3726266 by Gil.Gribb

	UE4 - Force HISMC trees to rebuild during cook. This allow us to change parameters without resaving maps.


Change 3724501 by Marc.Audy

	Fix initialization order


Change 3724411 by Ben.Woodhouse

	Point light shadow rendering optimization - Made per-triangle culling take Z into account.

	In FortGPUTestbed (with grass shadow casting enabled), GSVerticesOut reduced from 464k to 234k.

	On xbox one, a pointlight GPU cost reduced from 6.7 to 4.1ms.

	On PS4, GPU cost went from 2.3 to 1.9ms.

	#jira FORT-58921


Change 3724367 by Chad.Garyet

	Downgrading lock warning about still waiting to a message instead of a warning.

Change 3723903 by Max.Preussner

	MediaAssets: Merged workaround for uninitialized media sound waves from 4.17

	#jira FORT-57260


Change 3723134 by Lukasz.Furman

	added deprecation for PlayerState.PlayerName, it should remain accessible only through Get/Set functions to control obfuscation

Change 3722955 by Jian.Ru

	Fix a compilation warning
	#jira FORT-58749

Change 3722667 by Luke.Thatcher

	 [BUILD] [!] Fix PGO failures on build machines.
	 - The strings "Failed" and "error" are always treated as build failures, even if the build task returns a success code.
	 - Failure to reserve a device should not be fatal.

	#jira FORT-58001

Change 3722291 by Lukasz.Furman

	restored public access to PlayerName for now, current code will be going through accessor


Change 3721012 by Alicia.Cano

	chunk title file generation
	#jira FORT-53605

Change 3720961 by Marcus.Wassmer

	Fix bad UVDensities on objects causing texture streaming to fail.  Better fix will come with the engine merge.

	#jira FORT-58240


Change 3719318 by Lukasz.Furman

	replaced old branch name assertions

Change 3719047 by Lukasz.Furman

	added branch name assertion to core headers to avoid duplicating it

Change 3718499 by peter.knepley

	Fix for a crash when calling FSlateApplication::Get().FindPathToWidget in response to a widget destructing. Widget must be invalidated before the reference is cleared or else someone else might assign a shared reference to it during destruction.


Change 3716965 by Alicia.Cano

	No sound was playing for Android.
	#jira FORT-58302

	#android

Change 3715746 by Ben.Marsh

	Hide Arxan warnings about PDB files not being present.

	#jira

Change 3715172 by Bob.Tellez

	#UE4 FullLoadAndSave now does SavePackage in parallel.


Change 3715055 by Bob.Tellez

	#UE4 Fix to actually use the precached streaming audio DDC data when cooking.


Change 3714130 by Bob.Tellez

	#UE4 Core changes to allow SavePackage to be done concurrently


Change 3714099 by Bob.Tellez

	#UE4 Pull the logic to initialize and uninitialize the physics scene for a world out into separate functions


Change 3713145 by Ben.Marsh

	Disable an Arxan warning in EC.

	#jira FORT-56926

Change 3712904 by Ben.Woodhouse

	Fix for gpu profiler crash on pre-maxwell nvidia (or when r.gpuprofiler is set to false)


Change 3712693 by Ben.Woodhouse

	Workaround for PS4 flip thread crash in dev builds. Caused by the flip thread/offset threads being shutdown before being initialized. The high level logic is now robust to that. We should fix the PS4 RHI ideally, but this is simpler for now.

	#jira FORT-58409


Change 3712544 by Ben.Woodhouse

	add missing skylight diffuse gpu stat

Change 3712515 by Ben.Woodhouse

	CSV profiler GPU and pre-declared stat support
	- refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds
	- add support for pre-declared CSV stats, using FNames (these are required for GPU stats)
	- add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations

	Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats


Change 3712297 by Mike.Fricker

	Fixed huge client hitch when applying changes to in-game options
	- Every component was being re-registered when r.SimpleForwardShading was updated by the scalability system, even if the value hadn't changed.  Now, it only re-registers components if the value changes on the fly.  (e.g. when turning Shadows off or on PC)
	#jira FORT-57661


Change 3711501 by Ben.Marsh

	Fix build failure on Linux.

	#jira

Change 3710962 by David.Ratti

	Add SCOPE_CYCLE_UOBJECT for SourceObject of GE - this will tell us what weaponw as applying the GE


Change 3710602 by Marc.Audy

	Only create MIDs as a child of the calling object if construction script is running


Change 3710421 by Ben.Woodhouse

	Bring over a couple of XB1 rendering fixes from 4.18

	3692692: Integrate XB1 translucent lighting fix

	3674543: D3D12 : Fix bug with non-CS version of UpdateTexture3D caused by bad depthstride. This was causing corruption in the indirect lighting cache

	#jira UE-49416


Change 3710338 by Marc.Audy

	Fix Json <-> Property converter to handle maps with struct keys
	Merged from CL# 3521195
	#jira UE-46616

Change 3710226 by Bob.Tellez

	#UE4 Increase TaskGraph stack size in editor builds since. SavePackage uses a deep callstack which exceeds the 384 memory limit


Change 3709046 by andrew.grant

	Added ALLOW_CONSOLE_IN_SHIPPING define that Target.cs files can set to turn on console in shipping builds

	#jira FORT-57180

Change 3709040 by andrew.grant

	Fixed issue where this could fail if a messagebox was spawned early during initialization


Change 3708830 by Bob.Tellez

	#UE4 Commandline switches/options are no longer detected when found between quote characters. This causes options from not being incorrectly detected when passed in as a value from another options. i.e. -Option="-log" no longer causes -log to be picked up. This removes the syntax of specifying parameters like "Option=Value", which should now be replaced with -Option="Value"

	#jira FORT-57833

Change 3708826 by Bob.Tellez

	#UE4 Removed needless calls to RegisterSerializedShaders in the saving codepath of material serialization. This function is only relevant when loading shaders.


Change 3707905 by Ori.Cohen

	Fix attached skinned mesh never being unhidden due to scale 0 and render tick optimization

	#jira UE-51485


Change 3706450 by Chris.Bunner

	Removing illegal material set on decal component in GameplayStatics.
	Set a related JIRA, this doesn't actually fix the issue but contributes.

	#jira FORT-51597

Change 3706223 by Marc.Audy

	Shrink UPackage class size substantially

Change 3706221 by Marc.Audy

	Store CustomVersions in array rather than set

Change 3705798 by Bob.Tellez

	#UE4 ShadowDepthVertexShader.usf fix to fix Mac cook.



Change 3705613 by Uriel.Doyon

	Texture streaming integration from Main.

	#jira FORT-57376

Change 3705137 by Michael.Trepka

	Fixed MetalRHI warning when compiling without MALLOC_LEAKDETECTION defined

	#jira FORT-55309

Change 3704310 by Marcus.Wassmer

	fix d3ddebug error with shadowcasting pointlights
	also suppress spammy d3ddebug data about texture debug names

	#jira FORT-58063

Change 3703477 by Marc.Audy

	Minor tweak to keep Padding on one cache line.


Change 3703449 by Michael.Trepka

	Don't use parallel RHI execute on Mac if MALLOC_LEAKDETECTION is enabled as this combination affects performance significantly due to mutex locking in FMallocLeakDetectionProxy

	#jira FORT-55309

Change 3703217 by Marcus.Wassmer

	Update PS signatures to match VS.  Fixes crashes when running witih -d3ddebug which we need to catch real problems
	#jira FORT-58021


Change 3702926 by Aaron.Eady

	#JIRA na
	Engine Code Improvements (that this project doesn't have yet);

	Added engine code for drawing a debug 2D box.
	Added engine code that allows for Keyboard Shortcuts to be special characters like backslash \.

	-- Code --
	DrawDebugHelpers:
	DrawDebugCanvas2DBox() - Added this to allow us to draw debug 2D boxes.

	RemoteConfigIni:
	SpecialCharMap - Updated this TCHAR* property to be in the right order so you can use special characters like backslash as keyboard shortcuts.

Change 3701976 by Michael.Noland

	Editor: Rewrote CallInEditor support and promoted it so it can be used on functions in any class, not just blueprints derived from AActor:
	- CallInEditor used on native UFUNCTION() declarations will now show up without having to make a BP subclass
	- CallInEditor can now be used as a top-level keyword in the UFUNCTION() declaration (e.g., UFUNCTION(Category=CoolCommands, CallInEditor))
	- Now shows each function as a separate button, placed in the category associated with the function
	- The button strip entry is now searchable by function name or tooltip
	- Prevented operating on functions that have parameters or return values, which would crash before
	- Removed the duplicate copies of properties placed in the Blutility section
	- Added a scoped transaction around CallInEditor execution
	- Allowed functions to be marked as CallInEditor in addition to custom events (currently we don't allow editing category or tooltip on custom events...)

	Editor: Moved Experimental/EarlyAccessPreview details customizations up to UObject so it can be used on any class, not just actors/components

	Edigrating CL# 3374995, 3375121, and 3375308 from Dev-Framework to FN main

Change 3700836 by Bob.Tellez

	Modified commandline parse function, to detect when it is incorrectly parsing a parameter, from within another parameters value (not exhaustive).

	For example, this commandline only contains the parameter ParamA. It should not be possible to parse ParamB, as it is part of ParamA's value:
	-ParamA="-ParamB=Value"

	#jira FORT-57833

Change 3700821 by Bob.Tellez

	Merging CL#3461205 from //UE4/Dev-Core

	Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
	#jira UE-33790

Change 3699584 by Chad.Garyet

	Upping the timeout on symstore to half an hour instead of 15 minutes. Symstore on xbox takes about ~22 minutes and if two builds are going simultaneously it can cause a job to fail due to the timeout being hit.
	#jira FORT-0

Change 3698692 by Aaron.McLeran

	#jira FORT-57582 crash in sound mix state code
	- Removed the assert as it looks like that state is now possible.

Change 3698411 by Bob.Tellez

	#UE4 One last correctness fix for when to not save generated base ini files.

	#jira FORT-57315

Change 3698390 by Bob.Tellez

	#UE4 Slightly more accurate logic to prevent writing of base ini files (old logic may have prevented writing of non-base ini files)

	#JIRA FORT-57315

Change 3698369 by Bob.Tellez

	#UE4 Ensure that Tcp/Udp messaging plugins are disabled in shipping config


Change 3698352 by Bob.Tellez

	#UE4 Minor additional fix to make sure DISABLE_GENERATED_INI_WHEN_COOKED only affects cooked builds

	#jira FORT-57315

Change 3698341 by Bob.Tellez

	#UE4 DISABLE_GENERATED_INI_WHEN_COOKED now properly prevents all base ini file loads from happening from a generated folder. It also prevents writing generated ini files completely.

	#JIRA FORT-57315

Change 3697553 by Nick.Darnell

	Slate - When setting the content of an SBox it should always invalidate.


Change 3697330 by Bart.Hawthorne

	APlayerController::ServerShortTimeout_Implementation now only iterates over the active object list instead of uisng an actor iterator, since non-replicated actors wont have a network object info to update.

	#jira FORT-57099
	#tests ran 100 player bot match

Change 3695578 by Bob.Tellez

	#UE4 Fix Win32


Change 3695508 by Eric.Newman

	Tweaked LogInit logging to clarify when the command line is being filtered
	* Encountered this red herring when evaluating crash logs

	#jira FORT-55839
	#tests ran shipping & debug client builds, and editor game build

Change 3694898 by Michael.Trepka

	Fixed Vorbis audio not playing on non-Windows platforms due to changes in CL 3668361

	#jira FORT-57121

Change 3694655 by David.Ratti

	Reimplement TweakObjetPtr optimizations with FObjectReplicator as an FGCObject instead of the owning channel being responsible for adding the replciator's ObjectPtr to the reference collection. (There are cases where object replicator ownership is transferred).

	#JIRA FORT-57298

Change 3694491 by Ben.Woodhouse

	Change courtesy of Gil: Drop the priority of the texture streamer using a new low-priority thread pool. This saves a 1-2ms in heavy combat in PVE (XB1 Test)

	#jira FORT-57376

Change 3693609 by Ryan.Gerleve

	Back out CL 3689050 since it was likely causing a crash.

	#jira FORT-57298

Change 3693327 by Aaron.McLeran

	#jira FORT-57416 Fixing PS4 cook.

	Making sure zero pad bytes stays positive without a check.

Change 3693136 by David.Ratti

	fix clang warning

Change 3692703 by Thomas.Sarkanen

	Fix CIS warning on PS4/Linux


Change 3692589 by Thomas.Sarkanen

	Moved exposed value handler bound function initialization to CDO postload

	This means that FindPropertyByName and FindFunctionChecked dont incur any overhead when spawning in new anim instances

	#jira FORT-56968 - Hitch - SkeletalMeshComponent initialization (110ms)
	#tests PIE PvE, 20-bot BR game on PC/PS4.

Change 3692552 by Alex.Delesky


Change 3692495 by Bart.Hawthorne

	Fix build


Change 3692488 by Bart.Hawthorne

	Check for actor relevancy and level initialization when there's no channel first when prioritizing actors for replication. Dormancy checks in this case are useless because ShouldActorGoDormant will always be false, and if IsActorDormant is also true, then the result of skipping the actor is the same.

	#jira FORT-57104
	#tests played 100 player bot match

Change 3691819 by Bob.Tellez

	#UE4 No longer conditionally including SlateDebug fonts in the cook based on configuraiton. When builds are produced that contain more than one configuration it changes what is cooked in unexpected ways so now we just always cook this font.


Change 3691805 by Bob.Tellez

	#UE4 CIS fix


Change 3691784 by Bob.Tellez

	#UE4 Optimization for exiting PIE. Texture streaming managers have an optimization for game worlds but were not using them for PIE worlds


Change 3691273 by Aaron.McLeran

	#jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor

	Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished.

Change 3691268 by Aaron.McLeran

	#jira FORT-56228 LogAudio:Warning: spam causes severe performance drop on the Mac Platform

	Reducing log level

Change 3690547 by Ryan.Gerleve

	Speculative fix #2 for a server crash/assert. If the timing is right, it's possible for the server to try to re-load a placed-in-map actor that was previously garbage collected. This was happening because CanClientLoadObject was always returning true for these (null) objects, even if the NetGUID corresponded to a map actor that shouldn't be loaded. Also added/improved some logging that will help in case this doesn't fix the issue.

	#jira FORT-55763


Change 3690451 by Lukasz.Furman

	changed branch name testing in engine hacks to use case insensitive match

Change 3690270 by David.Ratti

	Cache weak object ptr in FNetworkObjectInfo to avoid reconstructing one every time we need to lookup its actor channel.

	#jira FORT-57156

Change 3690227 by David.Ratti

	Added optional TWeakObjectPtr parameter to packagemap functions GetOrAssignNetGUID, SUpportsObject. This allows you to pass in a weak ptr for an object if its already created. If you pass in null, the functions will create them internally.

	This fixes some common cases where we were converting the same object into weak ptr multiple times in a frame.

	#jira FORT-57156

Change 3690184 by David.Ratti

	Cache net connection weakobjectptr when building consider list instead of constructing it again for every actor.

	#jira FORT-57156

Change 3689805 by Peter.Knepley

	Make ConditionalInitAxisProperties protected instead of private

	#jira FORT-56414


Change 3689789 by Marcus.Wassmer

	Hack workaround for missing shadowdepthps for XB1 until we get a handle on why things are exploding

	#jira FORT-56792

Change 3689702 by Peter.Knepley

	Allow games to have a custom MassageAxisInput function

	#jira FORT-56414

Change 3689687 by Bob.Tellez

	#UE4 Avoid copying the shaders array to avoid changing refcounts of shaders while serializing


Change 3689655 by Peter.Knepley

	Make SmoothMouse virtual so games can have their own smoothing

	#jira FORT-56417

Change 3689499 by Bart.Hawthorne

	Fix Linux CIS warnings


Change 3689397 by Bart.Hawthorne

	Changed FOutBunch and FInBunch uint8 entries to use bitfields instead of bytes which knocked 86% off of our net tick time

Change 3689056 by Lukasz.Furman

	3rd attempt for branch name checking in engine code hacks

Change 3689050 by David.Ratti

	First pass at removing use of TWeakObjectPtr from core replication classes. This should reduce FWeakObjectPtr::Get usage.

	Still expecting to see FWeakObjectPtr::operator= come up a lot. Going to tackle this in a second pass which will require some deeper refactors.

	#jira FORT-57156

Change 3688972 by Bob.Tellez

	#UE4 Add build target flag to control DISABLE_GENERATED_INI_WHEN_COOKED


Change 3688864 by Ryan.Gerleve

	Fix broken logic to find the "best" replay sample for character movement when we don't find two samples to interpolate between. Now uses the sample closest to the current time. Also added some debug drawing.

	#jira FORT-56553

Change 3687654 by Bob.Tellez

	#UE4 Added compile time option to disable reading generated ini files other than GameUserSettings in cooked builds.


Change 3686615 by Lukasz.Furman

	Back out changelist 3686610

Change 3686592 by Matt.Kuhlenschmidt

	Gave the CL description in the source control submit window more room


Change 3686020 by Ben.Marsh

	Remove debug code that prints to logs while building.

	#jira FORT-56923

Change 3684414 by Peter.Knepley

	Back out changelist 3678336

	#jira FORT-56512

Change 3683894 by Gil.Gribb

	UE4 - By default, do not check for illegal calls to MarkPendingKill in the garbage collector in test and shipping configuations. This was slow.


Change 3683686 by peter.knepley

	Raise MTU from 512 to 1024

	#jira FORT-56756

Change 3683343 by Rob.Cannaday

	Fixes insert disk popup
	#jira FORT-56500

Change 3683156 by Peter.Knepley

	Network optimizations to reduce alloc/free & memcpy churn saving about 10% of net tick time


Change 3682234 by Guillaume.Abadie

	Cherrypick TAA refactor 3512696 and TAA fix 3668108

	#jira FORT-56303

Change 3681494 by Bob.Tellez

	#UE4 IsLoadedByEditorPropertiesOnly is not working properly so I removed it from FullLoadAndSave


Change 3681342 by Bob.Tellez

	#UE4 Added a FullLoadAndSave option to cooking, which simply loads all content then saves it to avoid the overhead of managing which packages need to be cooked. Large perf improvement for those who cook by the book and can fit the entire game in memory


Change 3681014 by Yenal.Kal

	#jira FORT-56209
	#jira FORT-56272

	Fixed a bug in the ability system where the ability ended callbacks could cause the ability end to be called again in the same call stack even though the ability is activated only once.

	This was happening because we were broadcasting the event before we decrement the active count.

Change 3680739 by Michael.Trepka

	Warn about NaN float literal values when translating HLSL to Metal instead of failing, plus added more detailed warning/error messages for NaN and unhandled values

	#jira FORT-56425

Change 3679237 by Bob.Tellez

	#UE4 Remove some debug logging


Change 3679187 by Bob.Tellez

	#UE4 Dramatically imrpove speed of writing cookloadorder log file


Change 3678926 by Bob.Tellez

	#UE4 Minor savepackage speed improvements


Change 3678336 by Aaron.McLeran

	#jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor

	Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished.

Change 3676998 by Ben.Woodhouse

	Fix XGE shader compilation so it doesn't crash randomly


Change 3676606 by Ori.Cohen

	Update GC to be 61.1 to avoid heartbeat collision


Change 3676447 by Ori.Cohen

	Fix CIS warning


Change 3676286 by Max.Preussner

	Fixed client Crash UMediaSoundWave::GeneratePCMData (FORT-56107)

	#jira FORT-56107

Change 3674591 by Ryan.Gerleve

	Don't filter out PendingKillPending actors from FNetworkObjectList::Find. This was causing actors that get destroyed while dormant on the server to never be destroyed on clients.

	#jira FORT-55802

Change 3674181 by Michael.Noland

	Framework: DLL export LogGameplayTags

Change 3674138 by Billy.Bramer

	#jira FORT-56138, FORT-56139

	- Duplicate CL 3396590 from //Orion/Main re: ranged-base for iteration ensure from montage changes

Change 3672464 by Lukasz.Furman

	removed recast layers crash tracking code

Change 3672153 by Daniel.Lamb

	Added some debugging code to help track down why shaders are hashing poorly.


Change 3671498 by Luke.Thatcher

	 [~] Modify new frame syncing to reduce performance regression seen when the game is running over budget.
	 - Rather than forcing a flip sync after we kick off one frame early, we just continue to kick frames if we time out. This allows the game thread to get ahead when we're over budget.
	 - The game thread will naturally resync with the vsync when we return to being in budget.

	#jira FORT-55842

Change 3671079 by Ryan.Gerleve

	Fix an edge case where the PackageMap on the server would try to resolve objects from default NetGUIDs even if their outer has already been garbage collected. This could lead to a completely unrelated object being returned instead of null, leading to asserts and potentially other issues.

	#jira FORT-55763


Change 3670487 by Zak.Middleton

	Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present.

	#jira FORT-55999

Change 3670351 by Zak.Middleton

	Back out changelist 3669817 (networking optimizations). Would rather have more testing before it goes to Release-Next. Will resub just for main and RP.

	#jira FORT-55999

Change 3670344 by Josh.Markiewicz

	#UE4 - more verbose logging for SetExpectedClientLoginMsgType


Change 3670323 by Wes.Hunt

	Fix for dedicated servers not flushing events in a timely manner.
	#jira FORT-56015

	Doh, using GFrameNumber was NOT a good idea on servers... :-/

Change 3669817 by Zak.Middleton

	Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present.

	#jira FORT-55999

Change 3668416 by Michael.Noland

	Core: Changed FString::ParseIntoArray to use Reset instead of Empty on the passed in array, allowing it to be approximately resized
	#jira FORT-55887

Change 3668411 by Olaf.Piesche

	Always cache depth collision particle shader

	#jira FORT-51307

Change 3668361 by Aaron.McLeran

	#jira FORT-55628 Attempt to bypass crash and log an error if libvorbisdll fails to load.

Change 3667892 by Rob.Cannaday

	libwebsocket libs to handle getprotobyname("TCP") failing the libwebsockets connection
	#jira FORT-55917
	Touch LwsWebSocket.cpp to ensure the module gets built with the new libs

Change 3667308 by Uriel.Doyon

	Postponed the release of IO requests when canceling mip updates to prevent threading issue.

	#jira FORT-54491

Change 3666835 by Lukasz.Furman

	fixed overlapping index buffers when static mesh exports both convex and simple collisions for navigation
	#jira UE-50370

Change 3665374 by Mike.Fricker

	Fixed server crashing after hotfixes have re-imported curve table data
	- The hotfix system is capable of replacing the content of a UCurveTable on the fly
	- If any systems had references to inner curves on that curve table, they would become invalid
	- This needs to be fixed in 1.6.4 (tonight) and also in 1.7

	#jira FORT-55792

Change 3665063 by Daniel.Broder

	Fixed crash in GameplayTagQueryCustomization when choosing "Save and Close" on GameplayTagQuery after setting a query due to nullptr NotifyHook in CloseWidgetWindow.

	Added additional if (StructPropertyHandle.IsValid()) wrappers and one check(StructPropertyHandle.IsValid()); the former to be consistent with other code and prevent possible crashes, the latter to at least catch the cause of a possible crash properly without having to change the code more significantly to handle it gracefully.

	Also changed some if( X ) to if (X) to match coding standards and provide consistency within the file.


	Michael, I'm Reviewing you on this fix since you brought this change over from Framework.  And Marc because you reviewed him on that change.

	#UE4 #NoReleaseNotes #RNX

Change 3664948 by Lukasz.Furman

	reduced number of allocations in StorePathfindingDebugData, optimized path length calculations to avoid recursion
	#jira FORT-51111


Change 3664916 by John.Abercrombie

	Copy CLs 3383318 & 3388506 from //Orion/Main/Engine/Source/Runtime/Engine/...
	- Been testing with this for a while now
	- This change makes particle effects show up on the current frame's pose for skel meshes as well

	Removed my StopAllMontagesByGroupName temp hack

	CL 3383318
	Delay dispatching of AnimEvents (Notifies and Montage Events) until after we receive an updated animation pose (if applicable).
	This fixes AnimNotifies playing particle effects using a socket location using last frame's pose. Now they use the current frame's pose.

	CL 3388506

	Delay clearing of MontageInstances and triggering 'OnAllMontageInstancesEnded' until all Montage Events have been dispatched.
	Also fix SkelMeshComponent ticking on dedicated servers when rejoining in progress.

	#jira FORT-55102 - Server Crash UAnimInstance::StopAllMontagesByGroupName

Change 3780616 by Gil.Gribb

	Fixed and reenabled r.DelaySceneRenderCompletion

Change 3778979 by Gil.Gribb

	UE4 - Improved the performance of grass updates and added the ability to not do all of them every frame.

Change 3778200 by Nick.Darnell

	UMG - Making it possible to cancel delays and all animations on widgets.  Useful when destroying a widget and needing to stop any async state.

Change 3777612 by Zak.Middleton

	Perf: Added option to CharacterMovementComponent to skip immediate forward prediction for proxies on the frame they receive a network update (bNetworkSkipProxyPredictionOnNetUpdate). This avoids all forward prediction sweeps and floor checks on those updates. Intermediate frames will interpolate with prediction. This can also be disabled globally with the CVar "p.NetEnableSkipProxyPredictionOnNetUpdate 0".
	Added NetworkSmoothingDisableProxyPredictionForPawnLOD to force disabling full simulation for LOD >= this value (currently 3, so bottom 75 pawns). This takes precedence over current distance and view angle checks for prediction (mesh interpolation is untouched).

Change 3774338 by Ben.Woodhouse

	Convert the D3D12 PSO caches to use RwScopeLocks. This change is courtesy of a shelf from Gil, plus a couple of minor fixes.
	Saves up to a millsecond of frame time in CPU-bound scenarios

Change 3773462 by Gil.Gribb

	UE4 - Add particle batching. This is disabled by default but can improve thread scheduling when there are lots of very fast particle systems.

Change 3771375 by Hongyi.Yu

	Fixed the crash where ability components are unregistered and then re-registered, which usually happens in PIE.

Change 3771368 by Ben.Zeigler

	#jira UE-52670 Add project setting bValidateUnloadedSoftActorReferences that is true by default to match current behavior. If you set it to false it will no longer load packages to look for soft actor references when deleting/renaming actors.

Change 3771173 by Seth.Weedin

	Auto manage attachment support for AudioComponent- An opt-in feature that allows AudioComponents to cache their AttachParent/AttachSocket and only attach themselves when playing audio, detaching after playback is completed. Set to false by default.

Change 3768811 by Ori.Cohen

	Change animation scale collision code so that it uses the physics asset.

Change 3768148 by Brian.Bekich

	Fix muting being unable to find remote player controller

Change 3768117 by Ori.Cohen

	Prevent pawn collision from updating during animation

Change 3766554 by Gil.Gribb

	UE4 - Added a new option to add and remove from static draw lists on demand. This is off by default.

Change 3766427 by Nick.Darnell

	Slate - Finally adding Opacity to SWidget.  Any widget can now be alpha animated at will, no more need to waste overhead by wrapping things with SBorder or making them userwidgets just to be able to animate a fade.

Change 3761682 by nick.darnell

	Athena - Introducing a way to interrupt the request to scroll and item into view.  In cases where you're animating, quickly showing and hiding, with the item widgets unavailable for a few frames, you enter cases where the deferred navigation is resolved after you've canceled showing a dialog stealing focus.

Change 3761416 by Ben.Zeigler

	#jira UE-52287 Prevent cook metadata like DevelopmentAssetRegistry.bin from being packed into a shipping game, by moving it into a Metadata subdirectory and updating deployment scripts to avoid that directory.
	Right now it doesn't package them at all, we could change it to package them as Debug Non-UFS if desired
	Change it so the asset audit UI will only load DevelopmentAssetRegistry.bin files, the cooked registry files don't have enough information any more to be useful
	Remove ability for runtime game to load DevelopmentAssetRegistry.bin, this ended up not being useful

Change 3750998 by Ethan.Geller

	#jira FORT-60191 Allow -audiomixer command line arg to work on all platforms.

Change 3749540 by Marc.Audy

	SignificanceManager now takes viewpoints in as TArrayView instead of const TArray&

Change 3748102 by Marc.Audy

	Allow cheat cvars to work in Test builds by default
	Can be overriden by defining ALLOW_CHEAT_CVARS_IN_TEST as 0 in Target.cs files

Change 3744756 by Bart.Hawthorne

	Upgrade Oodle to version 2.5.5. Also, iOS, Android, and Switch platforms have been added. The new dictionary has been generated with old and local captures.

Change 3741168 by Max.Preussner

	MediaUtils: Fixed movies not playing properly in Shipping builds

Change 3739256 by Jian.Ru

	Set distance field self-shadow bias without recreating all render states

Change 3730756 by Ben.Woodhouse

	HISM optimization:
	Gil's change to skip trees with only one level of hierarchy (working around badly tuned content issues)
	Change vert threshold to 2K.
	1-2ms renderthread win without impacting GPU when rendering point lights

Change 3724029 by Zak.Middleton

	Increase allowed time for movement substep duration. Don't want to lower between 2 iterations, as this is not used much in practice other than deflection and movement mode changes, and that will change behavior (lose momentum). This new setting will absorb longer hitches in the common case (moving without collision or falling).

Change 3723985 by Marc.Audy

	SignificanceManager PostSignificanceUpdate functions can now be executed sequentially on the game thread as well as concurrently in the parallel for (old behavior)

Change 3722910 by Jian.Ru

	Amortize shadow cache update caused by resolution change
	Changed to use view distance vs. view space z when calculating whole scene shadow resolution which is less sensitive to camera rotation

Change 3718247 by Yenal.Kal

	Fixed the bug where the gameplay effect durations can show incorrect values after rejoin or after server time drifting away from the client.

Change 3716343 by Jamie.Dale

	Adding Korean and Turkish to the localization automation


Change 3710534 by Uriel.Doyon

	Texture streaming optimization where a maximum texture resolution for each level streaming data is computed per view.
	This is used to cull irrelevant levels and reduce the async task number of iterations.
	The culled size is defined by the new r.Streaming.MinLevelTextureScreenSize.

	This requires to remove primitives with big UV density from the level data.
	Those primitives get moved to the dynamic lists.
	This is controlled by r.Streaming.MaxTextureUVDensity

Change 3707207 by David.Ratti

	Remove look ahead-vectors prediction in FNetViewer. This (requires) a line trace which is not desirable or really accurate anymore. This saves us a line trace per connection per multicast rpc.

	unify reliable multicast rpc handling: these now do relevancy checks and are not sent to non relevant clients

Change 3706272 by Thomas.Sarkanen

	Added utility/math functions to aid in optimizing anim blueprints

	Added VectorLengthXY to get the 2D length of a 3D vector. Avoids unecessary conversions.
	Added polar->cartesian->polar conversion helper functions for expensive frequently-used anim graph functionality.

Change 3706159 by David.Ratti

	PlayerState/ASC replication optimizations from Polge: this puts the net update frequnecy on player state back to 1hz while forcing netupdates on the player state actor when the ability system component needs to update

Change 3692891 by David.Ratti

	Optimizations for UNetConnection::ClientHasInitializedLevelFor: build acceleration map of actor outer's (ULevels) -> Visibility bool. Existing logic stays the same.

Change 3691392 by Aaron.McLeran

	#jira UE-50628 Fix audio trying to sync load bulk data with EDL enabled

	- Fix log error in BulkData.cpp
	- Make the first stream chunk be force inline payload in bulk data flags so it loads immediately vs in async IO system
	- Make audio stream chunks get as close to 256 k chunks as it can, zero-pad rest to be 256 k aligned
	- Fix up DDC key, serialize AudioDataSize separately from chunk DataSize

Change 3682683 by Zak.Middleton

	Add bOnlyTickMontageOnDedicatedServer variable to AnimInstance, to avoid anim bp updates on dedicated server. Turn on to fix hitching from queued ServerMove() calls, and some free perf during all montages on the server.

Change 3678771 by Ori.Cohen

	Added the ability to turn on stack walk during hitching vs lightweight stats

Change 3676363 by Ori.Cohen

	Added the ability to get callstacks as part of hitch detection

Change 3674877 by Keith.Judge

	Move definition of GFailedToFindParamCollectionBufferQueue to ShaderBaseClasses.cpp so that all targets can successfully compile.

Change 3672515 by Bob.Tellez

	Added code to play wind particle effects

Change 3670909 by Zak.Middleton

	Fixed ForcePositionUpdate() not calling CheckJumpInput(). Added "p.NetForceClientServerMoveLossPercent" cvar to simulate loss of client->server movement RPCs (without hosing the rest of networking).

[CL 3791033 by Marc Audy in Main branch]
2017-12-05 21:57:41 -05:00
Andrew Grant
ca24b4e26d Copying Orion-Staging @ 3748653 (Orion/Dev-General @ 3722124) to //UE4/Main
#lockdown Nick.Penwarden
#rb none


Change 3720210 on 2017/10/25 by Olaf.Piesche

	Fixing dynamic material params for ribbons

	#!codereview scott.kennedy
	#!rb none
	#!tests scott's test ribbon

Change 3720073 on 2017/10/25 by robomerge

	#!ROBOMERGE-AUTHOR: frank.fella
	Niagara - Fix a crash where a UNiagaraSystem has been GCed at runtime and there is still a system simulation ticking for it.

	#!Tests Minion automated tests no longer crash randomly.
	#!rb SimonT

	#!ROBOMERGE-SOURCE: CL 3719901 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3719233 on 2017/10/25 by robomerge

	#!ROBOMERGE-AUTHOR: philip.buuck
	[OR-45889] Ability fail widget will no longer fire if you are dead and have a passive (which is failing to activate while you are dead).

	#!rb Matt.Schembari
	#!tests PIE

	[QAREVIEW] Ensure the ability fail widget and its attached sounds do not trigger on death

	#!ROBOMERGE-SOURCE: CL 3719016 in //Orion/Release-44/... via CL 3719072 via CL 3719091
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3718474 on 2017/10/25 by Yannick.Lange

	Niagara: Only show isolate menu items on track context menu if it is a system.
	Rename "Isolate toggle" to "Isolated".
	#!rb none
	#!codereview Shaun.Kime
	#!tests n/a

Change 3718095 on 2017/10/25 by Yannick.Lange

	Niagara: Fix crash when not having dynamic parameter in material.
	#!rb none
	#!codereview Shaun.Kime
	#!tests n/a

Change 3718069 on 2017/10/25 by Yannick.Lange

	Niagara: Remove material member from material parameter node and add helper function for getting material dynamic parameter expression.
	#!rb none
	#!codereview Shaun.Kime
	#!tests n/a

Change 3717545 on 2017/10/24 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Removed read / write locks from PipelineStateCache.

	#!rb Andrew.Grant, Gil.Gribb
	#!test paragon ps4.

	#!ROBOMERGE-SOURCE: CL 3716445 in //Orion/Release-44/... via CL 3716701
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3716928 on 2017/10/24 by Shaun.Kime

	The cooked dusk minions on PS4 don't have an index buffer, previously causing us to crash. We now fail to initialize the skeletal mesh data interface if this happens. This change also reworks  the skeletal mesh data interface to be more like what Simon is already working on, getting rid of some places where we were skinning. Additionally, I have disabled the parallel pretick and posttick logic.Many more checks have been added to try and detect bad situations at runtime.

	#!rb olaf.piesche, simon.tovey
	#!fyi olaf.piesche, simon.tovey, frank.fella
	#!tests am now able to run Test_minionWave on PS4

Change 3715712 on 2017/10/24 by Yannick.Lange

	Niagara: Set display name of if node to "If" instead of "NiagaraNodeIf".
	#!rb none
	#!codereview Shaun.Kime
	#!tests n/a

Change 3715430 on 2017/10/23 by Shaun.Kime

	Rather than make a unique decision each time we bind a VM function about whether or not we need previous positions, we initialize the decision with the results of last time. The value defaults to false in the constructor, so we're still behaving as we did before, but this time asking for UV info last won't initialize the data to no longer want the previous position even though we later ask for it.

	#!rb none
	#!fyi simon.tovey
	#!tests from Tim Elek - testMinion map get minions spawned then run down the lane and "setteamnum 1" crashes everytime

Change 3715368 on 2017/10/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3714121 from //Orion/Release-44 to Main (//Orion/Main)
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3715255 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3715226 on 2017/10/23 by Shaun.Kime

	Getting rid of an ensure for Nan's and switching to a log warning. This keeps it from polluting long term runs in the debugger. It seems like at least one of the Niagara systems on minions generates Nan's.

	#!rb none
	#!fyi simon.tovey, olaf.piesche, frank.fella
	#!tests ran in PIE

Change 3714645 on 2017/10/23 by Yannick.Lange

	Niagara: Add ability to create particle system from this emitter in content browser.
	#!rb Shaun.Kime
	#!tests n/a

Change 3714200 on 2017/10/23 by Olaf.Piesche

	Niagara: Fixing rendering of GPU simulated emitters; store SRV instead of data buffers, so we can point the VF at the correct buffer based on sim target

	#!codereview simon
	#!rb none
	#!tests Orion Niagara assets

Change 3713341 on 2017/10/23 by Yannick.Lange

	Niagara: Fix NiagaraNodeIF output pins cannot be deleted.
	Fix NiagaraNodeIF output pins cannot be renamed.
	#!jira UE-50193
	#!jira UE-50193
	#!rb Shaun.Kime
	#!tests n/a

Change 3713133 on 2017/10/23 by Yannick.Lange

	Niagara: Isolate emitters in sequencer UI.
	- Added being able to extend the sequencer track context menu with a delegate.
	- Added entry in track context menu to toggle the selected emitters isolation state.
	- Added entry in track context menu to isolate all the selected emitters and turn isolation off for all non-selected emitters.
	#!rb Shaun.Kime
	#!tests n/a

Change 3712445 on 2017/10/22 by robomerge

	#!ROBOMERGE-AUTHOR: shaun.kime
	UVScale, UniformAorBFloat, and LinearColorAlongVector added.

	#!rb none
	#!tests new autotest added

	#!ROBOMERGE-SOURCE: CL 3712444 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3712420 on 2017/10/21 by robomerge

	#!ROBOMERGE-AUTHOR: shaun.kime
	Fixing issue where if you disabled Acceleration Force it would cause a compile error saying that it could find a default for Physics.Force but not in the parameter map. This was because of a simple error of using the index of the pin instead of the value of the pin when routing around the disabled node. In interpolated spawn scripts, there are two parameter maps, the spawn and update. If you always look in 0, which you would if you just use the pin index, you'd never find the Physics.Force variable in parameter map at entry 1.

	#!rb none
	[CODEREVIEW] frank.fella
	[FYI] simon.tovey, olaf.piesche, wyeth.johnson
	#!tests created an emitter, disabled Acceleration Force.. still compiled.

	#!ROBOMERGE-SOURCE: CL 3712419 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3711602 on 2017/10/20 by robomerge

	#!ROBOMERGE-AUTHOR: shaun.kime
	Fix for issue where we were getting a check due to the mesh not being set up properly. We now catch the error and don't try and do the bad operation. The log will have something like:

	LogNiagara: SkeletalMesh data interface has no valid mesh. Failed InitPerInstanceData

	#!jira UE-51511
	#!rb Simon.Tovey
	#!tests n/a

	#!ROBOMERGE-SOURCE: CL 3711601 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3711288 on 2017/10/20 by robomerge

	#!ROBOMERGE-AUTHOR: eric.ketchum
	[Justice] Ultiamte VFX in Niagara work, includes GeneratePositionEvent Module work

	#!rb: None

	#!tests: PIE

	[CODEREVIEW] Scott.Kennedy, Tim.Elek, Simon.Tovey, Shaun.Kime

	#!ROBOMERGE-SOURCE: CL 3711285 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3711197 on 2017/10/20 by Olaf.Piesche

	Fix for ribbon facing issue; VF assumed local space particles in the ribbon, now it assumes world space (the most common case); TODO: deal with local space properly

	#!rb none
	#!tests minion projectile ribbon trail

Change 3710634 on 2017/10/20 by Mic.Rooney

	Moving some Facial Animation stuff around so I can use some of their importing logic inside Orion Dialogue asset importing.

	#!RB: none
	#!Test: tested/built locally ran preflight Editor/Monolithics build.
	#!review-3710635 @andrew.grant, @david.ratti, @thomas.sarkanen

Change 3709686 on 2017/10/20 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added some more timerguards for slow timer manager tick objects.
	Commented out for now.
	#!rb Trivial
	#!test Paragon Cooked ps4.

	#!ROBOMERGE-SOURCE: CL 3709683 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3708958 on 2017/10/19 by Shaun.Kime

	Back out changelist 3708456 .. this was an unintentional change
	#!rb none
	#!tests n/a

Change 3708839 on 2017/10/19 by Shaun.Kime

	Merging CL 3708835
	Fixing Scott's common crash with adding an emitter with autocompile off

	#!rb frank.fella
	#!tests n/a

Change 3708784 on 2017/10/19 by Shaun.Kime

	Merging CL 3708782

	//Orion/Main/... to //Orion/DevGeneral/...

	#!rb none
	#!tests n/a

Change 3708600 on 2017/10/19 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made bots in Ultimate movement mode not ignore all enemies but instead use a very small radius for enemy selection #!Orion

	#!rb none
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3706947 in //Orion/Release-44/... via CL 3708165
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3708473 on 2017/10/19 by Shaun.Kime

	Merging Frank's changes for team color support from Main to Dev-General
	#!rb Frank.Fella
	#!tests test_minionwave worked

Change 3708456 on 2017/10/19 by Shaun.Kime

	Particles.Random set to 0.0

	#!rb none
	#!tests n/a

Change 3708455 on 2017/10/19 by Shaun.Kime

	Merging using //Orion/Dev-General/_To_//Orion/Dev-Niagara
	#!rb none
	#!tests passed minion fx autotest

Change 3707648 on 2017/10/19 by Shaun.Kime

	Temporary render thread safety code for emitter instances and it's dataset until a more thorough refactor/safety pass can be made.
	Defer deletion of dataset to RT.
	Ensure resets don't mess with data inflight RT commands are using.
	Checkin on behalf of Simon Tovey

	#!jira OR-45423
	#!rb Simon.Tovey
	#!tests ran through the LaneMinionFXTests successfully on PC

Change 3707096 on 2017/10/19 by robomerge

	#!ROBOMERGE-AUTHOR: shaun.kime
	CameraOffset for sprites. Had to bless some new images due to Simon's off by one frame render fix from a few days ago.

	#!rb none
	#!tests automated tests pass

	#!ROBOMERGE-SOURCE: CL 3707088 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3706726 on 2017/10/19 by Rob.Cannaday

	Merge XMPP resource version to use version 2 instead of version 3
	#!rb trivial
	#!tests compile
	#!ROBOMERGE: Main, 44, Tencent

Change 3706349 on 2017/10/19 by Josh.Markiewicz

	#!UE4 - Cross Voice code review feedback
	- fixed up broken stack vs queue
	- fixed GetRoomId returning int32 instead of uint64
	- fixed switch room logic
	- more/better logging
	- more comments
	#!jira TEN-301
	#!review-3681404 @sam.zamani, @rob.cannaday
	#!rb none
	#!tests local cheat codes

Change 3705453 on 2017/10/18 by robomerge

	#!ROBOMERGE-AUTHOR: arne.schober
	Initzalize missing Cubemaps with Zero index to avoid inconsistencies between platforms (like PS4 where a negative index will access the memory shead of the array)
	#!RB Daniel.Wright
	#!Tests LaunchOnPs4

	#!ROBOMERGE-SOURCE: CL 3704845 in //Orion/Release-44/... via CL 3704847
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3705399 on 2017/10/18 by robomerge

	#!ROBOMERGE-AUTHOR: scott.kennedy
	Default Niagara emitter changed color property to better default value.
	Updated basic glow emitter
	Added energy bubble base emitter
	put a little more polish into siege minion impact FX.

	#!ROBOMERGE-SOURCE: CL 3704654 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3704426 on 2017/10/18 by Shaun.Kime

	Standardizing our null and zero checks for the sprite and mesh renderers trying to prevent OR-45423

	#!rb simon.tovey
	#!fyi hunter.kent
	#!tests ran test_minionwave with no crashes on PC, needs QA to bang on it to be sure

Change 3703288 on 2017/10/18 by Olaf.Piesche

	Simon's change to avoid recreation of vertex buffers; should also fix uninitialized gpu buffer crash

	#!rb olaf.piesche, simon.tovey
	#!tests minion test map PC and PS4

Change 3701373 on 2017/10/17 by robomerge

	#!ROBOMERGE-AUTHOR: shaun.kime
	Passing the wrong shader into ribbon vertex factories when setting shader constants for pixel shader.

	#!rb Olaf.Piesche
	#!tests test_minionwave runs

	#!ROBOMERGE-SOURCE: CL 3701371 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3701108 on 2017/10/17 by Hunter.Kent

	Added a "New Minions (nomcp)" option to the Mode dropdown in the BuildLauncher tool so that Devs can test the new minions on PS4 more easily.

	#!RNX
	#!Test PS4
	#!rb @tim.elek
	#!review-3701110 @andrew.grant, @daniel.lamb

Change 3701044 on 2017/10/17 by robomerge

	#!ROBOMERGE-AUTHOR: jon.lietz
	- white space fixes
	- added in more detail to logging
	- fixed dragon GC to not hide when the mesh is hidden

	#!rb none
	#!tests complies and logging is updated
	[FYI] Billy.Rivers, Eric.Ketchum, Fredrik.Seehuusen

	#!ROBOMERGE-SOURCE: CL 3700996 in //Orion/Release-44/... via CL 3701002
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3700900 on 2017/10/17 by Shaun.Kime

	Integrating possible crash fix from Dev-Niagara to Dev-Gen
	#!rb none
	#!tests n/a
	#!fyi Olaf.Piesche

Change 3700492 on 2017/10/17 by Shaun.Kime

	Merging using //Orion/Dev-General/_To_//Orion/Dev-Niagara
	#!rb none
	#!tests done in branch

Change 3700217 on 2017/10/17 by Olaf.Piesche

	Fix for potential crash in sprite renderer

	#!rb none
	#!tests minion test map

Change 3700216 on 2017/10/17 by Benn.Gallagher

	Fix for crash using Ghost's E on Rampage due to posable mesh being set as the master pose component. Clothing simulation assumed derivative of skeletal mesh component so was failing to correctly map its bones to the master.
	#!rb Lina.Halper
	#!jira OR-45226
	#!tests PIE + Standalone games hitting Rampage with Ghosts E

Change 3699660 on 2017/10/17 by Jason.Bestimt

	#!ORION_DG - Fixes to UnrealHitchParser edge cases

	#!RB:none
	#!Tests: Ran on Logs from QA

	#!CodeReview: ben.salem

Change 3699462 on 2017/10/17 by Shaun.Kime

	Merging using //Orion/Dev-General/_To_//Orion/Dev-Niagara
	#!tests preflight ok
	#!rb none

Change 3699010 on 2017/10/17 by Jeff.Williams

	Merging //Orion/Main to Dev-General (//Orion/Dev-General) @3698920
	#!rb none
	#!tests none

Change 3698519 on 2017/10/16 by Olaf.Piesche

	Sawtooth ribbon fix; may well fix other potential ribbon rendering artifacts

	#!rb none
	#!tests minion wave test map

Change 3698380 on 2017/10/16 by Shaun.Kime

	Updating logic to now support the autoattachment

	#!rb none
	#!tests autotests pass..

Change 3698263 on 2017/10/16 by Olaf.Piesche

	Assume degrees for sprite rotation

	#!rb none
	#!codereview shaun.kime
	#!tests test sprite emitter

Change 3697652 on 2017/10/16 by Olaf.Piesche

	Fixing crappy FP math for alternating vertex IDs ffor ribbon expansion

	#!rb none
	#!tests minion test map

Change 3696906 on 2017/10/15 by Shaun.Kime

	Fixing the spurious missing required attribute errors that were occuring for Scott on Friday. These were a result of a bad assumption in the code. The scripts input array can include more than just this emitter's scripts and as such we cannot assume that all the input scripts should be checked against the Emitter's renderers. Now we only check this emitter's scripts against the renderers.

	#!rb none
	#!tests now no longer generates invalid errors
	#!fyi frank.fella, olaf.piesche, simon.tovey

Change 3695456 on 2017/10/13 by Olaf.Piesche

	Fix for potential ribbon crash and end-of-ribbon rendering artifacts

	#!rb none
	#!codereview scott.kennedy
	#!tests minion wave test map

Change 3694545 on 2017/10/13 by Andrew.Grant

	Fix for low frequency async loading crash (OR-42535)

	#!rb gil.gribb
	#!tests comppiled

Change 3694176 on 2017/10/13 by Jeff.Williams

	Plugin manifest name changed to DLCFile name
	#!rb none
	#!tests compile, stage

Change 3693582 on 2017/10/12 by Don.Eubanks

	Fixing PS4 Compile warning (constructor init order not matching member define order)

	#!rb none
	#!tests Compile Shipping Client PS4
	#!fyi olaf.piesche

Change 3693516 on 2017/10/12 by Olaf.Piesche

	Niagara: Remove mesh renderer assert, replace with early out

	#!rb none
	#!tests niagara mesh test asset

	Merging

	//Orion/Dev-Niagara/Engine/Plugins/FX/Niagara/Source/Niagara/Private/NiagaraRendererMeshes.cpp

	to //Orion/Dev-General/Engine/Plugins/FX/Niagara/Source/Niagara/Private/NiagaraRendererMeshes.cpp

Change 3693051 on 2017/10/12 by Ben.Salem

	Adding parser for any logs with dumphitches enabled. Run UnrealHitchParser <logfile> to receive a logfile_hitches.txt file containing only the hitches in the log, plus reference lines to their location in the original log.
	#!rb Clayton.Langford
	#!tests Parsed a 5mb log with dumphitches down to 23k of hitch data.

Change 3692912 on 2017/10/12 by Olaf.Piesche

	Merging: Niagara ribbon tiling distance

	#!rb none
	#!tests ribbon test asset

Change 3692835 on 2017/10/12 by Shaun.Kime

	Synching with Dev-Niagara, specifically CL 3692821 which made InitialMeshRotation respect local space flags.

	#!rb none
	#!fyi scott.kennedy, wyeth.johnson
	#!tests n/a

Change 3692751 on 2017/10/12 by Shaun.Kime

	Removing script that shouldn't have come over.

	#!rb none
	#!tests n/a

Change 3692746 on 2017/10/12 by Shaun.Kime

	Merging using //Orion/Dev-General/_To_//Orion/Dev-Niagara

	#!rb none
	#!tests opened test level and created new emitter/system

Change 3692616 on 2017/10/12 by Don.Eubanks

	OR-45131

	Marking SRetainerWidget and our Orion-specific VirtualWindow (child of the RetainerWidget when bUseRetainerWidget is true) as SelfHitTestInvisible so they don't interfere with our HUD tooltip mouse picking.

	#!rb dan.hertzka
	#!tests Compile DebugGame Editor Win64 / Shipping Client PS4 / PIE
	#!codereview nick.darnell

Change 3691912 on 2017/10/12 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Merging //Orion/Dev-General to Main (//Orion/Main) to [at 3689865] #!rb none
	#!tests compile, editor

	#!ROBOMERGE-SOURCE: CL 3691870 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3690944 on 2017/10/11 by Jeff.Williams

	Adding Plugin Config .ini's to DLC paks. Building pluginmanifests per-DLC.
	#!rb Daniel.Lamb
	#!tests Compile, build

Change 3688989 on 2017/10/10 by Lina.Halper

	LOD sync of attached/parent
	#!rb: Laurent.Delayen
	#!tests: price with shotgun skin/PIE/editor

Change 3687592 on 2017/10/09 by Ben.Salem

	Increase the number of times we run each shallow test to make sure our numbers are reliable. Improve shallow FX perf logger to be able to handle multiple runs of the same test.
	#!rb clayton.langford
	#!tests Ran sparrow shallow tests.

Change 3686560 on 2017/10/09 by Shaun.Kime

	Flipping the min/max values to be standard
	#!rb none
	#!tests n/a

Change 3686046 on 2017/10/09 by Shaun.Kime

	Merging latest from Dev-Niagara in preparation for Effects team  work on Monday

	#!rb none
	#!tests successful preflight
	#!fyi Andrew.Grant, Simon.Tovey, Frank.Fella, Olaf.Piesche, Scott.Kennedy, Tim.Elek

Change 3685613 on 2017/10/07 by robomerge

	#!ROBOMERGE-AUTHOR: simon.tovey
	Implementing vector field matrix inverse fix from CL3675167 to 43.3.

	#!rb none
	#!tests none
	#!lockdown  andrew.grant

	#!ROBOMERGE-SOURCE: CL 3684339 in //Orion/Release-43.3/... via CL 3684340 via CL 3684342
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3685603 on 2017/10/07 by robomerge

	#!ROBOMERGE-AUTHOR: thomas.ross
	RotationalContent Improvements
	- Fixed potential bug where tags could be updated when not intended on RotationalContentManager
	- Fix for PIE assert
	- Moved DebugParsing checks to all cases of InitializingTagsFromMCP so that connecting to MCP or returning to the main menu would not overwrite a console / manually set debug option.
	- Removing config tag from RotationalContentOverrides in OrionGlobals.

	New Halloween Gauntlet Test
	- Adding in Halloween Gauntlet Test to facilitate launching halloween overriden builds easily. Run by typing Halloween into the custom text box.

	#!rb none
	#!tests local builds / editor / PIE

	#!ROBOMERGE-SOURCE: CL 3682813 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3685408 on 2017/10/07 by ben.salem

	Fixing robomerge error in DevGen

	#!CodeReview: ben.salem, jason.bestimt, andrew.grant, jeff.williams

	Unresolved conflicts. ben.salem, please merge this change by hand.
	//ROBOMERGE_ORION_Dev_General/OrionGame/Build/OrionBuild.xml

	--------------------------------------
	Merging using DevGen->Release43.3
	Repairing mailer for nightly Perf tests, fixing email headers.
	#!tests run in devgen
	#!rb none
	#!lockdown andrew.grant

	#!ROBOMERGE-SOURCE: CL 3680914 in //Orion/Release-43.3/... via CL 3680919 via CL 3680922
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3685073 on 2017/10/06 by Andrew.Grant

	Merging 3680922 //Orion/Main to Dev-General (//Orion/Dev-General)

	#!tests #!rb na

Change 3684717 on 2017/10/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where GT & RT times in profile info were reversed :(

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3680128 in //Orion/Release-43.2/... via CL 3680129 via CL 3680130 via CL 3680235
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3684512 on 2017/10/06 by Laurent.Delayen

	Added 'PlayRateBasis' to SequencePlayer node, to scale PlayRate without having to do more expensive BP code.

	#!rb lina.halper
	#!tests minion AnimBP nativization

Change 3684059 on 2017/10/06 by Max.Preussner

	Orion: Fixed ability videos not loading on PS4 and/or not looping

	#!fyi stephan.jiang
	#!jira OR-44682
	#!rb none
	#!rnx
	#!tests none

Change 3683538 on 2017/10/06 by David.Ratti

	batch all non-trickle gold and XP gameplay cues into single compact RPC call. Fixes issues where rpc throttling would prevent gold/xp number pops over large groups of minions.

	-Fixes enemy heroe kills/assists never showing XP pops. We now pass the avatar actor as the Source Actor into ::AwardXP (like we do for ::AwardCardXP). This was causing XP pops to only show for minions and not players.

	-Fixes case where killing minions with badass was not displaying pops (prediction key issue)

	#!rb none
	#!tests editor, pie
	#!review-3683539 @Matt.Schembari

Change 3683364 on 2017/10/06 by Andrew.Grant

	Changed warning to info

	#!tests #!rb na

Change 3681999 on 2017/10/05 by Bart.Hawthorne

	Implement live spectating feature. Clients can join a match using a custom key by setting their custom key and using the "JoinAsSpectator" console command. This will be replaced with proper UI later. The client is able to watch a match from start to finish (or join in the middle), then they will see the end game sequence and return to the title screen at match completion.

	#!rb cody.haskell
	#!fyi ben.zeigler, matt.schembari, matt.kuhlenschmidt, paul.moore
	#!jira OR-44111
	#!tests Golden path, live spectated numerous matches.

Change 3681403 on 2017/10/04 by Josh.Markiewicz

	#!UE4 - base pass for Tencent Cross SDK
	- basic testing done with enter/exit/switch room
	- basic testing of ShowUI
	- checked in disabled
	#!rb duck
	#!tests see above
	#!jira TEN-301
	#!review-3681404 @sam.zamani, @rob.cannaday

Change 3680623 on 2017/10/04 by David.Ratti

	Rework for how max movement speed is calculated.

	The design is now "only strongest movement speed slow affects player speed". Movement speed buffs are unaffected : they are still accumulated along with the strongest slow.

	Combat Slows (Shooting, jump penalties) are now aggregated within Max Movement Speed, so the same rules apply. If a slow of greater magnitude is active, Combat Slows will effectively be ignored. Likewise, if a combat slow is stronger than a debuff slow, the debuff slow will effectively be ignored.

	Directional Slows (penalty for strafing or backpeddaling) are treated in a similar way. There are some subtleties here, but basically directional slows are only applied if they would be "the strongest" slow.

	GE Slows that are not contributing (due to not being the strongest active slow) will still appear to be "on" and applied. (Their GCs will still play, they are not inhibited, handles to them are still valid, etc).

	Suggested methods for inspection:
	AbilitySystem debug hud (Home/End)
	p.VisualizeMovement (displays final calculated movement speed)
	Orion.Movement.DirectionalScaleDebug (displays directional slow movement scalar)

	Technical information:
	1. Changes the way attribute mods are qualified. Rather than qualifying inside the mod prior to evaluating, we qualify all mods within an FAggregator first, then allow a custom callback to run which can further muck with the mods IsQualified bool, then we evaluate like normal except that we just check the IsQualified bool.

	2. Added a concept of Aggregator Evaluate Meta Data that can be set per aggregator. This is data that is instrinc to the aggregator rather than passed in by the person evaluating.  It may make sense to have this be a shared ptr to reduce memory footprint if this struct grows.

	3. Added a notification for attribute sets when an aggregator is created for one of their attributes.

	4. Added ForEachMod functions in the aggregators to iterate over all mods (while getting the channel and mod op which are otherwise not known to the actual FAggregatorMod)

	5. Added FAggregatorEvaluateMetaDataLibrary which can store common/shared functions for this type of extension.

	#!tests pie
	#!rb FrankG
	#!codereview Fred.Kimberley, Billy.Bramer
	#!fyi colin.fogle
	#!QAReview
	#!RN
	#!designchange

Change 3680580 on 2017/10/04 by Ben.Salem

	Repair email titles for various reports.
	#!rb none
	#!tests Reran tests.

Change 3680438 on 2017/10/04 by Dan.Hertzka

	GameplayAbilities now pass along their SourceObject when creating the effect context for a new effect
	- Fixes the HUD status effect feed not showing sources for a lot of itemization abilities

	Also added the tag to prevent showing a feed entry for the Lifesteal received from the first major agi pip

	#!rb Dave.Ratti
	#!tests OrionEntry PIE - equipped Sand Speeder

	#!QAReview: This should address the majority of cases where a card/gem effect buff doesn't show the source item. There are still a number of unaddressed cases, but these will largely be content one-offs from here on

Change 3680344 on 2017/10/04 by robomerge

	#!ROBOMERGE-AUTHOR: marcus.wassmer
	Speculative disable of defragging on volumetric lightmap textures.
	#!rb andrew.grant
	#!test monolith2 ps4

	#!ROBOMERGE-SOURCE: CL 3678624 in //Orion/Release-43.3/... via CL 3678628
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3680302 on 2017/10/04 by Shaun.Kime

	Integration from DevNiagara.
	Some character and card blueprints were changed in a minor way when they called their parent Burst, Loop, etc. as Blueprints cannot have an unattached array pin and Gameplay cues now have an Additional Niagara Particle Systems array.

	#!rb none
	#!fyi Scott.Kennedy, Olaf.Piesche, Simon.Tovey, Frank.Fella, Andrew.Grant, Tim.Elek
	#!tests passed PS4 test level (not submitted, but ported from DevNiagara). Automated tests pass.

Change 3679946 on 2017/10/04 by Laurent.Delayen

	Fix for OR-44826. Old minions would crash because their LODs would reduce bone counts, and LowerBodyBoneIndices wasn't properly reset between LOD switches.

	#!rb lina.halper
	#!FYI andrew.grant
	#!tests monolith2 old minions

Change 3679938 on 2017/10/04 by Daniel.Lamb

	Allowed foliage cullall option to be modified by scalability options.
	#!rb Trivial
	#!test Compile paragon editor

Change 3679563 on 2017/10/04 by Jon.Lietz

	OR-43599

	- added support for WaitForAttributeChange, WaitForAttributeChangeWithComparison, WaitForAttributeChangeThreshold, and WaitForAttributeChangeRatioThreshold to support tracking on an extrnal source. This way you can track when that extranal sources attribute changes and respond to it.

	#!rb Dave.Ratti
	#!review-3679564 @John.Nielson
	#!tests added these waits to hot pursuit and they worked as expected

Change 3679006 on 2017/10/03 by Ben.Salem

	Try to fix broken nightly mailer issues for FX tests.
	#!rb none
	#!tests Preflighted a shallow fx pass successfully in EC.

Change 3677845 on 2017/10/03 by Andrew.Grant

	Added an ensure to guard against OR-44826 while further investigations occur

	#!tests compiled
	#!rb none

Change 3677443 on 2017/10/03 by John.Nielson

	Fix to OrionOR-44394, Log Warnings related to Phase GC when loading into game as Phase.

	Made it so that gameplayCue's async loads are cancelled when Unloaded (in UnloadGameplayCueNotify).

	#!RB: None
	#!Test: Pie, Uncooked
	#!review-3677445: @David.Ratti

Change 3676748 on 2017/10/02 by Laurent.Delayen

	Minions: split body layer is now done in mesh space, to maintain upper body orientation.

	#!FYI ray.arnett, lina.halper
	#!rb none
	#!test lane minion test map

Change 3675950 on 2017/10/02 by Don.Eubanks

	Added several new supported tags / status effects to the Floating Status Effect Text system.

	Added support for providing a list of Instigating actors when a status effect begins, the list isn't super perfect (overlapping status effects can result in an instigator appearing in multiple lists) but it should be pretty good for now.  This paves the way for us to squelch status effects unless they are initiated by the player.

	Added ScaleOverDistance curve support for floating numbers / text.

	Inverted the Instigator / Target checkboxes for XP in the DamageNumberManager per @matt.schembari request to support his work while I had the asset checked out.

	#!rb matt.schembari
	#!tests Compile DebugGame Editor Win64 / Shipping Client PS4

Change 3675186 on 2017/10/02 by Mic.Rooney

	Support for other anim curve driving audio types (right now specifically DialogueWave)

	#!RB: none
	#!Test: compiled editor/monolithics/withoutunity and tested locally.
	#!review-3675187 @andrew.grant, @david.ratti, @thomas.sarkanen

Change 3675167 on 2017/10/02 by Shaun.Kime

	Changed unsafe InverseFast() to an Inverse()

	#!jira OR-44671
	#!rb Simon.Tovey
	#!tests n/a

Change 3674888 on 2017/10/02 by David.Ratti

	GGP V2
	* Major refactor of the GGP system though this first check in is a scaled back integration from original plans. Primarily to stabilize the system and improve designer work flows before possibly going deeper for a "Completely unified" integration.


	Item System:
	* Simple Ability Keyword Data now directly references gameplay effect to apply, effectively removing Gameplay Effect Keywords.
	* Qualifier and Gameplay Effect parameters now use the FAutoExportScalableFloat structure which automatically hooks up the values to spreadsheets. (GGP is used to surface these parameters for the auto hookup).

	Ability System:
	* SetByCaller magnitudes are now copied over anytime a GE applies another GE. When an ability applies a GE it also brings over its SetByCaller Magnitude tags from the GE that granted it (if granted bya  GE)


	#!rb none
	#!tests editor pie cooked
	#!review-3674889 @Jon.Lietz

Change 3674170 on 2017/09/30 by Mieszko.Zielinski

	Fixed a bug in OrionToggleableNavLinkProxy resulting from an overly optimistic assumption that Navmesh and Gameplay levels are being saved in sync #!Orion

	Had to make OrionToggleableNavLinkProxy's nav poly ID caching happen on map load.

	#!rb none
	#!test golden path
	#!OR-44738

Change 3672937 on 2017/09/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed Gauntlet filecopy to a single thread to see if it addresses issue with PS4 files

	#!tests 3compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3670237 in //Orion/Release-43/... via CL 3670243 via CL 3670244 via CL 3670245 via CL 3670246
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3672867 on 2017/09/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restored previous behaviour of integer numbers being formatted as "1" and not "1.00"

	#!tests ran game, checked playlist analytic
	#!rb nikdel

	#!ROBOMERGE-SOURCE: CL 3669417 in //Orion/Release-43/... via CL 3669556 via CL 3669557 via CL 3669558 via CL 3669559
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3672575 on 2017/09/29 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Remove warning that can happens normally with backwards compat replays
	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3667518 in //Orion/Release-43.3/... via CL 3667520
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3672548 on 2017/09/29 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed crash in the editor caused by trying to build hlods with StaticMeshComponents that don't have a static mesh assigned.
	#!rb Andrew.Grant
	#!test Editor building hlods

	#!ROBOMERGE-SOURCE: CL 3667059 in //Orion/Release-43.3/... via CL 3667060
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3672542 on 2017/09/29 by Andrew.Grant

	Merging

	#!rb #!tests na

Change 3672390 on 2017/09/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed memreport settings for frontend tests

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3666239 in //Orion/Release-43/... via CL 3666240 via CL 3666241 via CL 3666242 via CL 3666243
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3672385 on 2017/09/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Reworked and pretty much final PipelineState cache code

	- various comments incorporated
	- namespaced functions
	- removed redundant class and replaced with ref pointer

	#!tests soaked a lot
	[at daniel.lamb,] [at arne.schober] #!rb none

	#!ROBOMERGE-SOURCE: CL 3666233 in //Orion/Release-43/... via CL 3666235 via CL 3666236 via CL 3666237 via CL 3666238
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3672281 on 2017/09/29 by Rob.Cannaday

	Add user ID to OnNetworkCheatDetected
	#!jira TEN-272
	#!jira TEN-273
	#!jira TEN-274
	#!rb rob.cannaday
	#!tests Win64 AI match, simulate cheat detected by cheat command
	#!review-3672282 @ian.fox @sam.zamani

Change 3671688 on 2017/09/29 by Frank.Gigliotti

	Added ability to set developer comment when adding native tags.

	#!RB David.Ratti
	#!Tests None

Change 3670409 on 2017/09/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for dump type made while doing cleanup

	#!tests compiled Win64, PS4, ran PS4
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3664048 in //Orion/Release-43/... via CL 3664049 via CL 3664050 via CL 3664873
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3670399 on 2017/09/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed race condition in pipeline state cache

	Cache now trims every 60 secs to reduce memory. Saves ~95MB in a 60m game of Paragon

	(Couple of extra tweaks planned, but this should be GTG for a v43 release)

	#!rb codereviewed
	#!tests soaked locally, lots

	#!ROBOMERGE-SOURCE: CL 3663603 in //Orion/Release-43/... via CL 3663605 via CL 3663607 via CL 3664870
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3669802 on 2017/09/28 by Andrew.Grant

	From Dev-Framework

	#!jira UE-49858 Fix performance regression deleting many actors at once. It was redundantly serializing packages repeatedly to look for actor references, so now we cache that once per package and only display the slow dialog/p4 check when needed
	#!rb michael.noland
	#!codereview andrew.grant
	#!tests na

Change 3669709 on 2017/09/28 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	Restored LoadTimesObjectVersion even though it is no longer used, packages saved with it will issue a warning in the cooker
	#!rb none
	#!TESTS none

	#!ROBOMERGE-SOURCE: CL 3664407 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3669177 on 2017/09/28 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy] Reflection Captures support Lighting Scenarios without recapturing
	 * Reflection Captures are now part of the Map Build
	 * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message)
	 * Reflection Capture build data moved to the BuildData package
	 * Building lighting / reflection captures no longer dirties ULevels
	* Sky lights which capture the scene now work correctly with Lighting Scenarios
	* Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded)
	#!rb Marcus.Wassmer
	#!TESTS Paragon editor Monolith02

	#!ROBOMERGE-SOURCE: CL 3662969 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3669124 on 2017/09/28 by Daniel.Lamb

	Merging //Orion/Main/Engine/Shaders/Public/ShaderVersion.ush
	to //Orion/Dev-General/Engine/Shaders/Public/ShaderVersion.ush

	Fix cook in devgeneral

	Bumped shader version to invalidate stale uniform buffer name.
	#!rb none
	#!TESTS none
	#!fyi Daniel.Wright

Change 3667906 on 2017/09/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy] Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting.
	#!rb none
	#!TESTS QAGame

	#!ROBOMERGE-SOURCE: CL 3662475 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3667899 on 2017/09/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy] Remove unused SM4 reflection capture cubemap
	#!rb none
	#!TESTS none

	#!ROBOMERGE-SOURCE: CL 3662462 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3667894 on 2017/09/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy from Brian] SM4 fallback for reflection captures.
	#!rb none
	#!TESTS none

	#!ROBOMERGE-SOURCE: CL 3662449 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3667859 on 2017/09/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy from Brian] Removed old rasterized deferred reflection env path.
	Removed reflection compute shader. Replaced with PS. Small perf gain.
	#!rb none
	#!TESTS none

	#!ROBOMERGE-SOURCE: CL 3662439 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3667852 on 2017/09/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy] Fixed missing include
	#!rb none
	#!TESTS none

	#!ROBOMERGE-SOURCE: CL 3662396 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3667807 on 2017/09/27 by Daniel.Lamb

	Tencent DLC can now remap the plugin content to the game root directory.
	#!rb Ben.Marsh
	#!test Paragon regioncl dlc build, preflight ps4, win64 standard build + test

Change 3667753 on 2017/09/27 by Clayton.Langford

	Adding automated test for capturing fx perf for lane minions. Also adding a Gauntlet node to run the test nightly, added test map to the cook list, updated the SpawnMinion phase to use new minion assets, and fixed an issue with the spawn timer.

	#!RB Ben.Salem, Adric.Worley
	#!tests PIE, local synced client/server, and Gauntlet's RunAutomaticTest.bat

Change 3667408 on 2017/09/27 by Jordan.Walker

	Optimization to bakedNormal layer blend on Low end material quality
	-uses simple multiply and add normal map blend

Change 3667388 on 2017/09/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy] Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData.  This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times.
	#!rb none
	#!TESTS QAGame on console

	#!ROBOMERGE-SOURCE: CL 3662389 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3667383 on 2017/09/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.wright
	[Copy] CPU interpolation of Volumetric Lightmaps for the mobile renderer.  They use a scene cache based on interpolation position, since the precomputed lighting buffer for movable objects is recreated every frame.
	#!rb none
	#!TESTS QAGame

	#!ROBOMERGE-SOURCE: CL 3662383 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3667265 on 2017/09/27 by Daniel.Lamb

	Fixed crash in the editor caused by trying to build hlods with StaticMeshComponents that don't have a static mesh assigned.
	#!rb Uriel.Doyon
	#!test Editor building hlods

Change 3667159 on 2017/09/27 by Mieszko.Zielinski

	Added simple logging to BT loading allowing us to identify missing BB keys #!Orion

	#!test golden path
	#!rb Lukasz.Furman

Change 3665944 on 2017/09/26 by Dan.Hertzka

	Fix PS4 compile

	#!rb none
	#!tests compile PS4

Change 3665590 on 2017/09/26 by Daniel.Lamb

	Fix for DLC cooking everything when it should only cook the DLC.
	#!rb None
	#!test None

Change 3665569 on 2017/09/26 by Dan.Hertzka

	New status effect feed for the new HUD:
	- Now placed in the mid-upper-left side of the HUD
	- Biggest difference from before is that there are now names associated with each effect
	- If we can determine the ability it came from (and it has a name/icon), we show that as well. This doesn't work for any card effects yet.

	Cleaning:
	- Deleted all of the old buff widget classes & codepaths
	- Removed redundant properties from StatusEffectDisplayInfo
	- Added BuffStatusTags and DebuffStatusTags to AttributeViewItem. This allows us to associate the effects that modify an attribute with the attribute itself. Allowed me to remove about half of the entries in StatusEffectDisplayData

	Also:
	- Consolidated all of the events on FActiveGameplayEffect into a single struct. Since we don't want to allow non-const access to any other part of the active effect, each of these has an individual getter on the ASC. This is pretty obnoxious when you want to bind multiple events. There is now a getter for the event set of an active effect on the ASC. This allows more convenient non-const native access to these events
	- Added an event for when the inhibition of an effect changes. This is important for UI to know when an effect is no longer relevant (despite never being actually removed)

	@todo: Add support for showing the item ability names that are responsible for effects (note that this will be the ability, not the name of the item. The name of the item will be a lot harder.)

	#!rb Don.Eubanks
	#!tests OrionEntry PIE with some cards and hero abilities

	#!QAReview - Please keep an eye on this to make sure it works as expected during normal play. I wasn't sure how to test stack counts - not sure which status effects actually support that. They should show up though if any do. Please also verify that this still works/appears correctly during the tutorial.

	#!lockdown Billy.Rivers

Change 3665555 on 2017/09/26 by Daniel.Lamb

	AudioStreaming mpsc queue fix up.
	#!rb Andrew.Grant
	#!test Compile paragon client / editor.

Change 3665517 on 2017/09/26 by Daniel.Lamb

	Suspect fix for OR-44619
	#!jira OR-44619
	#!test Paragon editor compile
	#!rb Trivial

Change 3664346 on 2017/09/26 by Jon.Lietz

	- making LifeSpanCallback inside UDecalComponent virtual so sub classes can override how Decals handle fade out.
	- Adding in UOrionDecalComponent to replace the use of UDecalComponent, for the most part they are the same the only thing we needed to change was the LifeSpanCallback() if the Owner is a AOrionGameplayCueNotify_Actor we dont call Super::LifeSpanCallback() that would result in the GC getting destroyed but now call GameplayCueFinishedCallback() so our gameplay cues will recycle as desired.
	- Updated all GC's data to use the new decal class
	- removed the option to place UDecalComponent as BP comp and only left our new UOrionDecalComponent

	#!rb Dave.Ratti
	#!reivew Dave.Ratti
	#!tests used characters that had decal comps in the GC and they recylce as expected.
	#!QAReview please check the effected abilities and cues, I tested and everything looks fine to me up a deeper check is needed.

Change 3664099 on 2017/09/26 by Jon.Lietz

	OR-44510

	- bringing over engine fixes for the Enum Redirector from Dev-Framework

	#!rb none
	#!tests compiles and warnings are gone

Change 3663019 on 2017/09/25 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Gil: fixed race condition in the PipelineStateCache
	#!rb Daniel.Lamb
	#!test paragon ps4 with higher repro modified build
	#!lockdown Andrew.Grant
	#!jira OR-44441

	#!ROBOMERGE-SOURCE: CL 3659463 in //Orion/Release-43/... via CL 3661481 via CL 3661489 via CL 3661497
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3663014 on 2017/09/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Quick fix to remove a redundant copy of the PipelineStateInitializer (saves 16MB over a 10min game) incase we need to submit a build before the more extensive changes are ready.

	#!tests ran locally
	#!rb [at daniel.lamb] [at arne.schober]

	#!ROBOMERGE-SOURCE: CL 3658907 in //Orion/Release-43/... via CL 3661480 via CL 3661488 via CL 3661494
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3663004 on 2017/09/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed dev check for extra commandline args from /data to /temp0

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3658497 in //Orion/Release-43/... via CL 3661478 via CL 3661486 via CL 3661492
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3662999 on 2017/09/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - Fixed DateTime used for folders not being set

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3658390 in //Orion/Release-43/... via CL 3661477 via CL 3661485 via CL 3661491
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3662255 on 2017/09/25 by Sam.Zamani

	#!tencent
	- fix for link error due to missing define of static OnNetworkCheatDetected delegate

	#!rb none
	#!tests none

Change 3662073 on 2017/09/25 by Sam.Zamani

	#!tencent
	Added new global network delegates callback FNetworkCheatDetected for when cheating is detected on a server
	Possible options

	#!jira TEN-275 TSS detect and expose punish user callbacks

	KickClient - User should be booted from the current game session via disconnect
	KickMatch - User received info about being punished (eg. ban type etc)
	PunishInfo - User received info about being punished (eg. ban type etc)

	#!rb rob.cannaday
	#!tests none

Change 3659487 on 2017/09/22 by Josh.Markiewicz

	#!Orion - removed NUTFortnite* files because they have been moved into Fortnite specific plugin
	#!review-3659190 john.barrett, ryan.gerleve

Change 3659485 on 2017/09/22 by Josh.Markiewicz

	#!UE4 - removed OSSUtils dependencies from NUTUnrealEngine4 since the refactor moved dependencies into game specific plugins
	#!fyi john.barrett, ryan.gerleve

Change 3659184 on 2017/09/22 by Josh.Markiewicz

	#!UE4 - delete EpicSurvey module
	#!fyi justin.sargent, nick.darnell
	#!rb none

Change 3658697 on 2017/09/22 by Ryan.Gerleve

	Fixes for server-side Tencent anti-cheat library integration:
	-Fix DLL loading to properly call tss_sdk_load and use the correct paths on Linux as well as Windows
	-Add getter for the TssSdkAntiInterf object
	-Enable server anti-cheat in editor builds

	#!codereview sam.zamani
	#!rb none
	#!tests enabled Tencent OSS, built & ran server

Change 3658200 on 2017/09/22 by Graeme.Thornton

	Manual copy of CL 3587584 from Dev-Core

	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

	#!rb none
	#!tests been in Dev-Core and Main for a while now. Compile tests in Dev-General

Change 3657970 on 2017/09/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Trim() delegate hook to PipelineStateCache so accumulated memory is freed on a hard level transition.

	We've noticed this memory growing considerably overtime and while it may reach a ceiling eventually it was still increasing after 60m of Paragon. This should at least reset it upon the end of each game,

	[at marcus.wassmer,] [at arne.schober] #!rb none
	#!tests cycled 6-7 levels of Paragon

	#!ROBOMERGE-SOURCE: CL 3657965 in //Orion/Release-43/... via CL 3657967 via CL 3657968 via CL 3657969
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657914 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping: test and dev builds now check testkit's data drive for a commandline override. Not sure if this will work as-is, but shouldn't cause any harm if not and it needs to go into a pkg build for testing...

	#!tests stepped through in non-pkg build
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3657910 in //Orion/Release-43/... via CL 3657911 via CL 3657912 via CL 3657913
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657906 on 2017/09/21 by Andrew.Grant

	Improved some logging

	#!tests used locally
	#!rb none

Change 3657891 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Formalized idea of multiple test passes in Gauntlet. Current pass and total passes are provided to nodes incase they want to perform custom processing

	Fixed issue with -dev mode on PS4 not updating symbols

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3657887 in //Orion/Release-43/... via CL 3657888 via CL 3657889 via CL 3657890
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657867 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Re-locked network CL to 3652780

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3657221 in //Orion/Release-43/... via CL 3657359 via CL 3657366 via CL 3657374
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657857 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - Removing start up dialog that warns of non-optional instructions - OR-44444

	#!RB:arciel.rekman
	#!Tests:Compiled

	[CODEREVIEW] daniel.lamb, andrew.grant, arciel.rekman, benjamin.crocker, matthew.coleman, joe.graf

	#!ROBOMERGE-SOURCE: CL 3657058 in //Orion/Release-43/... via CL 3657355 via CL 3657364 via CL 3657370
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657852 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for case-insensitivity causing title.json not to be staged

	#!rb daniel.lamb, bob.tellez
	#!tests ran packaging script, verified contents match v42

	#!ROBOMERGE-SOURCE: CL 3657054 in //Orion/Release-43/... via CL 3657353 via CL 3657363 via CL 3657369
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657831 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - Removing popcnt version of CountBits to repair pre-Nehalem processors

	We can worry about a more permanent solution after we get this live.

	#!RB:none
	#!Tests: Compiled

	[CODEREVIEW] daniel.lamb, andrew.grant, ben.marsh, marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3656206 in //Orion/Release-43/... via CL 3657325 via CL 3657333 via CL 3657338
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657824 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[CODEREVIEW] andrew.grant, jason.bestimt, jeff.williams

	Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_ORION_Release_43_1/Engine/Binaries/Win64/UnrealCEFSubProcess.exe
	//ROBOMERGE_ORION_Release_43_1/Engine/Binaries/Win64/UnrealCEFSubProcess.pdb

	--------------------------------------
	Built new UnrealCEFSubprocess client
	Changed OrionBuild.xml to build the shipping version of the above.

	The first should definitely fix out store issue. It's not clear to me if the latter will because if this artifact was being staged I'd expect to see UnrealCEFSubProcess-Win64-Development etc be distributed and it's not. This suggests to me we just stage what's in P4 and not the result of this step, but further investigationds will be needed to vet this.

	[at justin.sargent,[at benjamin.crocker,[at wes.fudala]]]

	#!ROBOMERGE-SOURCE: CL 3656066 in //Orion/Release-43/... via CL 3657319 via CL 3657332 via CL 3657337
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3657488 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: anton.migulko
	LIGHTING AND assets update

	#!ROBOMERGE-SOURCE: CL 3656996 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3656388 on 2017/09/21 by Laurent.Delayen

	Added default GetAxisVector static function to EAxisOption

	#!rb none
	#!FYI thomas.sarkanen
	#!tests lane minions test map

Change 3656387 on 2017/09/21 by Laurent.Delayen

	Initialize FAnimInstanceProxy with default constructor.

	#!rb none
	#!fyi lina.halper, thomas.sarkanen
	#!tests lane minion test map

Change 3656003 on 2017/09/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked net version to 3650578 for patching

	benjamin.crocker
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3655998 in //Orion/Release-43/... via CL 3656000 via CL 3656001 via CL 3656002
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3654403 on 2017/09/20 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge DevCore -> Orion Release-43 CL 3641450
	UE4 - Switch PS4 over to atomics that issue a full memory barrier. UE4 assumes atomics have memory barriers.
	#!rb Daniel.Lamb
	#!test Compile
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3654399 in //Orion/Release-43/... via CL 3654400 via CL 3654401 via CL 3654402
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3654356 on 2017/09/20 by Andrew.Grant

	Merging 3653658 from Dev-Rendering

	#!tests compiled, ran editor
	#!rb marcus.wassmer

Change 3653914 on 2017/09/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to reprocess autosdks (installs debugger for CoreFileAPI access).

	#!rb none
	#!tests ran locally

	#!ROBOMERGE-SOURCE: CL 3653910 in //Orion/Release-43.1/... via CL 3653911 via CL 3653912
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3652495 on 2017/09/19 by Andrew.Grant

	Editgration of VR fix in 3643776 from Release-4.17

	#!tests #!rb na

Change 3652244 on 2017/09/19 by Sam.Zamani

	#!tencent
	Disable launcher checks if "-q" is on command line indicating QQ id when launched via TCLS launcher
	Added "-q" to whitelist of command line params for shipping builds
	Skip update URI routing to Epic Launcher for tencent builds since they use TCLS launcher

	#!rb rob.cannaday
	#!tests none

Change 3651493 on 2017/09/19 by buildmachine

	BuildPhysX.Automation: Deploying PhysX & APEX & NvCloth Linux_x86_64-unknown-linux-gnu libs.
	#!rb none
	#!lockdown Nick.Penwarden
	#!tests none

Change 3651490 on 2017/09/19 by buildmachine

	BuildPhysX.Automation: Deploying PhysX & APEX & NvCloth Linux_aarch64-unknown-linux-gnueabi libs.
	#!rb none
	#!lockdown Nick.Penwarden
	#!tests none

Change 3651489 on 2017/09/19 by buildmachine

	BuildPhysX.Automation: Deploying PhysX & APEX & NvCloth Linux_arm-unknown-linux-gnueabihf libs.
	#!rb none
	#!lockdown Nick.Penwarden
	#!tests none

Change 3651445 on 2017/09/19 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - Integrating CL 3651124 from Release-4.17 to remove -ffast-math flag

	#!RB:none
	#!Tests:none

	[CODEREVIEW] dmitry.rekman, daniel.lamb, andrew.grant

	#!ROBOMERGE-SOURCE: CL 3651441 in //Orion/Release-43/... via CL 3651443 via CL 3651444
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3651059 on 2017/09/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed code to archive load-order during tests

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3651056 in //Orion/Release-43/... via CL 3651057 via CL 3651058
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3651043 on 2017/09/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed error parsing from tests to put cause ahead of file info

	#!tests ran self-test
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3651034 in //Orion/Release-43/... via CL 3651041 via CL 3651042
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3649683 on 2017/09/18 by Andrew.Grant

	Bulk-merge of oustanding changes in Main to DG

	#!tests #!rb na

Change 3649345 on 2017/09/18 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Integrate fix for eidtor crash when switching between low and high scaleability options.
	#!rb Olaf.Piesche
	#!test Paragon editor

	#!ROBOMERGE-SOURCE: CL 3643174 in //Orion/Release-43/... via CL 3643214 via CL 3643240
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3649335 on 2017/09/18 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - OR-44257 - Fix for hair not working
	It is valuable to use the proper variable when doing Boolean logic :/  Cut-n-paste error from bit-packing conversion.

	#!RB:daniel.lamb
	#!Tests:Re-tested in cooked build

	[CODEREVIEW] daniel.lamb

	#!ROBOMERGE-SOURCE: CL 3643061 in //Orion/Release-43/... via CL 3643211 via CL 3643237
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3649231 on 2017/09/18 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - Bit packing skel mesh cache variable and then reverting sound cue changes to avoid collision with AaronM

	#!RB:none
	#!Tests:none

	[CODEREVIEW] daniel.lamb, aaron.mcleran, marc.audy

	#!ROBOMERGE-SOURCE: CL 3642166 in //Orion/Release-43/... via CL 3643199 via CL 3643231
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3649211 on 2017/09/18 by robomerge

	#!ROBOMERGE-AUTHOR: marcus.wassmer
	Fix 'lowest' shadow settings (simple forward rendering)
	#!rb arne.schober
	[FYI] Daniel.Wright
	#!tests monolith

	#!ROBOMERGE-SOURCE: CL 3642119 in //Orion/Release-43/... via CL 3643196 via CL 3643228
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3649141 on 2017/09/18 by Stephan.Jiang

	Tagging files that shouldn't be merged up to Main, upon next engine merge should accept source.

	  -- These are hacks for ability videos to work before we have the new Sequencer updates
	  -- CLs contain those hacks: 3649066, 3649049, 3648752, 3648748

	#!fyi Andrew.Grant, Max.Preussner
	#!rb none
	#!test compile

Change 3649087 on 2017/09/18 by Thomas.Ross

	Merging //UE4/Dev-Framework/ CL#!3646428 using //UE4/Dev-Framework_to_//Orion/Dev-General
	#!rb none
	#!tests none
	#!fyi Andrew.Grant,Jeff.Williams,dan.oconnor

Change 3649066 on 2017/09/18 by Max.Preussner

	WmfMedia: Fix for multiple media sessions being created when repeatedly opening media sources

	#!rb stephan.jiang
	#!rnx
	#!tests none

Change 3649049 on 2017/09/18 by Max.Preussner

	Media: Changed audio sample rate warning to verbose log

	#!fyi stephan.jiang
	#!rb none
	#!rnx
	#!tests none

Change 3648752 on 2017/09/18 by Max.Preussner

	WmfMedia: Fixed race condition in media sound wave

	#!rb none
	#!rnx
	#!tests none

Change 3648748 on 2017/09/18 by Max.Preussner

	WmfMedia: Hack for preventing flicker between media source switching

	Do not merge to Dev-Main!

	#!rb stephan.jiang
	#!rnx
	#!tests none

Change 3648596 on 2017/09/18 by Bart.Hawthorne

	More Oodle batch file fixes - cleaned up the changelist description and removed the changelist parameter since the branch parameter is enough.

Change 3648575 on 2017/09/18 by Sam.Zamani

	#!tencent
	Fix for missing library calls when initializing TSS anti cheat SDK

	#!rb none
	#!tests compiles win64 server

Change 3648556 on 2017/09/18 by Jeff.Williams

	Null Merging //Orion/Main to Dev-General (//Orion/Dev-General) @3642084

	Clearing up robomerge


	#!rb none
	#!tests none

Change 3648533 on 2017/09/18 by clayton.langford

	Unblocking RM.

	#!CodeReview: clayton.langford, jason.bestimt, andrew.grant, jeff.williams

	Unresolved conflicts. clayton.langford, please merge this change by hand.
	//ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Gauntlet.Automation.csproj

	--------------------------------------
	Backing out 3641723 for now due to nontrivial merge conflicts. Did not back out change to DefaultEditor.ini since this change is unrelated to the conflict and essential for existing tests to run properly.

	#!RB Adric.Worley
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3642084 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3648219 on 2017/09/18 by Sam.Zamani

	#!tencent
	fixed Tencent module thirdparty dll runtime dependency paths
	fixed DLLHandle not being set

	#!rb none
	#!tests none

Change 3647998 on 2017/09/18 by Clayton.Langford

	Reorganized CardFXTests to the appropriate location for this branch as part of the merge associated with 3645763.

	#!tests compiled
	#!rb Adric.Worley

Change 3647817 on 2017/09/18 by James.Golding

	Mirror fix from 4.18 release stream (CL 3647799) to Dev-General
	Fix out-of-bounds access of cloth mapping data during CPU skinning
	#!rb benn.gallagher
	#!jira UE-49628
	#!fyi benn.gallagher
	#!tests convert RiftMage to static mesh

Change 3647749 on 2017/09/18 by Benn.Gallagher

	Small change to windows memory intrinsics in PhysX to avoid VS compilation bug on windows causing restrict parameters to bleed the restrict into the calling scope.

	This caused matrix transposition to fail after the data was copied in using memcpy

	BuildPhysX.Automation: Deploying PhysX & APEX Win64 libs.
	#!rb none
	#!tests Editor reimport of clothing assets

Change 3646242 on 2017/09/15 by Tyler.Cole

	Revert shared engine LocalMCP scripts.

Change 3646153 on 2017/09/15 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - Caching off HasActiveClothingAssets for SkeletalMeshes and ShouldApplyInteriorVolumes for SoundCues in non editor builds

	#!RB:daniel.lamb
	#!Tests: Ran cooked Client

	[CODEREVIEW] daniel.lamb, Benn.Gallagher, lina.halper, marc.audy

	#!ROBOMERGE-SOURCE: CL 3641934 in //Orion/Release-43/... via CL 3641936 via CL 3641940
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3646125 on 2017/09/15 by robomerge

	#!ROBOMERGE-AUTHOR: arne.schober
	OR - Sorting Primitive Components to increase I-Cache utilization and to keep the branch prediction alive during initviews.
	#!RB Marcus.Wassmer
	#!tests automated performance tests

	#!ROBOMERGE-SOURCE: CL 3641873 in //Orion/Release-43/... via CL 3641882 via CL 3641886
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3645861 on 2017/09/15 by clayton.langford

	#!CodeReview: clayton.langford, jason.bestimt, andrew.grant, jeff.williams

	Still need to move OrionTest.CardFXTest.cs to the correct location and generate the proper includes in the GauntletExtra csproj file. Will do this in a separate CL as advised by JeffW.

	Unresolved conflicts. clayton.langford, please merge this change by hand.
	//ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Gauntlet.Automation.csproj

	--------------------------------------
	Adding more card types to the automated tests. We now support all cards with an active ability and valid target types. This brings us to a current total of 40 cards for now, but new cards that fit the criteria will automatically be included once they are added.

	To execute the tests, either run a gauntlet test for CardFXTests or enterthe following command from the frontend: Automation RunTests OrionPerf.Effects.Cards

	Known issues: The following cards do not properly confirm their abilities and so produce invalid results: StaticTrap, LampLighter, ProtectiveSentry, and AstralLeap. Disabling these cards is nontrivial as the tests are automatically generated.

	#!tests ran local client/server, preflighted
	#!rb Ben.Salem
	#!rnx
	[FYI] Sean.Tobin, Hunter.Kent, Edward.King

	#!ROBOMERGE-SOURCE: CL 3641723 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3644062 on 2017/09/14 by Aaron.McLeran

	#!jira OR-44171 Some looping sounds are extremely loud
	#!rb Ethan.Geller
	#!tests run paragon, run near water river, don't observe looping sound being very loud

Change 3643901 on 2017/09/14 by Laurent.Delayen

	Integrated CL #!3604725 to fix bug with opening state machines from anim graph.

	#!rb none
	#!tests fixes bug
	#!FYI lina.halper

Change 3643641 on 2017/09/14 by Rob.Cannaday

	Fix unreachable code detected
	#!rb rob.cannaday
	#!tests Win64 compile

Change 3643326 on 2017/09/14 by Sam.Zamani

	#!tencent
	- temp disabled TerSafe.dll loading until staging issues can be resolved

	#!rb none
	#!tests none

Change 3643039 on 2017/09/14 by Sam.Zamani

	#!tencent
	- temp disabled TSS on servers due to linux build issues

	#!rb none
	#!tests none

Change 3642438 on 2017/09/13 by Rob.Cannaday

	Handle new analytics param types (number, string, etc)
	Stub implementation of FAnalyticsProviderETTencent DefaultAttrs
	#!rb rob.cannaday
	#!tests Win64 vs AI match

Change 3641655 on 2017/09/13 by Sam.Zamani

	#!tencent
	WIP added tss_sdk.dll (server) and TerSafe.dll (client)

	JIRA TEN-262 StoryAnti-Cheat SDK - TerSafe.dll 3rd party module for client
	JIRA TEN-197 StoryTSS SDK 3rd party module for dedicated servers

	#!rb none
	#!tests PC run with RegionCN.pak enabling tencent mode

Change 3641559 on 2017/09/13 by Bart.Hawthorne

	Fix up oodle dictionary generation scripts

	#!rb none
	#!jira none

Change 3641550 on 2017/09/13 by robomerge

	#!ROBOMERGE-AUTHOR: john.nielson
	Added more temp logging in attempt to find OrionOR-43600: Master Bug: Some hero ability FXs are missing in v43

	#!rb: none
	#!test: Pie

	#!ROBOMERGE-SOURCE: CL 3641546 in //Orion/Release-43/... via CL 3641548 via CL 3641549
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3641393 on 2017/09/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	We'd lilke to start using this on PS4 but the cost is very high (link-times are 60-90m!) so it needs to be something that is enabled selectively on the farm. I think we're going to consider it analogous to "Arxan" where it's on by default for Nightly/Standard builds in Release branches, but can be flipped off for quick turnarounds and is off in dev.

	Currently LTCG/LTO on PS4 is driven purely by bEnableLTOPerfBuilds / bEnableLTODevBuilds project settings. This change allows it to be specified as a command line UBT argument, and also preps the ground for targets to specify their own PGO file which would be used when LTO is enabled

	- Changed UBT option from -NoLTCG to -LTCG (I didn't see how it's possible to turn this on, since the default is false and adding the option also turns it false)
	- Added PGOInput option to TargetRules and passed through to compile environment
	- Updated UEBuildPS4.cs to that bAllowLTCG=true overrides settings in the ini file about what targets to have LTCG on for
	- Updated PS4 toolchain to use both LTO and PGO depending on what was set

	#!tests soaked locally, preflighted
	#!rb codereviewed

	FWIW here are before/after results for LTCG.

	Orion Performance report from 3 games and 1441.51 seconds
	MVP:    2.83 (Min: 2.05, Max: 3.22)
	HPM:    4.29 (Min: 4.24, Max: 4.37)
	AvgH:   2.77ms (Min: 2.08ms, Max: 4.16ms)
	GT:     12.88ms (Min: 12.68ms, Max: 13.25ms)
	RT:     13.71ms (Min: 13.48ms, Max: 14.08ms)
	GPU:    14.39ms (Min: 14.21ms, Max: 14.50ms)

	Orion Performance report from 3 games and 1440.49 seconds
	MVP:    1.42 (Min: 1.02, Max: 1.94)
	HPM:    3.25 (Min: 2.75, Max: 3.62)
	AvgH:   2.08ms (Min: 2.08ms, Max: 2.08ms)
	GT:     11.93ms (Min: 11.64ms, Max: 12.47ms)
	RT:     12.80ms (Min: 12.54ms, Max: 13.24ms)
	GPU:    14.10ms (Min: 13.91ms, Max: 14.27ms)

	#!ROBOMERGE-SOURCE: CL 3641352 in //Orion/Release-43/... via CL 3641354 via CL 3641357
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3640885 on 2017/09/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Limited warning to once every 10 secs.

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3640377 in //Orion/Release-43/... via CL 3640380
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3640875 on 2017/09/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed shipping config issue

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3640328 in //Orion/Release-43/... via CL 3640362
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3640870 on 2017/09/13 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixing CIS builds #!Orion

	The builds were failing because InitAsyncThread is being run as part of UHT, which doesn't usually include -DebugFX parameter, and warnings reported by UHT during reflection code generation are treated as errors.

	[CODEREVIEW] John.Nielson
	#!rb none
	#!test compilation

	#!ROBOMERGE-SOURCE: CL 3640310 in //Orion/Release-43/... via CL 3640361
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3640783 on 2017/09/13 by robomerge

	#!ROBOMERGE-AUTHOR: john.nielson
	More temporary logging for finding the missing FX issue.

	#!rb: none
	#!Test: Pie

	#!ROBOMERGE-SOURCE: CL 3640089 in //Orion/Release-43/... via CL 3640352
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3639910 on 2017/09/12 by Rob.Cannaday

	Build fix for AnalyticsETTencent
	#!rb rob.cannaday
	#!tests compile Win64 DebugGame Editor

Change 3639565 on 2017/09/12 by Laurent.Delayen

	SkeletalMeshComponent::InitAnim doesn't call Update and Eval anymore, but instead initializes transforms with cheaper ref pose, and relies on regular ticking for updating the pose, so we can take advantage of visibility related optimizations. Also RecalcRequiredBones uses correct predicted LOD level instead of defaulting to 0.

	#!rb lina.halper
	#!FYI lina.halper
	#!tests minion test lane, dropping meshes in a level, testing masterpose component at runtime.

Change 3639228 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Tools - Added ability to postmortem a PS4 devkit for last crash

	#!rb run locally
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3639226 in //Orion/Release-43/... via CL 3639227
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3639075 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Specifically requesting 'all' configuration, to avoid missing manifest in jar.

	#!ROBOMERGE-SOURCE: CL 3639072 in //Orion/Release-43/... via CL 3639074
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3639022 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Remove dependency on the editor style set in the WidgetReflector
	- Fixes a crash when trying to use the reflector in a client cooked build
	- Also updated Focusable column name to shared var

	#!rb none
	#!tests Widget Reflected in a cooked build

	#!ROBOMERGE-SOURCE: CL 3639020 in //Orion/Release-43/... via CL 3639021
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3638984 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: john.nielson
	Added some more temp logging to get to the bottom of the missing FX issue.  OR-43600 : Master Bug: Some hero ability FXs are missing in v43

	#!rb: none
	#!test: Pie

	#!ROBOMERGE-SOURCE: CL 3638982 in //Orion/Release-43/... via CL 3638983
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3638696 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Swapped problematic ensure to LogError, made draft obey notimeouts.

	#!tests compiled
	#!rb none
	[at daniel.lamb]

	#!ROBOMERGE-SOURCE: CL 3638693 in //Orion/Release-43/... via CL 3638695
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3638644 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Third time's the charm

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3638620 in //Orion/Release-43/... via CL 3638636
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3638628 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed ensure in a PS4 friendly way

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3638550 in //Orion/Release-43/... via CL 3638551
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3638583 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed ensure to get a cook

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3638476 in //Orion/Release-43/... via CL 3638478
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3638545 on 2017/09/12 by Bart.Hawthorne

	Add analytics for oodle compression percentages

	#!rb ryan.gerleve, wes.hunt
	#!tests ran a 2 person game with dedicated server and verified analytics were reported
	#!jira OR-26386

Change 3638172 on 2017/09/12 by robomerge

	#!ROBOMERGE-AUTHOR: marcus.wassmer
	Duplicate 3620803
	Partial Fix for Dither Opacity Mask
	#!rb none
	#!tests PC monolith

	#!ROBOMERGE-SOURCE: CL 3637837 in //Orion/Release-43/... via CL 3637838
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3637643 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Fixing version stream to Main

	#!ROBOMERGE-SOURCE: CL 3637373 in //Orion/Release-43/... via CL 3637466
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3637524 on 2017/09/11 by Andrew.Grant

	Merging EngineTest and latest Gauntlet using //Orion/Dev-General/_To_//UE4/Orion-Stating

	#!tests build Win64 editor, ran tests locally
	#!rb none

Change 3637402 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet -  Restored logging of runoptions when not verbose

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3636838 in //Orion/Release-43/... via CL 3636840
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3637357 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Made 'none' test specify Attended

	#!rb Daniel.Lamb
	#!tests compiled

	#!ROBOMERGE-SOURCE: CL 3636811 in //Orion/Release-43/... via CL 3636812
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3637305 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: john.nielson
	Added temporary debug logging cmd line option for finding Jira OrionOR-43600

	#!RB: none
	#!Test: Pie
	[at David.Ratti]

	#!ROBOMERGE-SOURCE: CL 3636730 in //Orion/Release-43/... via CL 3636732
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3636549 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - Integrating CL 3633162 from Dev-Rendering to guard around potential issues

	#!RB:none
	#!Tests:none

	[CODEREVIEW] uriel.doyon

	#!ROBOMERGE-SOURCE: CL 3636541 in //Orion/Release-43/... via CL 3636542
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3636507 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	[OR-44013] & [OR-43780] - Hamstrung the old long-form rich text formatting functions to remove unsupported formatting immediately. Will be cleaning up API and usages in DG.

	Also:
	- Added distance formatting type for simple ability description values (will automatically append u to the value)
	- SimpleAbility description values can now go up to two decimal places

	Engine:
	- Modified FGameplayTag::ImportTextItem to account for redirects when establishing TagName

	#!rb Matt.Schembari
	#!tests PIE OrionEntry & FrontEndScene - various bug repros

	#!ROBOMERGE-SOURCE: CL 3636370 in //Orion/Release-43/... via CL 3636412
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3636372 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Implement fast particle pool memory.
	Default is 2mb, automatically cleans up oldest used pool slots.
	Estimated 1/4 time for STAT_PARTALLOC.
	#!rb Jason.Bestimt
	#!test paragon ps4 cooked

	#!ROBOMERGE-SOURCE: CL 3636045 in //Orion/Release-43/... via CL 3636048
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3636319 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue with fatal error message not being shown in reports.

	Fixed issue where some cancelled tests reported as succeeded

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3635951 in //Orion/Release-43/... via CL 3635955
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3636264 on 2017/09/11 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_43 - Integrating CL 3609090  && 3621546 from Dev-Rendering to help with Render Thread mip map streaming performance

	#!RB:none
	#!Tests: Ran client cooked build

	[CODEREVIEW] daniel.lamb, andrew.grant, Uriel.Doyon
	[QAREVIEW]

	#!ROBOMERGE-SOURCE: CL 3635817 in //Orion/Release-43/... via CL 3635819
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3635288 on 2017/09/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added CleanDevices command and task that runs nightly in Dev-Gen to remove old builds from devices
	Fixed missing - in SoloSmoke args that were causing trailing params to be lost

	#!tests preflighted, ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3635286 in //Orion/Release-43/... via CL 3635287
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3635145 on 2017/09/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to pick up SDK change for patch packages
	#!rb none
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3635143 in //Orion/Release-43/... via CL 3635144
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3635097 on 2017/09/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added cleardevices option to Gauntlet that removes all devices after running.

	Added to Orion build scripts

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3635090 in //Orion/Release-43/... via CL 3635091
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3634985 on 2017/09/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Cleaned up some logging around device failures

	Attempt to handle "Too Many Connections" error at a lower level

	Added removeall command to PS4DevkitUtil (not yet used)

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3634983 in //Orion/Release-43/... via CL 3634984
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3634897 on 2017/09/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Checking in change to timeouts to test theory

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3634895 in //Orion/Release-43/... via CL 3634896
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3634765 on 2017/09/08 by robomerge

	#!ROBOMERGE-AUTHOR: marcus.wassmer
	Scrape another .05ms out of GPU particle simulation.

	#!rb none
	#!tests ps4 monolith

	#!ROBOMERGE-SOURCE: CL 3634763 in //Orion/Release-43/... via CL 3634764
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3634422 on 2017/09/08 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for Gauntlet shutdown issue on builders
	Fix for BP editing crash from Dev-Framework

	#!tests ran locally
	#!rb none!

	#!ROBOMERGE-SOURCE: CL 3634313 in //Orion/Release-43/... via CL 3634314
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3634139 on 2017/09/08 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - provision devices on demand. Cuts down logging and reduces issue of kits having too many TM connections when tests on different branches are running

	#!tests ran locally with single and file-based devices
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3633919 in //Orion/Release-43/... via CL 3633921
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3633799 on 2017/09/08 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed crash when on Turrets, when changing their MeshUpdate mode to Montages only.

	#!rb none
	#!tests monolith02 turrets
	[CODEREVIEW] lina.halper

	#!ROBOMERGE-SOURCE: CL 3633600 in //Orion/Release-43/... via CL 3633601
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3633647 on 2017/09/08 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Possible fix for OR-43926 from Arne

	#!tests ran locally, observed no ensures or negative side-effects in UI or HUD
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3633278 in //Orion/Release-43/... via CL 3633281
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3633637 on 2017/09/08 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Upped timeout for editorbased tests
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3633271 in //Orion/Release-43/... via CL 3633274
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3632565 on 2017/09/08 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed some test code...
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3632563 in //Orion/Release-43/... via CL 3632564
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3632385 on 2017/09/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	More improvements to device handling.
	Specifically PS4 targets now force-kill other connection if they're not in use, and fixed an edge case where devices could be left in TM and cause problems.

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3632383 in //Orion/Release-43/... via CL 3632384
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3632177 on 2017/09/07 by robomerge

	#!ROBOMERGE-AUTHOR: thomas.ross
	Merging CL#!3631888 from //UE4/Dev-Framework to //Orion/Dev-Release-43
	#!rb none
	#!test local commandlet

	#!ROBOMERGE-SOURCE: CL 3632175 in //Orion/Release-43/... via CL 3632176
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3632131 on 2017/09/07 by robomerge

	#!ROBOMERGE-AUTHOR: marcus.wassmer
	Fix a bug with new local vector-field only project setting
	#!rb none
	#!tests ps4 monolith

	#!ROBOMERGE-SOURCE: CL 3632127 in //Orion/Release-43/... via CL 3632130
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3632034 on 2017/09/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where problem devices were reset each attempt

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3632029 in //Orion/Release-43/... via CL 3632032
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3631812 on 2017/09/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	More improvements to device management in Gauntlet

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3631602 in //Orion/Release-43/... via CL 3631604
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3631787 on 2017/09/07 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fix for OR-42922, reset TickRecords when doing 'OnlyTickMontagesWhenNotRendered' since the montage will appear to have jumped when regular ticking resumes.

	#!rb none
	[CODEREVIEW] martin.wilson
	#!test bot game

	#!ROBOMERGE-SOURCE: CL 3631532 in //Orion/Release-43/... via CL 3631536
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3631251 on 2017/09/07 by Andrew.Grant

	Additional device selection improvements

	#!tests #!rb na

Change 3630861 on 2017/09/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Imrpoved device selection to randomize pick order, exclude devices that failed on the last round, and provide more info as to the constraints of the pool

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3630857 in //Orion/Release-43/... via CL 3630858
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3630620 on 2017/09/07 by Laurent.Delayen

	RigidBody anim node: Maintain Bone Velocity transfers through LOD changes. Refactored bone velocity transfer to be queued one frame, while we let final animation pose through. Added support for transferring angular velocity. If update rate is less than 30FPS, break down update into several iterations (max 4). This is to support URO, which can update animations at 15 FPS for minions.

	#!rb Ori.Cohen
	#!codereview benn.gallagher
	#!tests lane minions test map

Change 3629990 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix for gpu hang on ps4.
	#!rb Marcus.Wassmer
	#!test Paragon cooked ps4
	#!jira OR-43835

	#!ROBOMERGE-SOURCE: CL 3629890 in //Orion/Release-43/... via CL 3629891
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629980 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Moved some missed code to FDebug::HasAsserted()

	#!tests na
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3629794 in //Orion/Release-43/... via CL 3629795
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629975 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: marcus.wassmer
	Project optimization to only support local vector fields.
	separate 'stat emitters' into 'stat emitters' and 'stat emittersrt' to separate gamethread cost from renderthread cost.
	#!rb olaf.piesche
	#!tests monolith ps4/pc

	#!ROBOMERGE-SOURCE: CL 3629782 in //Orion/Release-43/... via CL 3629783
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629917 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: marcus.wassmer
	Fix for sizebyspeed on ps4
	#!rb Simon.Tovey
	#!tests pc

	#!ROBOMERGE-SOURCE: CL 3629660 in //Orion/Release-43/... via CL 3629661
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629620 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Always get the rest result from nodes, this is where UnrealTestNode parses logs for errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3629618 in //Orion/Release-43/... via CL 3629619
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629554 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restored screenshot support to gauntlet (now driven externally)

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3629551 in //Orion/Release-43/... via CL 3629553
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629495 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: don.eubanks
	Stat panel will only show stat changes or improvements that come from Item sources (cards / gems)

	#!rb dan.hertzka
	#!tests Compile DebugGame Editor Win64 / Shipping Client PS4 / PIE
	[RN] Card Shop now only considers Attribute Point effects and Card effects when calculating the bonuses for stats on the stats panel.  No more giant HP/MP regen numbers when standing in base!

	#!ROBOMERGE-SOURCE: CL 3629334 in //Orion/Release-43/... via CL 3629337
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629468 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Replaced global access to bHasAsserted to FDebug::HasAsserted() and added FDebug::IsEnsuring()

	Changed GameThreadWaitForTask so it won't timeout if an ensure is ocurring on a different thread.

	#!tests ran locally
	#!rb none
	[at marcus.wassmer]

	#!ROBOMERGE-SOURCE: CL 3629246 in //Orion/Release-43/... via CL 3629296
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629410 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[CODEREVIEW] andrew.grant, jason.bestimt, jeff.williams

	Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_ORION_Main/Engine/Plugins/Runtime/PacketHandlers/CompressionComponents/Oodle/Source/ThirdParty/NotForLicensees/Oodle/Oodle.Build.cs

	--------------------------------------
	Fix for generating project files
	#!tests GPF
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3629088 in //Orion/Release-43/... via CL 3629174
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629369 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Ignore pak signing if fileopenorder is specified (temp? workaround for deadlock in Orion tests)

	#!rb none
	#!tests verified signing is disabled and game gets to main menu with -fileopenlog
	[at graeme.thornton]

	#!ROBOMERGE-SOURCE: CL 3628814 in //Orion/Release-43/... via CL 3628816
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3629254 on 2017/09/06 by Laurent.Delayen

	URO: ensure we don't skip more frames than desired when switching LODs.

	#!rb lina.halper
	#!codereview martin.wilson, benn.gallagher
	#!test lane minions test map

Change 3629191 on 2017/09/06 by Laurent.Delayen

	Added CopyAndAssign to BoneContainer. To help transfer Cached Poses through LOD transitions.

	#!rb lina.halper
	#!codereview martin.wilson
	#!test lane minions test map

Change 3629130 on 2017/09/06 by Laurent.Delayen

	AnimInstance: tweaked debug display of AnimSequences, and added DeltaTime to AnimInstance debug.

	#!rb none
	#!tests lane minion test map

Change 3628300 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed exception that could occur during tests if all devices were in use
	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3628298 in //Orion/Release-43/... via CL 3628299
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3627915 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Undoing Oodle check for the time being

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3627913 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3627875 on 2017/09/06 by Jason.Bestimt

	#!ORION_DG - Merge of CL#! 3626655 from Dev-Framework to fix assetimportdata loading (allowing for re-import of curve tables)

	#!RB:none
	#!Tests:none

	#!CodeReview: andrew.grant, alex.gillies, colin.fogle, benjamin.crocker
	#!ROBOMERGE: MAIN, 43

Change 3627694 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Improved warnings

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3627691 in //Orion/Release-43/... via CL 3627693
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3627642 on 2017/09/06 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	More logging for OR-43892 and OR-43779
	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3627640 in //Orion/Release-43/... via CL 3627641
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3627247 on 2017/09/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed check that turns out to be bogus

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3627245 in //Orion/Release-43/... via CL 3627246
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3627240 on 2017/09/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added compile-time check for presence of Oodle files to prevent future hard-to-debug-runtime-failures

	#!tests compiled OrionClient
	[at daniel.lamb] #!rb none

	#!ROBOMERGE-SOURCE: CL 3627237 in //Orion/Release-43/... via CL 3627239
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3627211 on 2017/09/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added ensure for OR-43777

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3627209 in //Orion/Release-43/... via CL 3627210
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3626839 on 2017/09/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added wait to PS4DevkitUtil before trying to postmortem crashdump

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3626833 in //Orion/Release-43/... via CL 3626837
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3626755 on 2017/09/05 by Rob.Cannaday

	Merge //Orion/Release-Tencent to //Orion/Dev-General
	Some features need to be re-implemented as noted by #!ifdef TODO_TENCENT
	TODO:  Figure out how to have OnlineSubsystemTencent be Enabled by default in OrionGame.uproject, some calls to IOnlineSubsystem::IsLoaded(TENCENT_SUBSYSTEM) will return true even though the OSS is disabled by config because the module itself is loaded
	#!rb sam.zamani
	#!lockdown andrew.grant
	#!tests Win64 vs AI match, QA smoke test
	#!fyi sam.zamani

Change 3626285 on 2017/09/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed BaseDir argument not being correctly applied in tests

	Added check for LowLevelFatalError to log parser. Don't consider RequestExit's clean if StaticShutdownAfterError was called

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3626280 in //Orion/Release-43/... via CL 3626284
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3626221 on 2017/09/05 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Queue OnRep_ReplicatedMovement for simulated proxy OrionChars for a single end of frame call. This is to address when clients can't keep up with server's send rate and end up processing multiple packets / actor bunches in a single frame. Rather than handling multiple bunches with movement updates and calling OnRep_ReplicatedMovement every time, this will call the OnRep once at the end of the frame.

	Can be toggled off via UOrionRuntimeOptions::bQueueSimulatedProxyOnRepMovement

	#!rb none
	#!tests verified OnRep_Movement doesn't show up in profiler when client running at < 60hz

	[at Laurent.Delayen] [FYI] [at Andrew.Grant]

	#!ROBOMERGE-SOURCE: CL 3626215 in //Orion/Release-43/... via CL 3626219
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3625925 on 2017/09/05 by Laurent.Delayen

	If using URO with bShouldUseLodMap and we're missing higher LOD numbers into our LOD Map, use highest available settings (below our current LOD number). Instead of defaulting to high quality (eval every frame), which is certainly not what we want.

	#!rb benn.gallagher
	#!codereview martin.wilson, lina.halper
	#!tests lane minion map

Change 3624051 on 2017/09/02 by Andrew.Grant

	Fixed issue with test params not being set.

	Went through OrionBuild.xml and added explicit configs arguments to tests where missing. Also set order of args to tests as "-platform -config" to improve readability.

	#!tests preflighted
	#!rb none
	#!review-3624052 @ben.salem

Change 3623907 on 2017/09/02 by Andrew.Grant

	Fixed usesyncedbuild option being broken in Gauntlet

	#!codereview @daniel.lamb
	#!tests compiled
	#!rb none

Change 3623906 on 2017/09/02 by David.Ratti

	Fix some issues where GameplayCues played on an OrionBaseActor wouldn't be properly translated for skin overrides

	#!rb none
	#!test future wukong pie

Change 3623766 on 2017/09/01 by Daniel.Wright

	[Copy] Volume materials on static meshes now voxelize the mesh's Object space bounding box
	#!rb none
	#!Tests PC QAGame

Change 3623518 on 2017/09/01 by Don.Eubanks

	Fix for Shipping Client PS4

	#!rb none
	#!tests Compile Shipping Client PS4
	#!fyi daniel.lamb andrew.grant

Change 3623515 on 2017/09/01 by Daniel.Wright

	[Copy] Volume materials applied to static meshes operate on the object's bounding sphere
	#!rb none
	#!TESTS QAGame PC

Change 3623503 on 2017/09/01 by Daniel.Wright

	[Copy] Fixed ObjectRadius in Volume domain materials
	#!rb none
	#!TESTS none

Change 3623102 on 2017/09/01 by Marcus.Wassmer

	Add GT (gamethread), AT (async task), RT (renderthread) to stuff in 'stat particles' to make things easier to understand
	#!rb none
	#!tests monolith on PS4
	#!fyi olaf.piesche,tim.elek

Change 3623096 on 2017/09/01 by Marcus.Wassmer

	checkslow -> check to find issues with ILC
	#!rb none
	#!tests ran monolith on ps4

Change 3622744 on 2017/09/01 by Laurent.Delayen

	RigidBody anim node: Added option 'bTransferBoneVelocities' to transfer bone velocities to simulation upon start, so ragdolls transition seamlessly from kinematic (animation) to simulation. (just linear velocity for now).
	Added 'bFreezeIncomingPoseOnStart' option to freeze incoming pose and stop ticking/evaluating rest of the AnimGraph. Also prevents animation animating non simulated bodies.
	Take gravity from movement component if present, to inherit custom gravity scaling.
	Use proper animation deltatime, rather than world deltatime, as that would cause the simulation to run in slow motion when URO was used.
	If LOD enables new bodies, they are now initialized during simulation.
	Only write transforms from simulated bodies. Stop considering children of simulated bodies, since SkelControl system handles that by default.
	Cached MeshBoneIndexToBodyIndex on initialization to avoid linear search during InitializeBoneTransforms, on LOD change.
	Added AnimStats for PreUpdate, Update and Eval.

	#!rb ori.cohen
	#!codereview ori.cohen, lina.halper, benn.ghallager
	#!tests lane minion test map

Change 3622743 on 2017/09/01 by Laurent.Delayen

	Added UpdateComponentPose_AnyThread and EvaluateComponentPose_AnyThread to AnimNode_SkeletalControlBase to allow overriding these in child classes.

	#!rb lina.halper
	#!tests lane minion test map

Change 3622742 on 2017/09/01 by Laurent.Delayen

	'showdebug animation' now shows current LOD, various counters to know if Update/Eval/Cachebones/Init was called. Also URO settings.
	Renamed DisplayDebugCustom to DisplayDebugInstance.

	#!rb lina.halper
	#!tests lane minion test map

Change 3622738 on 2017/09/01 by Laurent.Delayen

	Removed unused USkinnedMeshComponent::AnimUpdateRateSetParams

	#!rb lina.halper
	#!tests lane minion test map

Change 3622666 on 2017/09/01 by Jian.Ru

	Fix incorrect grouping when FHierarchicalStaticMeshSceneProxy::GetDynamicMeshElements
	#!jira UE-48972, OR-43455
	#!rb Chris.Bunner
	#!tests editor

Change 3622579 on 2017/09/01 by Andrew.Grant

	Fixed shutdown issues with some tests being detected as errors

	Simplied and cleanup some things in state management of tests.

	#!tests ShortSOloGame test locally
	#!rb none

Change 3622322 on 2017/09/01 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for OR-40366 from v43

	#!tests compiled
	#!rb Aaron.McLeran

	#!ROBOMERGE-SOURCE: CL 3620707 in //Orion/Release-42.4/... via CL 3621208 via CL 3622295
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3621054 on 2017/08/31 by Andrew.Grant

	Merging Gauntlet refactor from //Orion/Dev-General/_To_//UE4/Orion-Stating

	#!tests preflighted
	#!rb none

Change 3620755 on 2017/08/31 by Daniel.Lamb

	Added a pooling system for FDynamicSkelMeshObjectDataGPUSkin.  Doesn't add a lot of memory over head.  Cleans out every few allocations.
	#!rb Jason.Bestimt
	#!test Cooked paragon ps4

Change 3620541 on 2017/08/31 by Ben.Salem

	Tag all nightly gauntlet report emails with [NightlyAuto] for easier sorting.
	#!rb none
	#!tests compiled.

Change 3620443 on 2017/08/31 by Mieszko.Zielinski

	Extended EQSTestingPawn with an option to specify its nav agent properties to affect navigation-related EQS tests/features #!UE4

	#!rb none
	#!test golden path

Change 3620428 on 2017/08/31 by Aaron.McLeran

	#!jira OR-40366 Bringing fix from FN and Anim-Phys to Dev-General

	#!rb Ethan.Geller
	#!tests there is no internal repro. Rare crash online. Confirmed fixed in FN crash reports.

Change 3620411 on 2017/08/31 by Mieszko.Zielinski

	Fix to removal of simuli sources from the AISense_Sight #!UE4

	Made sure given source gets removed from ObservedTargets.

	#!rb none
	#!test golden path

Change 3620343 on 2017/08/31 by Ben.Salem

	Add hitch reporting into FX tests. Layout is definitely WIP but we want the data in those reports to iterate on.
	#!rb clayton.langford
	#!tests ran shallow and normal FX tests, generated hitches to display.

Change 3620050 on 2017/08/31 by Luke.Thatcher

	[ORION] [PS4] [^] Merging compile fix in UEBuildPS4.cs (CL 3619919) from //UE4/Dev-Console/... to //Orion/Dev-General/...
	 - USE_DEFRAG_ALLOCATOR was not always defined in all cases.

	#!rb Daniel.Lamb
	#!tests none

Change 3619836 on 2017/08/31 by Andrew.Grant

	Merging //UE4/Main @ 3613306 (largely 4.17 fixes and an update from rendering team)

	#!tests preflighted, ran locally
	#!rb none

Change 3618597 on 2017/08/30 by Dan.Hertzka

	Fixed Additive UI materials not being affected by the widget opacity
	- We needed to multiply the sampled color by the alpha of the vertex color

	Also added fade in anim for scoreboard when showing after the endgame cinematic

	#!rb Nick.Darnell
	#!tests Widget alpha affects additive materials

Change 3618441 on 2017/08/30 by Laurent.Delayen

	Added AnimInstance::DisplayDebugCustom, to display custom debug info before AnimGraph display.

	#!rb lina.halper
	#!tests lane minions

Change 3618404 on 2017/08/30 by Paul.Moore

	- Update to new MMS client API from Fortnite.
	- Add MMS API plugin.
	#!rb none
	#!tests matchmaking, v2 MMS matchmaking, draft lobby.
	#!lockdown andrew.grant

Change 3618167 on 2017/08/30 by Marcus.Wassmer

	Fix fog on PS4, also volume texture clears.
	#!rb luke.thatcher
	#!fyi Jordan.Walker
	#!tests ran monolith on ps4

Change 3617911 on 2017/08/30 by Andrew.Grant

	Fix for OR-43401, lighting remaining unbuilt

	#!tests ran cook, verified that lighting for bp components is now correctly found.
	#!rb marc.audy

Change 3617765 on 2017/08/30 by Andrew.Grant

	Fix for lighting always being unbuilt on some blueprints

	#!tests cooked data and verified BP components have the correct transform and receive cached lighting data
	#!rb marc.audy, bp-team

Change 3617757 on 2017/08/30 by Laurent.Delayen

	clang fix

	#!rb none
	#!tests none

Change 3617700 on 2017/08/30 by Laurent.Delayen

	Added PreEvalSkelControl_AnyThread to SkelControlBase, to allow capture of incoming pose before SkelControl is evaluated.

	#!rb lina.halper
	#!tests lane minions map

Change 3617695 on 2017/08/30 by Laurent.Delayen

	Added Empty() to FBaseCompactPose and FCSPose, to release allocated arrays.

	#!rb lina.halper
	#!tests test lane minions map

Change 3616757 on 2017/08/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for OR-43459 from Laurent

	#!tests na
	#!rb Lina.Halper, Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3615643 in //Orion/Release-42.3/... via CL 3615645 via CL 3615649
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3616745 on 2017/08/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked net version to 3609966 in anticipation of patch

	#!rb #!tests na

	#!ROBOMERGE-SOURCE: CL 3615584 in //Orion/Release-42.3/... via CL 3615592 via CL 3615597
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3616551 on 2017/08/29 by Daniel.Lamb

	Fix memory leak in paragon.
	#!rb Andrew.Grant
	#!test Paragon ps4

Change 3613700 on 2017/08/28 by Andrew.Grant

	Integrated r.Shadow.UnbuiltPreviewInGame support from Dev-Rendering (reduces cost of rendering unbuilt lighting). Set to off for Orion

	Renabled r.Cache.UpdatePrimsTaskEnabled

	#!tests ran locally
	#!rb none

Change 3613694 on 2017/08/28 by Andrew.Grant

	Added -teamsize argument to Orion none test.

	#!tests ran None test :)
	#!rb none

Change 3613638 on 2017/08/28 by Ben.Salem

	Hide threshold colors for Perf tests on Thread times when in development. Add hyperlinks to description videos for Shallow tests. Support for linking new videos on other tests is already in for when videos are created.
	#!rb clayton.langford
	#!tests Ran shallow and deep test for multiple characters.

Change 3612731 on 2017/08/28 by Chris.Bunner

	[DUPLICATE] CL 3572421 - Edge case in lazyobjptr assignment failing for landscape collision components which causes grass data to be flushed during cook.
	#!rb
	#!fyi Robert Manuszewski, Andrew.Grant, Daniel.Lamb
	#!tests Cooking/running simple scene with grass foliage
	#!jira UE-48698, OR-42612

Change 3612695 on 2017/08/28 by Andrew.Grant

	Added longtimeouts option that uses TimeoutMultiplierForUnoptimizedBuilds value for net connections to solve issue where nomcp can timeout due to non-async loading

	Moved Gauntlet-in-shipping determination to OrionClient.Target.cs so it can be enabled with other things.

	#!tests ran NoneTest with -nomcp
	#!rb none

Change 3612002 on 2017/08/27 by Andrew.Grant

	Fix for crash seen during nightly tests

	#!tests baseline perf didn't crast 3/3
	#!rb none

Change 3611980 on 2017/08/27 by Andrew.Grant

	PS4DevkitUtil post-mortem improvements to logging
	#!tests run ShortSoloGame
	#!rb none

Change 3611758 on 2017/08/26 by Andrew.Grant

	Fix for warning

	#!tests #!rb na

Change 3611737 on 2017/08/26 by Andrew.Grant

	Merging optimizations 3517039, 3545241, & 3545347 from Dev-Rendering

	3517039 -

	GitHub #!2655: Optimization for shadow map resolution selection for spot lights

	* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius

	Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly

	3545241 -

	Fixed spotlight whole scene shadows using a radius 2x too long

	3545347 -

	Fixed shadow occlusion culling broken by shadowmap caching change.  FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
	#!rb none
	#!tests compiled

Change 3611718 on 2017/08/26 by andrew.grant

	#!CodeReview: andrew.grant, jason.bestimt, jeff.williams

	Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Unreal/Gauntlet.UnrealLogParser.cs

	--------------------------------------
	Improved parsing of callstacks and errors in test logs
	Added unit test for error parsing

	#!tests ran locally, unit tests
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3611709 in //Orion/Release-42.3/... via CL 3611710 via CL 3611711
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3611704 on 2017/08/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Test fixes - addresses issue with memory report failing

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3611695 in //Orion/Release-42.3/... via CL 3611702 via CL 3611703
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3611683 on 2017/08/26 by Andrew.Grant

	Upgraded PS4 SDK to 4.508.111

	#!tests SoloGames locally
	#!rb none

Change 3611466 on 2017/08/25 by Andrew.Grant

	Changed none test to use monolith02 by default

	#!tests compiled
	#!rb none

Change 3611167 on 2017/08/25 by Laurent.Delayen

	Reset UpdateCounter in AnimProxy when initialized, to force an update if rendered without updated.

	#!rb none
	#!tests lane minions
	#!codereview martin.wilson

Change 3610850 on 2017/08/25 by dan.hertzka

	Unclog Robomerge

	#!rb none
	#!tests none

Change 3610325 on 2017/08/25 by Andrew.Grant

	Compile fix for PS4

	#!tests compiled
	#!rb none

Change 3610018 on 2017/08/25 by Laurent.Delayen

	UE-48827, OR-43346, OR-43345 Fix for SingleNodeInstances not getting ticked properly. Due to them not increasing UpdateCounter, and forcing a tick even if we're doing parallel ticking later.

	#!rb lina.halper
	#!tests venus ult on minion lane test map

Change 3609967 on 2017/08/25 by Daniel.Lamb

	Merging using //Fortnite/Main/->//Orion/Dev-General/
	Bringing across several changes to the texture streamer and budgets from fortnite so as to reduce our garlic memory pool slack for PS4.

	CL 3526904 [FORTNITE] [PS4] [!] Fix blurry textures in shipping.
	 - The texture streaming manager has additional logic in shipping builds which caused textures to never stream back in once they had streamed out.
	 - Added an extra flag to reset mip bias values when texture memory budget is increased.
	#!rb Uriel.Doyon
	#!jira FORT-45385
	#!jira FORT-47739

	CL 3505459 [FORTNITE] [PS4] [~] Memory savings for Fortnite on PS4.
	 - Disabled LLM. This was increasing the libc heap from 32MB to 100MB in builds with STATs enabled.
	 - Reduced Libc heap size from 32MB to 8MB. The game only uses 2-3 MB of this heap space, so additional memory is wasted.
	 - Removed "RESERVED_MEMORY_SIZE" allocation. This is just wasting 1 MB unnecessarily. There is already ~1.5 MB of unallocated direct memory due to alignment requirements of the garlic/onion heaps.
	#!jira FORT-45229
	#!rb Ben.Woodhouse


	CL 3564368
	LLM Changes

	Summary:
	LLM now has 3 stat pages, stat LLM for engine allocations, LLMPlatform for OS allocations and LLMOverhead.
	Changes where LLM hooks into the various allocation functions and pools.
	Added more LLM tracking scopes.
	Changed the way LLM gets its internal memory.
	Writing stats out to csv
	Fixed a few bugs with the tracker code

	Details:
	* re-enabled LLM by default in Dev builds for XB1 and PS4
	* Reduced overhead to 30MB when LLM is defined in but disabled (this will be removed in a future update)
	* track allocations made from the defrag pool (PS4)
	* track non-drfrag pool garlic allocations (PS4)
	* track allocations made from PS4 malloc
	* combined the RHI and Malloc trackers into the Default tracker
	* changed stat groups to LLM, LLMPlatform and LLMOverhead
	* OnLowLevelAlloc how takes a default tag to be used is no tag scope has been set
	* XMemAlloc now uses AllocationType if no LLM scope has been set
	* renamed VirtualMap to LLMMap
	* added global function pointers for LLMMap to use to allocate memory. Using malloc to allocate memory meant that we couldn't track that memory using LLM. LLM now uses the lowest level OS function depending on the platform. If the platform doesn't set these fiunction pointers LLM will be disabled.
	* support for tracking allocations that move in memory (for the PS4 defrag allocator)
	* support for tracking explicit memory without pausing the tracker
	* LLMCsvWriter for writing out the LLM stats periodically. Enable with -LLMCSV command line arg
	* fixed check in FNameToTag. It was checking the wrong value when verifying the name index
	* show a warning on screen if LLM has been enabled without debug memory enabled (on consoles)
	* fixed program size tracking
	* fixed bug with tag scopes being tracked in all trackers. This caused allocations to be counted in stats that were not shown in the tracker. The tracker is now passed in to the scope.
	* optimised FLLMScopedTag so that it only calls the singleton once when disabled (instead of 3 times)
	* fixed problem in the Pause feature. It now only pauses the specified tracker instead of all of them.
	* fixed compile error when LLM_ALLOW_ASSETS_TAGS is disabled
	* changed default alloc size for LLMMap to 16K
	* Added lots more LLM scopes renamed some of the existing ones
	* made FMemBlock::Allocators private and added accessor functions, which include LLM tracking.
	* fixed LLM alignment tracking in CustomVirtualAlloc
	* implemented LLM on XB1 so that it properly tracks D3D12Allocations
	* added tracking to allocations that come from FMemBlock (excluding the defrag heap alloc) and removed tracking from Growable allocator
	* tracking of render targets
	* fixed LLM pool total column value.

	#!rb luke.thatcher

	CL 3565905
	[ATHENA] [PS4] [^] Merging new PS4 memory system from //UE4/Dev-Console/... to //Fortnite/Dev-Athena/...

	3458941 - Initial submission of new PS4 memory allocator.
	3485054 - Finer grain scope locks. Prevents contention stalls between threads where possible.
	3498440 - Flexible and framebuffer memory fallbacks
	3515704 - Add stats to new PS4 memory system.

	UEBuildPS4.cpp changes reimplemented as edit. Cannot merge as Dev-Athena's copy is too old to merge properly.

	#!rb Ben.Woodhouse

	CL 3580934
	[FORTNITE] [PS4] [+] Support different garlic and onion heap sizes in the old memory system for base and neo.
	 - Neo has 512 MB more direct memory than a base kit.
	 - Increased the garlic heap size by 416 MB on Neo, and CPU heap by 96 MB.

	#!rb Marcus.Wassmer
	#!jira FORT-50206

	CL 3590180
	[FORTNITE] [PS4] [!] Allow fallback to MallocBinned2 when Libc mspace heaps are exhausted.
	 - Since FORCE_ANSI_ALLOCATOR is not defined, the Libc heap only had 8 MB.
	 - Platform and 3rd party libraries that make libc malloc/free calls could potentially crash OOM if we exhausted the pool.
	 - Now, when no memory is left in the mspace heaps, we call into the base allocator (MallocBinned2). This has the added benefit that we should get proper OOM crashes/logs if a libc allocation fails.

	#!jira FORT-49700
	#!rb Aaron.McLeran

	CL 3593920
	[FORTNITE] [PS4] [!] Fix 4 GB CPU memory limit in old PS4 memory system.
	 - Incorrect bitmask usage was truncating the available memory value to 32 bits.

	 - Also includes some minor refactoring to make parts more readable.
	 - Removed PS4_USE_FLEXIBLE_FIRST. Dead code that doesn't compile.

	#!rb Jonathan.Fitzpatrick
	#!jira FORT-50918

	CL 3597577
	[FORTNITE] [PS4] [~] Modified the way memory is allocated on Playstation to make more memory available to the CPU.
	 - Previously the amount of texture memory wasnÆt fixed due to the way the defrag memory is allocated on PS4. This meant we had to have a significant amount of slack.
	 - With the new configuration, we have a guaranteed texture memory pool, so the slack can be significantly smaller, meaning we can give more memory to the CPU, which is where most of our memory pressure is.

	#!rb Stewart.Lynch
	#!jira FORT-50825
	#!jira FORT-49688
	#!jira FORT-49695
	#!jira FORT-50054

	CL 3601951
	[FORTNITE] [PS4] [!] Fix memory stats in the old PS4 memory system
	 - Physical memory stat now includes garlic and onion allocations. CPU OOMs will result in "AvailablePhysical" being close to 0.
	 - Added garlic, onion and defrag stats to the platform memory stats struct.
	 - Added fixed pool sizes to platform memory stats.
	 - Modified the Fortnite heartbeat logging to include extra details of PS4 fixed sized pools.

	#!rb Stewart.Lynch
	#!jira FORT-52910


	#!test preflight with baseline performance memory report tests, local tests on neo
	#!rb Luke.Thatcher

Change 3608480 on 2017/08/24 by Uriel.Doyon

	Instanced static mesh lightmaps are now updated correctly after lighting scenario changes
	#!jira UE-48522
	#!tests Build lighting, loaded maps
	#!rb michel.dupuis

Change 3608407 on 2017/08/24 by Andrew.Grant

	Reintegrated ROlando's cloth optimizations

	#!tests #!rb none

Change 3608349 on 2017/08/24 by Rolando.Caloca

	O - Cloth vertex buffers no longer generate dummy vertices
	#!rb Lina.Halper
	#!fyi James.Golding
	#!tests Check obj list memory with multiple characters, tested animations

Change 3607815 on 2017/08/24 by Laurent.Delayen

	Fixed crash when displaying a two bone IK gizmo for a node that hadn't had a chance to evaluate or had a zero alpha.
	https://jira.it.epicgames.net/browse/OR-43186

	#!rb none
	#!tests Price hand two bone IK
	#!codereview lina.halper, thomas.sarkanen

Change 3607770 on 2017/08/24 by Andrew.Grant

	Fixed bug with peak memory being missing in BaselinePerf tests and time being wrong

	#!tests ran locally, updated parser test
	#!rb none

Change 3607546 on 2017/08/24 by Jian.Ru

	Add more control to chromatic aberration effect
	#!jira UE-47138
	#!rb Brian.Karis
	#!tests editor

Change 3607270 on 2017/08/24 by Andrew.Grant

	Mirroring 3605735  from FN to address bug with MIC deduplication

	#!tests compiled
	#!rb none

Change 3607082 on 2017/08/24 by Laurent.Delayen

	Moved up Paragon functionality to cycle between targets with PageUp and PageDown for 'showdebug' commands.
	List of targets is contextual (For example 'showdebug animation' will consider all visible actors with an AnimGraph).
	Current debug Target is highlighted in a green bounding box.
	Paragon now supports 'ShowDebugForReticleTargetToggle <class>' to have 'showdebug' for Actors aimed at by the player.
	Paragon maintains feature to track AbilitySystemComponents across Targets. But Cycling is restricted to visible actors.
	Target cycling in Paragon now works for all 'showdebug' tags, not just ASCs and Animation.

	#!rb dave.ratti
	#!tests lane minion test map, debugging individual minions
	#!codereview jon.lietz

Change 3606772 on 2017/08/24 by David.Ratti

	Spot edigrate CL 3606417 for accurate CurveTable memory tracking
	#!rb none
	#!tests none

[CL 3748735 by Andrew Grant in Main branch]
2017-11-09 18:22:55 -05:00
Marcus Wassmer
ede472db17 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113)
#lockdown Nick.Penwarden
#rb none
============================
  MAJOR FEATURES & CHANGES
============================

Change 3441680 by Uriel.Doyon

	Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
	New point light actors now configure the intensity in candelas by default.
	Replaced viewport exposure settings by an EV100 slider.
	Hidding the tone mapper in the show flag now still applies the exposure.
	Added a new AutoExposure method called EV100 which allows to specify :
	- MinEV100, MaxEV100
	- Calibration Constnat
	- Exposure Compensation
	#jira UE-42783

Change 3454934 by Chris.Bunner

	Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.

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 3636145 by Chris.Bunner

	Linux compile fix.

Change 3636198 by Chris.Bunner

	Include fix.

Change 3636225 by Daniel.Wright

	Removed spammy draw event

Change 3636397 by Daniel.Wright

	Visualize volumetric lightmaps uses 18% grey in lit mode

Change 3636398 by Daniel.Wright

	Translucency lighting modes work with Volumetric Lightmaps
	* The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher.
	* The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes
	* Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42
	* Volumetric Directional went from 104 up to 122

Change 3636604 by Chris.Bunner

	Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random".

Change 3637668 by Rolando.Caloca

	DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB
	- Fix missing indexing on intrinsic return type

Change 3638541 by Chris.Bunner

	Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters.

Change 3638798 by Mark.Satterthwaite

	Rebuilt hlslcc for Mac for Rolando's 3637668 changes.

Change 3638861 by Mark.Satterthwaite

	Missed making a log verbose in the Metal ring-buffer.

Change 3639482 by Rolando.Caloca

	DR - vk - Minor fixes

Change 3639909 by Michael.Lentine

	Add special case for struct needed to compile.
	Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a.

Change 3639916 by Michael.Lentine

	Spelling fix.

Change 3640053 by Mark.Satterthwaite

	Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts.

	Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases.

	Now only Intel Metal is broken and their problems run deeper.

	#jira UE-48881

Change 3640983 by Olaf.Piesche

	Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime.

	#jira UE-48799

Change 3641480 by Michael.Lentine

	Add min16float to FP16Math

Change 3642442 by Mark.Satterthwaite

	Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders.
	- Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects.
	- Uncompress the shader data for the native library system so that it actually works again.
	- Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus.

	#jira UE-49192

Change 3642919 by Chris.Bunner

	Reverted unintended changes to material static parameter set serialization.
	Bumped material version to force re-serialization.
	Fixed a few typos.

Change 3642923 by Richard.Wallis

	Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on.  Handle tab closed events to cancel the pixel inspector if window closed while running.

	#jira UE-46504

Change 3643296 by Michael.Lentine

	Convert all structures that aren't use globally to halfs.

Change 3643381 by Ryan.Brucks

	New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification.

Change 3643929 by Ben.Salem

	Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible.

	#tests Ran locally, changes validated by benj

Change 3644203 by Mark.Satterthwaite

	Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs.

Change 3644336 by Mark.Satterthwaite

	Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference....

Change 3644431 by Uriel.Doyon

	Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy).
	The default units value for newly placed point lights and spot lights is configured in the project settings.
	Spot lights configured in lumens have their whole luminous energy redirected toward the cone.
	This means that changing the outer cone angle, changes the spot light brightness.
	New exposure menu that uses an EV100 slider.
	New post process settings "camera" tab regrouping : ShutterSpeed, ISO,  Aperture and ExposureCompensation.
	Post process settings "auto exposure" tab renamed "exposure".
	The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab.
	The auto exposure method is renamed "Metering Mode"

	New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color.
	This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats.
	The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value.

Change 3645098 by Marcus.Wassmer

	Don't add meshes twice when in simpleforward

Change 3645551 by Daniel.Wright

	VolumetricScatteringIntensity is greyed out based on Mobility

Change 3645707 by Chris.Bunner

	Skip empty parameters when identifying invalid duplicates during material translation.

Change 3646225 by Uriel.Doyon

	Texture streaming support for particle sub-uv

Change 3646323 by Rolando.Caloca

	DR - vk - Fix bad update texture 2/3d parameters

Change 3646463 by Mark.Satterthwaite

	Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness.
	Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects.

Change 3646727 by Marcus.Wassmer

	fix linux and nonunity compiles

Change 3647777 by Rolando.Caloca

	DR - Mobile Vulkan optimization

Change 3647822 by Lauren.Ridge

	Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions

Change 3647918 by Chris.Bunner

	Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable.

Change 3648010 by Michael.Lentine

	Don't use min16float by default.

Change 3648015 by Michael.Lentine

	Add special case fixes for min16float as well as half on console.

Change 3648024 by Lauren.Ridge

	Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers

Change 3648127 by Lauren.Ridge

	Moving name getter functionality to FMaterialLayersFunctions

Change 3648265 by Lauren.Ridge

	Fixing loctext key

Change 3648293 by Rolando.Caloca

	DR - D3D12 fix

Change 3648326 by Rolando.Caloca

	DR - vk - Added subrectangle support when updating Texture2D and Texture3D

Change 3648522 by Rolando.Caloca

	DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat)

Change 3648612 by Rolando.Caloca

	DR - vk - Implement RHIMapStagingSurface

Change 3648673 by Rolando.Caloca

	DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes

Change 3648913 by Arne.Schober

	DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value.

Change 3649443 by Daniel.Wright

	Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes

Change 3650436 by Mark.Satterthwaite

	Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler.

	- Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>.
	- All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial.
	- Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices.
	- Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards.

Change 3650861 by Rolando.Caloca

	DR - vk - Fix warnings

Change 3651116 by Rolando.Caloca

	DR - vk - Support for compressed saved PSO cache

Change 3651321 by Rolando.Caloca

	DR - vk - Prep for load multiple PSO files

Change 3651337 by Chris.Bunner

	Editor-only default material fallback (hardcoded material).

	#jira UE-48404

Change 3651839 by Rolando.Caloca

	DR - vk - Integrate minor pipeline changes

Change 3652042 by Mark.Satterthwaite

	More work on mtlpp:
	- Selector class that caches IMP from SEL & Class.
	- Fixes to ns::Error.
	- Added test case application for testing denorm & float reinterpret-cast behaviour on Metal.

Change 3652370 by Uriel.Doyon

	New "stat StreamingOverview" giving high level metrics of texture usage.
	New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize".

Change 3653658 by Chris.Bunner

	Material vertex interpolator for sprite and gpu sprite particles.

Change 3653676 by Rolando.Caloca

	DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80%

Change 3653940 by Daniel.Wright

	Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData.  This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times.

Change 3653956 by Daniel.Wright

	Fixed leak of BatchVisibilityId's

Change 3653991 by Daniel.Wright

	Fixed missing include

Change 3654013 by Daniel.Wright

	Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default)

Change 3654018 by Daniel.Wright

	Remove unused SM4 reflection capture cubemap

Change 3654118 by Rolando.Caloca

	DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles

Change 3654339 by Chris.Bunner

	Temporarily disabed a material error whilst working with content teams to fix the introduced bugs.

Change 3654534 by Daniel.Wright

	Editor is only supported on Feature Level 5 platforms.  Added a message box and exit when SM4 is detected (d3d10, OpenGL 3).

Change 3654751 by Rolando.Caloca

	DR - vk - Add readback for RGB10A2; minor optimization

Change 3654940 by Rolando.Caloca

	DR - vk - Warning fix

Change 3655104 by Mark.Satterthwaite

	Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS.

Change 3655173 by Jian.Ru

	Render dithered material as masked if a stencil prepass is not used

	#jira UE-50064, UE-49537

Change 3655479 by Daniel.Wright

	Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting.

Change 3656341 by Richard.Wallis

	Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape).  This is not a fix for that but just a error log to catch the bad draw calls.

	#jira UE-48172

Change 3656844 by Rolando.Caloca

	DR - vk - Avoid microcode copy
	- Fix link error

Change 3656894 by Rolando.Caloca

	DR - vk - Enable api dump without needing validation enabled

Change 3656915 by Marcus.Wassmer

	Fix DX12 buffer lock for read

Change 3657166 by Rolando.Caloca

	DR - vk - Proper fix for api dump layer

Change 3657401 by Rolando.Caloca

	DR - vk - Linux compile fix

Change 3657607 by Rolando.Caloca

	DR - vk - Prep for changes

Change 3658722 by Chris.Bunner

	Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings).

	#jira UE-30086

Change 3659499 by Daniel.Wright

	Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category

Change 3659644 by Mark.Satterthwaite

	D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world.

	#jira  UE-48172

Change 3659831 by Rolando.Caloca

	DR - vk - Copy 3657927 (fixes for Mali)

Change 3661921 by Rolando.Caloca

	DR - vk - Minor log/info changes

Change 3661985 by Mark.Satterthwaite

	Change the Metal sampler filter translation to better match D3D.

Change 3662050 by Richard.Wallis

	Compile fix for Metal enums.

Change 3662062 by Rolando.Caloca

	DR - Copy from 3662060
	- OpenGL cloth fix

Change 3662100 by Mark.Satterthwaite

	Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm.

Change 3662253 by Daniel.Wright

	Reflection Captures support Lighting Scenarios without recapturing
	 * Reflection Captures are now part of the Map Build
	 * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message)
	 * Reflection Capture build data moved to the BuildData package
	 * Building lighting / reflection captures no longer dirties ULevels
	* Sky lights which capture the scene now work correctly with Lighting Scenarios
	* Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded)

Change 3663215 by Mark.Satterthwaite

	Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler.
	So far only macOS render-pipeline-states are supported currently.

Change 3663293 by Mark.Satterthwaite

	Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's.

Change 3663471 by Daniel.Wright

	Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh
	Fixed status updates during Reflection Capture Build
	Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully

Change 3664056 by Rolando.Caloca

	DR - Linux compile fix

Change 3664460 by Daniel.Wright

	Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load

Change 3664802 by Uriel.Doyon

	Fixed flash created by pre-exposure when the value changed dramatically between frames

Change 3664890 by Daniel.Wright

	Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs

Change 3665163 by Rolando.Caloca

	DR - Copy from 3665156
	- Gracefully fail when there are mem leaks exiting Vulkan

Change 3665629 by Daniel.Wright

	Only Surface domain materials cast shadows in Lightmass

Change 3665855 by Marcus.Wassmer

	PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0)

Change 3666707 by Guillaume.Abadie

	Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions.

Change 3667239 by Rolando.Caloca

	DR - Use hlslcc define for common issues

Change 3668108 by Brian.Karis

	Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well.

Change 3668157 by Mark.Satterthwaite

	In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent.

	These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI.

	The following HLSL 6 functions are implemented:
	WaveAllBitAnd
	WaveAllMax
	WaveAllMin
	WaveAllBitOr
	WaveAllBitXor
	WaveAllEqual
	WaveAllProduct
	WaveAllSum
	WaveAllTrue
	WaveAnyTrue
	WaveBallot
	WaveGetLaneCount
	WaveGetLaneIndex
	WaveOnce
	WavePrefixProduct
	WavePrefixSum
	WaveReadFirstLane
	WaveReadLaneAt

	The following can't be implemented in Metal as of Metal 2.0 AFAIK:
	WaveGetOrderedIndex
	WaveIsHelperLane
	GlobalOrderedCountIncrement
	QuadReadLaneAt
	QuadSwapX
	QuadSwapY

Change 3668260 by Olaf.Piesche

	Cache particle collision shaders regardless of simple forward state

	Missed this checkin

	#jira FORT-51307

Change 3669243 by Daniel.Wright

	Bumped shader version to propagate FReflectionCaptureData rename

Change 3669369 by Mark.Satterthwaite

	Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering)

	3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog.

	#jira UE-50293

	3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug.
	- On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers.
	- In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log.
	- Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation.

	#jira UE-50244

	3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself.
	#jira UE-50356

	3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work.

	#jira UE-50364

	3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect.
	#jira UE-50399

	3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems.
	#jira UE-50399

Change 3669912 by Mark.Satterthwaite

	Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes.

	Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781
	Fixed an extra ) being emitted during HLSL->Metal translation
	Added depthcube_array support per Mark's instructions

Change 3670308 by Mark.Satterthwaite

	Missing autorelease pool blocks in MetalTexture functions.

Change 3670989 by Mark.Satterthwaite

	Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane.

	Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here.

	#jira UE-50518

Change 3671014 by Mark.Satterthwaite

	Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean.

Change 3671575 by Rolando.Caloca

	DR - Copy 3668036
	Stop syncing CPU with GPU on Vulkan

Change 3671637 by Rolando.Caloca

	DR - Copy 3670937
	Fixes Vulkan editor outline

Change 3672309 by Mark.Satterthwaite

	Submitted on behalf of Richard Wallis:

	Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled.

	#jira UE-50134

Change 3672314 by Daniel.Wright

	User friendly message dialog for when a required key is missing from BaseLightmass.ini

Change 3672315 by Daniel.Wright

	Assert on load when a uniform buffer struct goes missing, instead of a crash on save

Change 3672476 by Chris.Bunner

	Removed duplicate material instance editor command binding that appeared in a task stream merge.

Change 3672626 by Mark.Satterthwaite

	Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here.

Change 3672643 by Mark.Satterthwaite

	iOS compilation fixes.

Change 3672728 by Daniel.Wright

	Fixed encoded HDR reflection captures

Change 3672753 by Jian.Ru

	Fix texture swimming
	#jira UE-49369

Change 3672815 by Daniel.Wright

	Tooltip for build button explaining why it might be disabled

Change 3673350 by Rolando.Caloca

	DR - vk - Do not reallocate memory every draw call

Change 3673501 by Rolando.Caloca

	DR - vk - Remove more reallocations

Change 3673505 by Rolando.Caloca

	DR - Remove global variable with semantic

Change 3673514 by Rolando.Caloca

	DR - vk - compile fix

Change 3675899 by Chris.Bunner

	Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform.

Change 3676843 by Arne.Schober

	DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop.

Change 3678269 by Daniel.Wright

	Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking

Change 3678543 by Daniel.Wright

	MapBuildData now tosses the unneeded reflection capture format on load.  Affects target platforms that require multiple formats at cook time.

Change 3679602 by Jian.Ru

	Fix up mesh decal shader complexity view mode
	#jira UE-50272

Change 3679959 by Chris.Bunner

	Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter.

	#jira UE-50712

Change 3679998 by Daniel.Wright

	Fixed crash when precomputing static visibility only

[CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
Chris Bunner
156d74fdd3 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3635055)
#lockdown Nick.Penwarden

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

Change 3503468 by Marcus.Wassmer

	Fix merge conflicts

Change 3537059 by Ben.Marsh

	Fixing case of iOS directories, pt1

Change 3537060 by Ben.Marsh

	Fixing case of iOS directories, pt2

Change 3608300 by Chris.Bunner

	Added post process material to preview compile cache set to allow post process volume preview scene improvements.

Change 3608302 by Chris.Bunner

	Fixed decal lifetime fading.

	#jira UE-48400

Change 3608303 by Chris.Bunner

	Updated default WritesAllPixels input to ignore dithering (as intended, was disabled due to isues at the time).
	Fixed material instances returning their local data when not overridden.

	#jira UE-48254

Change 3608455 by Mark.Satterthwaite

	Enabling WorldPositionOffset requires disabling fast-math on Metal because the manually specified FMA's are not respected if one or more arguments is a literal which then leads to very different compiler optimisation between the depth-only shader and the base-pass shader. This change will only affect the way Metal compiles shaders.

	#jira UE-47372

Change 3608462 by Rolando.Caloca

	DR - Cloth vertex buffers no longer generate dummy vertices
	Copy from 3608349 and 3608407

Change 3608491 by Rolando.Caloca

	DR - hlsl - Fix crash when type was not found

Change 3608513 by Rolando.Caloca

	DR - Default to real uniform buffers for Vulkan SM4 & SM5

Change 3608794 by Mark.Satterthwaite

	Implement SV_DepthLessEqual (maybe right?) for Metal - seems to work in the ParallaxOcclusionMapping test map.

	#jira UE-47614

Change 3608929 by Mark.Satterthwaite

	Fix ambiguous expression compile error.

Change 3608991 by Mark.Satterthwaite

	Fix a dumb bug when parsing the Metal compiler version that breaks Metal shader PCH generation on HFS+ volumes.

Change 3609090 by Uriel.Doyon

	StaticMeshComponent and LandscapeComponent now register AO material mask and sky occlusion texture in the texture streamer.
	Changing the current lighting scenario now triggers an update of the texture streamer, and a refresh of lighting data for instanced static meshes.
	Added an option to the "liststreamingtextures" named UNKOWNREF allowing to inspect texture without references in the texture streamer.
	BUILDMATERIALTEXTURESTREAMINGDATA now rebuild every shader in memory and mark for save those with different data.
	MipBias now behaves the same way in shipping than in other builds.
	Fixed texture resolution logic for editor tooltips and in game stats.

Change 3609659 by Richard.Wallis

	Remove Eye Adaption Pixel Shader Workaround for macOS 10.11 (El Cap) Nividia.
	#jira UE-48642

Change 3610552 by Mark.Satterthwaite

	Optimise the constant-propagation pass in hlslcc by using a hash-table to reduce the cost of looking up the existing constant assignment instructions. The get_assignment_entry drops from 25% of runtime to 2.2% of runtime on a 4.2Ghz Quad i7 2017 iMac.

Change 3610662 by Rolando.Caloca

	DR - hlsl - Fix for rwstructured buffer
	Fix for floats printed as ints

Change 3610830 by Michael.Lentine

	ByteAddressBuffer does not have a subtype.

Change 3610869 by Rolando.Caloca

	DR - hlsl - Fix disambiguation between 1.r and 1.0.r

Change 3610982 by Mark.Satterthwaite

	Use the correct code to dump Metal shader text for debugging at runtime.

Change 3610996 by Rolando.Caloca

	DR - hlsl - Actual fix for 0.r

Change 3611312 by Rolando.Caloca

	DR - Integrate: Improve performance of bokeh depth of field.
	* Fewer instances with more work (higher quad count) per instance.
	* Improves performance on RX 480 in the Infiltrator demo by 0.37 ms at 1080p and 0.50 ms at 1440p (average frame time over the beginning of the demo, including the hallway confrontation between the guard and the infiltrator, where heavy DOF is used).
	* Similar optimizations may be possible for other systems that perform similar "instanced draws of quads" (e.g. virtual texture page table updates, lens blur, and velocity scatter).

Change 3611345 by Mark.Satterthwaite

	Missed the hash-table destructor in previous change.

Change 3611372 by Rolando.Caloca

	DR - vk - New barrier/layout api

Change 3611445 by Mark.Satterthwaite

	Fix stupid bugs in MetalBackend's LoadRWBuffer helper function where the wrong type was being used - won't fix problems in the LinearTexture case though.

Change 3611686 by Mark.Satterthwaite

	Remove the sampler from the Metal Linear Texture SRV path as for reasons so far unknown it doesn?╟╓t work with the light grid culling.

	#jira UE-48881

Change 3611743 by Mark.Satterthwaite

	Implement early depth test for Metal - it is implemented such that manual specification of the SV_Depth* outputs will elide the early_fragment_test qualifier as Metal does not permit both at present.

Change 3611746 by Mark.Satterthwaite

	Use early fragment tests implicitly unless we perform a direct resource write or use discard - explicit depth writes always disable early fragment tests as Metal doesn?╟╓t allow both. This should better match D3D driver behaviour.

Change 3611756 by Mark.Satterthwaite

	Missed a header file in last commit.

Change 3611836 by Mark.Satterthwaite

	Fixed the use of Metal?╟╓s capture manager so that it doesn?╟╓t capture more frames than intended.

Change 3611843 by Mark.Satterthwaite

	Tidy up the handling of when to increment the frame count for the Metal capture manager.

Change 3612279 by Michael.Lentine

	Move FP16 Math to Public so that it can be included as part of platform which is where the other float/half defines happen.

Change 3612595 by Rolando.Caloca

	DR - hlslcc - Rebuilt with CL 3611345

Change 3612665 by Rolando.Caloca

	DR - Make cubemap mip barrier consistent with HZB mip barriers

Change 3612758 by Daniel.Wright

	FColor usage comment

Change 3612980 by Rolando.Caloca

	DR - hlsl - Do not overflow ints

Change 3613068 by Rolando.Caloca

	DR - vk - Initial fix for transition validation warnings

Change 3613115 by Daniel.Wright

	Volumetric lightmap voxels are now always cubes
	Bricks outside of any Lightmass Importance Volume will never be refined

Change 3613124 by zachary.wilson

	Enabling Eye-Adaptation in TM-ShaderModels.

Change 3613205 by Mark.Satterthwaite

	Fully disable linear textures in Metal - they simply aren't performant. Instead we'll have to use helper functions to dynamically type-cast appropriately within the shader. This is currently only configured for a handful of UAV types and will need to be extended.

Change 3613208 by Mark.Satterthwaite

	Add code to MetalBackend to promote half types to float for math operations to avoid compiler errors.

Change 3613354 by zachary.wilson

	Fixing up the Bloom_FFT map. Renaming to fit qa conventions, updating content and improving workflow.

Change 3613409 by Rolando.Caloca

	DR - vk - Layout as part of descriptor writes
	Some access flag warning fixes

Change 3613518 by Daniel.Wright

	Added 'Render Unbuilt Preview Shadows in game' rendering project setting and r.Shadow.UnbuiltPreviewInGame cvar

Change 3613610 by Daniel.Wright

	Volumetric lightmap visualization sphere size is now a fraction of the corresponding brick world size

Change 3613651 by Daniel.Wright

	[Copy] Fixed landscape in the Global Distance field on PS4.  Multiple updates to a vertex buffer using BUF_Dynamic cause a race condition on PS4 with no assert.
	Also added shrinking for GDistanceFieldUploadData which saved 15Mb.

Change 3613696 by Mark.Satterthwaite

	Add the Metal SRV format for Index buffers so that they can be properly type-cast inside the shader. Fixes recompute tangents with latest changes.

Change 3613697 by Rolando.Caloca

	DR - vk - Fix missing layout

Change 3613922 by Rolando.Caloca

	DR - vk - Some fixes for layout/transitions
	- Disable GSupportsDepthFetchDuringDepthTest on desktop as the deferred renderer is not copying the aux depth in the right spot and will be removed

Change 3614009 by Mark.Satterthwaite

	TPS Approved: Integrating the MIT-licensed mtlpp C++ Metal wrapper from Nikolay Aleksiev which will slowly replace previous Metal API wrappers in MetalRHI.

Change 3614015 by Mark.Satterthwaite

	Initial extensions to mtlpp:
	- Fixed over retention of alloc-init'd objects.
	- Added 10_13 & 11_0 availablity macros.
	- Started, but have not yet finished adding new Metal API function wrappers.

Change 3614909 by Rolando.Caloca

	DR - Fix static analysis

Change 3614916 by Michael.Lentine

	Add function to convert FP32 to FP16

Change 3614957 by Mark.Satterthwaite

	mtlpp declarations for macOS 10.13 & iOS 11 Metal features - no matching definitions yet.

Change 3614995 by Mark.Satterthwaite

	Revert all changes to project config's from Rhino that should not have come back to Dev-Rendering, keeping only the solitary change to Metal shader standard necessary for ShowdownDemo.

Change 3615035 by Rolando.Caloca

	DR - Generate mips using shader for HZB

Change 3615561 by Rolando.Caloca

	DR - Fix deprecation warning

Change 3615787 by Mark.Satterthwaite

	Only emit min. OS version specification into the Metal shader bytecode for macOS as we share shaders between iOS & tvOS and this option inhibts that.

	#jira UE-48919

Change 3616317 by Mark.Satterthwaite

	Make TonemapperConfBitmaskPC  the proper size so we dn't attempt to access uninitialized memory.

Change 3616357 by Mark.Satterthwaite

	And fix some compile errors...

Change 3616473 by Rolando.Caloca

	DR - Render pass api minor changes

Change 3616518 by Mark.Satterthwaite

	Fix a merge snafu where dead code was retained where it shouldn't be.

	#jira UE-48472

Change 3616706 by Rolando.Caloca

	DR - Vulkan fixes (integration from Vulkan working branch)
	- Fix for editor outline
	- Fix for profilegpu

Change 3616770 by Rolando.Caloca

	DR - vk - Mark GIsGPUCrashed on device lost

Change 3616993 by Daniel.Wright

	IndirectLightingCacheQuality respects VolumetricLightingMethod

Change 3616996 by Daniel.Wright

	Volumetric Lightmap show flag is respected by Volumetric Fog

Change 3616999 by Daniel.Wright

	Fixed ObjectRadius in Volume domain materials

Change 3617777 by Rolando.Caloca

	DR - Fix static analysis warning

Change 3617863 by Guillaume.Abadie

	PR #3875: Removed Duplicated "RHI" Module Dependency (Contributed by DavidNSilva)

	#jira UE-48159

Change 3618133 by Rolando.Caloca

	DR - vk - Set general layout for compute shader resources
	- Assume transitions to writable imply end render pass

Change 3618292 by Michael.Lentine

	Add support for Expressions, Jump Statments, and Structs.

Change 3618326 by Rolando.Caloca

	DR - vk - Fix transition flags

Change 3618408 by Daniel.Wright

	Lightmass skylight solver improvements
	* Lightmass uses a filtered cubemap to represent the skylight instead of a 3rd order Spherical Harmonic.  Directionality in shadowed areas is improved.  Mip level is chosen based on the ray differential for anti-aliasing.
	* Multiple skylight and emissive bounces are now supported with a radiosity solver, controlled by NumSkyLightingBounces in Lightmass WorldSettings.  More bounces results in longer build times, and the radiosity time is not distributable.
	* The mapping surface cache is now rasterized with supersampling, reduces incorrect darkness in corners
	* Combined direct lighting, photon irradiance, skylight radiosity and diffuse in the mapping surface cache so final gather rays only have to do one memory fetch, speeds up lighting builds by 7%.
	* Added support for Embree packet tracing although no solver algorithms use it yet

Change 3618413 by Daniel.Wright

	Swarm hands out the most expensive tasks in roughly a round robin ordering among distribution agents.  Lightmass processing of a single task is multithreaded, so ideally the most expensive tasks are evenly distributed among active agents.  This has the biggest impact in small scenes with 10's of high resolution lightmaps, and with a distribution farm.  Build time in one scene went from to 113s -> 47s.

Change 3618439 by Mark.Satterthwaite

	Fix the assert in hlslcc when we have saturate(int) and the shader language spec. supports a native saturate intrinsic.

Change 3618468 by Rolando.Caloca

	DR - vk - Fix copy to non render target surface

Change 3618696 by Daniel.Wright

	Worked around Lightmass crash callstacks not getting reported back to the editor

Change 3618779 by Mark.Satterthwaite

	mtlpp definitions for a few of the new calls & fixing the max. number of samplers it assumes.

Change 3618789 by Daniel.Wright

	Added missing file

Change 3618816 by Daniel.Wright

	Another missing file

Change 3618855 by Rolando.Caloca

	DR - vk - Show user debug markers when using dump layers
	- Remove old defines

Change 3618887 by Rolando.Caloca

	DR - Fix for missing transition to readable for blur widget. Was causing corruption on Vulkan.

Change 3618999 by Mark.Satterthwaite

	Definitions for Metal's new CaptureManager & CaptureScope classes.

Change 3619790 by Jian.Ru

	Add some debug info
	#jira UE-48710

Change 3619834 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3619952 by Rolando.Caloca

	DR - vk - Static analysis not smart enough...

Change 3620191 by Jian.Ru

	Revert 3584245 to prevent focus stealing
	#jira UE-49044

Change 3620402 by Mark.Satterthwaite

	Remaining Metal definitions for mtlpp.

Change 3620803 by Brian.Karis

	Removed faceting bug I introduced to Dither Opacity Mask. Removes the attempt to make opacity stack properly.

Change 3620904 by Michael.Lentine

	Change the order of static and const

Change 3620975 by Rolando.Caloca

	DR - Updated Vulkan headers to SDK 1.0.57.0

Change 3621026 by Rolando.Caloca

	DR - Remove unused type
	- Force recompile with new Vulkan headers

Change 3621070 by Rolando.Caloca

	DR - glslang - Fix pdb option

Change 3621157 by Arciel.Rekman

	Added files to cross-build glslang on Windows.

	(Edigrating //UE4/Main/...@3621127 to //UE4/Dev-Rendering/...)

Change 3621194 by Rolando.Caloca

	DR - glslang - Update to 1.0.57.0
	- Fix some tab/whitespace mismatch

Change 3621225 by Rolando.Caloca

	DR - Revert glslang (Back out changelist 3621194)

Change 3621254 by Mark.Satterthwaite

	Duplicate 3610656 and revert the incorrect merge from the Rhino task stream. Fixes EyeAdaptation on all clang platforms properly thanks to RCL.

Change 3621261 by Mark.Satterthwaite

	Trivial FMetalStateCache optimisations - won't help much but equally they shouldn't hurt.

Change 3621262 by Mark.Satterthwaite

	Correct the handling of MSAA target in Desktop Forward for iOS - now the problem is that iOS always creates an internal resolve target so which texture to bind depends on the shader parameter type. Not sure (yet) how best to solve that.

Change 3621263 by Mark.Satterthwaite

	Don't mandate Mobile Metal for projects that have Metal MRT enabled.

Change 3621301 by Rolando.Caloca

	DR - Unity build fix

Change 3621349 by Mark.Satterthwaite

	Fix a bug in MetalBackend that was omitting the depth-output variable from the hlslcc signature if the semantic was SV_DepthLessEqual rather than SV_Depth.

Change 3621546 by Uriel.Doyon

	Refactor of the texture 2D mip update logic to offload more work on the async thread.
	#jira UE-45332
	#jira UE-45789

Change 3622210 by Rolando.Caloca

	DR - Do not store DDC data if static mesh failed to build
	#jira UE-48358

Change 3622349 by Arciel.Rekman

	Better build script for Linux glslang and a bugfix.

	(Edigrating CL 3622235 from //UE4/Main/... to //UE4/Dev-Rendering/...)

Change 3622401 by Rolando.Caloca

	DR - vk - Integration
	- Support for r.Vulkan.ProfileCmdBuffers

Change 3622506 by Rolando.Caloca

	DR - vk - Back out changelist 3622401

Change 3622521 by Mark.Satterthwaite

	Support disabling V-Sync in MetalRHI on macOS 10.13+.

Change 3622910 by Rolando.Caloca

	DR - static analysis fix

Change 3622964 by Mark.Satterthwaite

	Fix generation of .metallib on local Macs and exclude .metallib files from the pak - they must always be loaded from disk.

	#jira UE-48193

Change 3622986 by Mark.Satterthwaite

	A couple more trivial optimisations to MetalRHI for iOS:
	- Metal page size is 4k but only buffers under 512 bytes should go through set*Bytes on iOS to balance CPU cost.
	- On iOS the minimum buffer size should therefore be 1k and on Mac 4k as nothing else makes much sense.
	- No need to rebind uniform buffers if to the same slot - it just wastes cycles.

Change 3623266 by Rolando.Caloca

	DR - Fix GL4 rendering

	#jira UE-49187

Change 3623377 by Daniel.Wright

	Volume materials applied to static meshes operate on the object's bounding sphere

Change 3623427 by Mark.Satterthwaite

	Fix MetalViewport compile errors on Xode 8.3.

	#jira UE-49231

Change 3623443 by Daniel.Wright

	Fixed out of bounds crash in lightmass

Change 3623751 by Daniel.Wright

	Volume materials on static meshes now voxelize the mesh's Object space bounding box

Change 3625142 by Guillaume.Abadie

	PR #2992: Fixing aspect ratio issue of SceneCapture2D rendering in "Ortho" camera mode (Contributed by monsieurgustav)


Change 3625983 by Jian.Ru

	Fix a LPV race condtion due to parallel RSM draw-call submission
	#jira UE-48247

Change 3626015 by Jian.Ru

	Small fix to 3625983

Change 3626294 by Michael.Trepka

	Copy of CL 3535792 and 3576637

	Added support for changing monitor's display mode on Mac in fullscreen mode. This greatly improves performance on Retina screens when playing in resolutions lower than native.

	Fixed a problem with incorrect viewport size being set in windowed fullscreen in some cases. Also, slightly improved screen fades for fullscreen mode transitions on Mac.

	#jira UE-48018

Change 3626532 by Marcus.Wassmer

	Fix divide by 0 crash when GPU timing frequency not available for whatever reason.

Change 3626548 by Ryan.Brucks

	KismetRenderingLibrary: Added EditorOnly function for creating static textures from Render Targets. Has options for Mip and Compression Settings

Change 3626874 by Mark.Satterthwaite

	Fix Metal 2.0 compilation.

Change 3626997 by Rolando.Caloca

	DR - vk - cis fix
	- Initial RGBA16 readback

Change 3627016 by Mark.Satterthwaite

	Workaround more of Metal's unfortunate tendency to re-associate float mul/add/sub operations - this time from Metal's own standard-library.

Change 3627040 by Brian.Karis

	Removed old rasterized deferred reflection env path.
	Removed reflection compute shader. Replaced with PS. Small perf gain.

Change 3627055 by Mark.Satterthwaite

	No MSAA support on Intel Metal or iOS Desktop Forward for the moment as neitehr work and I don't want to have lots of crashes out in the wild until we have a solution.

Change 3627057 by Mark.Satterthwaite

	Make SCW's directcompile not fall over with Metal when there are compilation errors.

Change 3627083 by Mark.Satterthwaite

	Invalidate Metal shaders so QA testing picks up the most recent changes.

Change 3627788 by Chris.Bunner

	[Duplicate, CL 3627751] - VisibleExpressions static switch value evaluation needs to handle reroute nodes rather than only verify first expression.

Change 3627834 by Rolando.Caloca

	DR - cis fix

Change 3627847 by Rolando.Caloca

	DR - 4th try to fix static analysis

Change 3627877 by Guillaume.Abadie

	Works arround a HLSLCC bug in a SimpleComposure project's material where x != x does not work for an unknown reason yet.

	#jira UE-48063

Change 3628035 by Marcus.Wassmer

	Duplicate 3620990
	Smarter scenecapture allocation behavior.

Change 3628204 by Daniel.Wright

	Fixed denormalization scale on one of the 2nd SH band of volumetric lightmaps

Change 3628217 by Mark.Satterthwaite

	Fix InfiltratorForward project defaults so that iOS will package.

Change 3628515 by Arne.Schober

	DR - [UE-49213] - Fix case where HZB was not generated for SSR and SSAO when Occlusion culling was disabled.
	#RB Marcus.Wassmer

Change 3628550 by Chris.Bunner

	Merge fixes.

Change 3628597 by Chris.Bunner

	Merge fixes.

Change 3628656 by Michael.Trepka

	One more workaround for a bug in StandardPlatformString.cpp. It doesn't handle %lf format correctly, parsing it as long double instead of ignoring the 'l' format sub-specifier.

Change 3628685 by Daniel.Wright

	CPU interpolation of Volumetric Lightmaps for the mobile renderer.  They use a scene cache based on interpolation position, since the precomputed lighting buffer for movable objects is recreated every frame.

Change 3629094 by Ryan.Brucks

	Fixes to RenderTargetCreateStaticTexture2DEditorOnly with additional error checks

	#RB none

Change 3629223 by Rolando.Caloca

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

Change 3629491 by Rolando.Caloca

	DR - Revert back to emulated uniform buffers on SM4/SM5

Change 3629663 by Daniel.Wright

	Fixed NaN when capsule shadow direction is derived from volumetric lightmap with completely black lighting

Change 3629664 by Daniel.Wright

	Don't render dynamic indirect occlusion from mesh distance fields when operating on a movable skylight, since DFAO fills that role

Change 3629708 by Rolando.Caloca

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

Change 3629770 by Mark.Satterthwaite

	Fix a mobile Metal shader compilation error when using the FMA workaround for "cross" which should only be applied if the min. Metal version is 1.2 (as FMA is not known to work prior to this).

Change 3629793 by Daniel.Wright

	Fixed VolumetricLightmapDetailCellSize not being respected in small levels, causing too much volumetric lightmap density and memory

Change 3629859 by Mark.Satterthwaite

	macOS 10.12 also had problems with MSAA in forward rendering - so only permit it to work on macOS 10.13 and above.

Change 3630790 by Mark.Satterthwaite

	Move RHISupportsMSAA so that the Metal related complications for when it is viable can be hidden within.

Change 3630990 by Rolando.Caloca

	DR - vk - Redid CL 3617437 (optimize number of Buffer Views, eg 165 to 58)

Change 3631071 by Mark.Satterthwaite

	Fix a small gotcha in a change from Dev-Mobile: for MetalRHI we need to explicitly configure the ShaderCacheContext for the immediate/device context after initialising the shader-cache.
	#jira UE-49431

Change 3631076 by Rolando.Caloca

	DR - vk - Redo 3617574, reduce number of render pass objects created

Change 3631250 by Mark.Satterthwaite

	Make another Metal warning a Verbose log instead as it isn't interesting unless you are me.

Change 3631911 by Chris.Bunner

	Back out changelist 3628035.

	#jira UE-49364, UE-49365

Change 3632041 by Mark.Satterthwaite

	Fix cloth rendering on Metal - some of the data in FClothVertex is uint but we load it from a float buffer. This could be due to a bug in Metal's as_type<uint4>() or it could be that Xcode 9's compiler is now finally enforcing Metal's official flush-to-zero-on-load semantics for denorms - it isn't immediately obvious.

	#jira UE-49439

Change 3632261 by Brian.Karis

	SM4 fallback for reflection captures.

Change 3632281 by Mark.Satterthwaite

	Fix an intermittent assert on startup when the AVFoundation movie player gets the QAGame TM-ShaderModels video ready to play prior to the rendering thread being back online when resizing the window. This is done by deferring the processing of AVFoundation events to the game-thread where it won't cause a threading violation.

Change 3632382 by Rolando.Caloca

	DR - vk - Fix clang warning

Change 3633338 by Chris.Bunner

	Static analysis/Linux compile fix.

	#jira UE-49502

Change 3633616 by Jian.Ru

	Force alpha to 0xff for functional UI screenshot tests
	#jira UE-48266

Change 3633818 by Daniel.Wright

	Better indirection texture clamping and asserts

Change 3634319 by Mark.Satterthwaite

	Stop FVolumetricLightmapDataLayer ::Discard which is invoked by the Editor RHI during texture-upload from chucking the backing data when in the Editor - because if we do that then cooking will serialise an empty array. This was only apparent on Mac because Metal always invokes Discard on BulkDataInterfaces and D3D11 never does.

	#jira UE-49381

Change 3634613 by Rolando.Caloca

	DR - Call discard on bulk data for textures

	#jira UE-49533

Change 3634654 by Mark.Satterthwaite

	Fixes for broken iOS builds:
	- Fix RHIGetShaderLanguageVersion returning the wrong version for iOS Metal if the Mac version had already been queried - this has been wrong for a long while.
	- Remove the precise:: qualifier for Metal's fma intrinsic - it isn't necessary and breaks on older OSes.

	#jira UE-49381

Change 3634820 by Mark.Satterthwaite

	Change the hash-function for the preprocessed HLSL source in FMetalShaderOutputCooker to reduce risk of hash-collisions. Fixes one cause of UE-49381 and reveals an underlying driver bug on iOS 9 with runtime-compiled text shaders *only*.

	#jira UE-49381

Change 3634821 by Mark.Satterthwaite

	Force Metal shaders only to recompile by incrementing the format version.

[CL 3635058 by Chris Bunner in Main branch]
2017-09-09 16:29:11 -04:00
Marcus Wassmer
0341e5d5c1 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden

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

Change 3441680 by Uriel.Doyon

	Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
	New point light actors now configure the intensity in candelas by default.
	Replaced viewport exposure settings by an EV100 slider.
	Hidding the tone mapper in the show flag now still applies the exposure.
	Added a new AutoExposure method called EV100 which allows to specify :
	- MinEV100, MaxEV100
	- Calibration Constnat
	- Exposure Compensation
	#jira UE-42783

Change 3454934 by Chris.Bunner

	Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.

Change 3512118 by Marc.Olano

	Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points

	Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing

Change 3512129 by Benjamin.Hyder

	Fixing up content in TM-SobolNoise

Change 3512151 by Rolando.Caloca

	DR - Fixed some layouts that were general
	- Added some extra dump information

Change 3512160 by Benjamin.Hyder

	Still Fixing TM-Sobol

Change 3512180 by Marc.Olano

	PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.

Change 3512261 by Michael.Lentine

	Move Subsurface to shared properties.

	Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.

	#jira UE-44405

Change 3512288 by Rolando.Caloca

	DR - Fix issue when recycling image handles

Change 3512338 by Michael.Lentine

	Fix precision if user enters a multiple of 90 degree rotation for transforms.

	This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.

	#jira UE-46137

Change 3512424 by Michael.Lentine

	Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.

	#jira UE-44315

Change 3512686 by Brian.Karis

	Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.

Change 3512696 by Brian.Karis

	Unrevert TAA. Fixed DOF NaN artifacts

Change 3512717 by Marcus.Wassmer

	PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)


Change 3513112 by Richard.Wallis

	Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform.  Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.

	Fix includes:
	- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
	- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
	- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.

	#jira UE-45657

Change 3513357 by Richard.Wallis

	Windows compile fix.

Change 3513375 by Guillaume.Abadie

	Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.

Change 3513685 by Richard.Hinckley

	#jira UEDOC-3822
	Fixing a comment that refers to a non-existent function, for documentation purposes.

Change 3513705 by Marc.Olano

	Updates to Sobol test levels in RenderTest project

Change 3513730 by Rolando.Caloca

	DR - Fix mip size copying resolve targets
	- Fix compute fence
	- Fix descriptor set texture layout
	- More dump info

Change 3513742 by Marc.Olano

	Texture-free numeric print for shader debugging

Change 3513777 by Daniel.Wright

	Handled edge case where no furthest samples are found in precomputed visibility

Change 3514852 by Rolando.Caloca

	DR - Fix -directcompile on SCW

Change 3515049 by Rolando.Caloca

	DR - hlslcc dump crash fix

Change 3515167 by Rolando.Caloca

	DR - hlslcc - Fix bogus string pointer
	- Allow reading from non-scalar UAVs

Change 3515745 by Rolando.Caloca

	DR - Linux compile fix

Change 3515862 by Rolando.Caloca

	DR - Remove old reference to CCT
	- Link with hlslcc debug libs on SCW debug config for easier debugging

Change 3516292 by Rolando.Caloca

	DR - glslang exe fixes

Change 3516568 by Rolando.Caloca

	DR - hlslcc - Copy fix for *Buffer as functionparameters

Change 3516659 by Marcus.Wassmer

	Fix some d3derrors with distance fields

Change 3516801 by Daniel.Wright

	Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built.  Any UObject reference that is to an asset can be NULL'ed by the editor.

Change 3516825 by Rolando.Caloca

	DR - Some initial fixes for structured buffers

Change 3516843 by Rolando.Caloca

	DR - Fix for Vulkan dist fields

Change 3516869 by Marcus.Wassmer

	Add format to the createrendertarget blueprint node

Change 3516957 by Daniel.Wright

	Fixed bUsesDistortion being editable

Change 3516965 by Daniel.Wright

	Still mark the distance field task completed, even if the static mesh has been deleted

Change 3517039 by Yujiang.Wang

	GitHub #2655: Optimization for shadow map resolution selection for spot lights

	* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius

	Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly

	#jira UE-33982

Change 3517069 by Yujiang.Wang

	Fix for ScissorRect settings in d3d11 being lost under certain scenarios

	* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
	* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
	* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does

	#jira UE-45465 UE-44760

Change 3517134 by Yujiang.Wang

	CIS fix

Change 3517662 by Rolando.Caloca

	DR - Execute upload Vulkan cmds on the RHI thread
	- Fix crash with structured buffer

Change 3517677 by Rolando.Caloca

	DR - Update/copy textures on RHI thread

Change 3517680 by Rolando.Caloca

	DR - Copy texture bulk data on rhi thread

Change 3517748 by Marcus.Wassmer

	temporary workaround for one class of GPU crashes

Change 3518832 by Rolando.Caloca

	DR - Copy & extend 3518077
	- Fix for movable skylight shader missing on simple forward (low lighting quality mode)

Change 3519973 by Richard.Wallis

	Jittering in Engine Menu Dropdown Options.  Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.

	#jira UE-46505

Change 3520849 by Uriel.Doyon

	Fixed issue with investigate texture command and dynamic component entries.

Change 3521064 by Guillaume.Abadie

	Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.

Change 3521834 by Rolando.Caloca

	DR - Fix decals on Vulkan

Change 3521892 by Rolando.Caloca

	DR - Fix Vulkan texture streaming

Change 3523181 by Rolando.Caloca

	DR - Copy from 3523176
	UE4.17 - Fix Vulkan scissor causing text to not clip

Change 3523534 by Yujiang.Wang

	UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU

	* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
	* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
	* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame

	#jira UE-46631

Change 3524552 by Yujiang.Wang

	Fix iteration number calculation of LongGPUTask

Change 3524975 by Joe.Graf

	Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
	Added SSE versions using _mm_popcnt_u64 for platforms that support it
	Added a SSE check to gracefully exit when missing the instruction and it was expected to be there

	#CodeReview: arciel.rekman, brian.karis

Change 3525306 by Daniel.Wright

	Fixed ensure from LPV

Change 3525346 by Rolando.Caloca

	DR - Fix linking issue

Change 3525459 by Daniel.Wright

	Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
	* Enabled by default on all maps, effective after a lighting build.  This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
	* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
	* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume.  Positions outside the importance volume get lit with the border texels.
	* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
	* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
	* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
	* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
	* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
	* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
	* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
	* New Visualization show flag for Volumetric Lightmap sample points
	* Level streaming of volume light data is not currently supported with this method

Change 3525461 by Daniel.Wright

	Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out.  This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).

Change 3526459 by Rolando.Caloca

	DR - Fix validation error

Change 3526474 by Rolando.Caloca

	DR - Integrate from GV

Change 3526487 by Daniel.Wright

	Disabled Volumetric Lightmap filtering with neighbors due to artifacts
	Fix linux compile errors

Change 3526833 by Rolando.Caloca

	DR - Workaround for hlslcc

Change 3526991 by Uriel.Doyon

	Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.

Change 3527574 by Rolando.Caloca

	DR - Added some missing resource entries for SCW direct mode

Change 3527625 by Rolando.Caloca

	DR - Copy from 3527113
	UE4.17 - Fix Vulkan not calling Present

Change 3528461 by Brian.Karis

	Support larger hash sizes. Added uint list hashing function.

Change 3528780 by Rolando.Caloca

	DR - Default Vulkan resources

Change 3528818 by Rolando.Caloca

	DR - glslang - Added missing accessor

Change 3528839 by Rolando.Caloca

	DR - Fix virtual path issue when using non-engine relative absolute paths

Change 3528900 by Daniel.Wright

	Fixed variable shadowing

Change 3529039 by Rolando.Caloca

	DR - Read Spirv reflection data (not used yet)

Change 3529040 by Joe.Graf

	Fixed the 32bit compile failures for the popcnt optimization

	#CodeReview: arciel.rekman

Change 3529060 by Rolando.Caloca

	DR - hlslcc - New flag for keeping resource names

Change 3529344 by Rolando.Caloca

	DR - Delete unused file

Change 3529723 by Brian.Karis

	Fixed static analysis cleaner.

Change 3531357 by Michael.Trepka

	Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.

Change 3531517 by Joe.Graf

	Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc

	#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca

Change 3531626 by Joe.Graf

	Mac version of the popcount optimization
	Changed Linux version to use the same builtin

	#CodeReview: mark.satterthwaite, arciel.rekman

Change 3531837 by Chris.Bunner

	SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.

	#jra UE-46753

Change 3533415 by Joe.Graf

	Renamed the SSSE3 checks per feedback

	#CodeReview: arciel.rekman

Change 3533480 by Michael.Lentine

	Use more accurate descriptions for shader recompile options

Change 3533511 by Joe.Graf

	Updated the GenericPlatformMisc to match the SSSE3 name change

	#CodeReview: arciel.rekman

Change 3533521 by Marcus.Wassmer

	Fix scenerenderer leak when updating out of view planar reflections

Change 3533528 by Joe.Graf

	Updated comments

	#CodeReview: n/a

Change 3533608 by Mark.Satterthwaite

	New manual Xcode project for glslang so that we include all the necessary code and can link again.

Change 3534260 by Mark.Satterthwaite

	Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.

Change 3535789 by Yujiang.Wang

	Fix for wrong hair shading in forward shading

	* IBL reflections should be turned off for hairs

Change 3537059 by Ben.Marsh

	Fixing case of iOS directories, pt1

Change 3537060 by Ben.Marsh

	Fixing case of iOS directories, pt2

Change 3538297 by Michael.Lentine

	Add shader comparison test.

	Adding the basic test case.
	Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
	Adding more exported functionality to automation for use in the shader test.

Change 3538309 by Michael.Lentine

	Add missing file from Shader Test CL.

Change 3538751 by Michael.Lentine

	Add missing pragma once.

Change 3539236 by Michael.Lentine

	Do not ignore return values.

Change 3539237 by Michael.Lentine

	Check in the correct file

Change 3540343 by Rolando.Caloca

	DR - Added t.DumpHitches.AllThreads

Change 3540661 by Yujiang.Wang

	Fix spot tube light direction

	* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
	* A new LightTangent is added to FDeferredLightData
	* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere

Change 3541129 by Rolando.Caloca

	DR - vk - Copy all Vulkan fixes from 4.17

Change 3541347 by Yujiang.Wang

	Fix wrong ViewFlags being set between objects when rendering shadow depth maps

	* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
	* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call

Change 3542603 by Rolando.Caloca

	DR - vk - Allow sharing samplers on Vulkan

Change 3542639 by Jian.Ru

	Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
	#RB Marcus.Wassmer

Change 3543167 by Michael.Lentine

	Fix naming for the shader comparison tests.

Change 3543210 by Uriel.Doyon

	Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
	In that case, we used the default settings for texture streaming (assuming a scale of 1).

Change 3543221 by Brian.Karis

	Simplifier optimizations

Change 3543239 by Arciel.Rekman

	hlslcc: remove FCustomStd* workarounds.

	- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
	- The same problem has been resolved by bundling libc++.

Change 3543946 by Michael.Lentine

	Add comparison output.

Change 3544277 by Brian.Karis

	Fixed uninitialized var error

Change 3544404 by Rolando.Caloca

	DR - Fix broken textures

Change 3544503 by Jian.Ru

	Ensure lighting failure delegates are always called
	#RB Marcus.Wassmer,Daniel.Wright
	#3689

Change 3545241 by Daniel.Wright

	Fixed spotlight whole scene shadows using a radius 2x too long

Change 3545347 by Daniel.Wright

	Fixed shadow occlusion culling broken by shadowmap caching change.  FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.

Change 3546196 by Marcus.Wassmer

	Fix minor typo

Change 3546459 by Daniel.Wright

	ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.

Change 3546469 by Jian.Ru

	Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation

Change 3546804 by Daniel.Wright

	[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events

Change 3546814 by Daniel.Wright

	[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows

Change 3546815 by Daniel.Wright

	[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation

Change 3546817 by Daniel.Wright

	[Copy] Warmup time warning

Change 3546828 by Daniel.Wright

	[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch

Change 3546836 by Daniel.Wright

	[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data

Change 3546849 by Rolando.Caloca

	DR - vk - Fix missing samplerstates
	- Fixes for structured buffers
	- Add missing Draw and Dispatch Indirect

Change 3547516 by Brian.Karis

	Linear time 5-coloring for planar graphs.

	Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.

Change 3547542 by Brian.Karis

	Linear time 5-coloring for planar graphs.

	Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.

Change 3547563 by Brian.Karis

	Fixed some compiler warnings and hopefully some errors.

Change 3547610 by Brian.Karis

	Replaced macros with inlined functions

Change 3547620 by Brian.Karis

	Clean up includes

Change 3547770 by Marcus.Wassmer

	GPU Crash for MTBF analytics

Change 3547773 by Marcus.Wassmer

	Updated doxygen comment for new analytic

Change 3548244 by Rolando.Caloca

	DR - Fix for translucency

Change 3548352 by Yujiang.Wang

	Added soft source radius for point and spot lights

	* Soft source radius controls how 'blurry' the shape of specular lighting looks
	* Implemented by LobeRoughness modification
	* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
	* Suppoted LightTangent in forward shading

Change 3548530 by Brian.Karis

	Fix for mac build

Change 3548770 by Rolando.Caloca

	DR - vk - Prereq work for Vulkan parallel RHI contexts

Change 3548772 by Jian.Ru

	Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer

Change 3548865 by Daniel.Wright

	With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query.  Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.

Change 3548952 by Rolando.Caloca

	DR - Allow separate samplers in the shaders on Vulkan

Change 3549197 by Marcus.Wassmer

	Fix DX12 PIx not working in cooked builds

Change 3549209 by Daniel.Wright

	Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'.  Disabled by default as rapid view changes don't work well with latent occlusion queries.

Change 3549943 by Ben.Marsh

	Include better diagnostic information when a modified build product is detected after running a build step.

Change 3550546 by Rolando.Caloca

	DR - Fix merge issue

Change 3550962 by Marcus.Wassmer

	EarlyZ Masking requires full depth prepass, so just force it to.

Change 3551062 by Daniel.Wright

	Handle NULL skylight

Change 3551104 by Rolando.Caloca

	DR - vk - Remove assert to match other platforms

Change 3551221 by Rolando.Caloca

	DR - vk - Add mirror clamp to edge extension
	- Fix framebuffer deletion

Change 3551224 by Daniel.Wright

	Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.

Change 3551495 by Rolando.Caloca

	DR - vk - Intiial support for async queue

Change 3552101 by Rolando.Caloca

	DR - vk - Fix for async

Change 3552102 by Rolando.Caloca

	DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
	- Integrate changes from 4.17 for memory optimizations

Change 3552104 by Rolando.Caloca

	DR - vk - Support for SRVs for index buffers

Change 3552838 by Rolando.Caloca

	DR - vk - Enable debug markers if found

Change 3553106 by Rolando.Caloca

	DR - vk - Fixes for index buffer SRVs

Change 3553107 by Rolando.Caloca

	DR - vk - Enable recompute tangents on Vulkan

Change 3553154 by Rolando.Caloca

	DR - vk - Fix crash with null uav

Change 3553342 by Yujiang.Wang

	Fix redundant skylights in AdvancedPreviewScene

	* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
	* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene

Change 3553481 by Rolando.Caloca

	DR - Integrate fix for D3D12 support of index buffers SRVs

	#jira UE-47674

Change 3553715 by Rolando.Caloca

	DR - Fix crash when launching PC with -featureleveles31

Change 3553725 by Rolando.Caloca

	DR - Redo fix

Change 3553803 by Rolando.Caloca

	DR - Shader compile fixes for ES3.1

Change 3553963 by Rolando.Caloca

	DR - vk - Remove extra IRDump

Change 3554741 by Ben.Marsh

	CIS fix.

Change 3555222 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3555362 by Rolando.Caloca

	DR - vk - Prep work for separate present queue

Change 3556800 by Daniel.Wright

	Fixed screenshot for simple volume material doc

Change 3556942 by Brian.Karis

	Fixed Bokeh DOF regression.

Change 3556959 by Rolando.Caloca

	DR - vk - Rework staging buffer peak usage

Change 3557497 by Daniel.Wright

	Better display name for Unbound property on post process volume

Change 3557499 by Daniel.Wright

	Disable r.GenerateLandscapeGIData by default, opt-in for kite demo.  Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.

Change 3557068 by Olaf.Piesche

	Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2),  so additional quality levels can be added and scaling customized further.
	IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.

	#tests QAGame test maps

Change 3558123 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3558685 by Yujiang.Wang

	Github #3323: Two sided foliage lightmap directionality fix

	* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
	* Now it uses a constant directionality value

	#jira UE-42523

Change 3559052 by Brian.Karis

	Hopefully fix static analysis

Change 3559113 by Rolando.Caloca

	DR - Fix crash witrh planar reflections

Change 3559275 by Yujiang.Wang

	Fix race condition on several scalability CVars between rendering thread and game thread

Change 3559612 by Rolando.Caloca

	DR - vk - SM5 with uniform buffers backend support

Change 3559716 by Rolando.Caloca

	DR - hlslcc - Fix linker warning on SCW debug

Change 3559768 by Rolando.Caloca

	DR - vk - Keep ub names for bindings

Change 3560195 by Rolando.Caloca

	DR - accessor

Change 3560275 by Rolando.Caloca

	DR - vk - Support for uniform buffers

Change 3560913 by Rolando.Caloca

	DR - vk - Fix static analysis

Change 3561145 by Rolando.Caloca

	DR - Don't crash if out of resource table bits

Change 3561194 by Rolando.Caloca

	DR - vk - Integrate timestamp fixes

Change 3562009 by Rolando.Caloca

	DR - vk - Workaround for bad UTexture data

Change 3563884 by Chris.Bunner

	VK_NULL_HANDLE fix.

Change 3563885 by Jian.Ru

	Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner

Change 3565943 by Jian.Ru

	Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner

Change 3569479 by Michael.Lentine

	Integrate rhino shader changes to dev-rendering

Change 3569511 by Michael.Lentine

	Fix formating and string out on windows.

Change 3569572 by Yujiang.Wang

	Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs

Change 3569614 by Yujiang.Wang

	Flush rendering commands before measuring the long GPU task's excution time to get accurate results

Change 3570524 by Jian.Ru

	Add extra parentheses to avoid compilation warning #rb Chris.Bunner

Change 3570722 by Chris.Bunner

	Static analysis workaround - same code, just validating compile-time assumptions a little further.

Change 3570880 by Jian.Ru

	Add small depth offset to avoid depth test failing during velocity pass

	#jira UE-37556

Change 3572532 by Jian.Ru

	Disable a warning to let tests pass

	#jira UE-48021

Change 3573109 by Michael.Lentine

	Checkin Michael.Trepka's fix for external dynamic libraries on mac.
	This is needed to make the build go green on mac.

Change 3573995 by Jian.Ru

	Move an include out of define to let nightly build pass

Change 3574777 by Chris.Bunner

	Continued merge fixes.

Change 3574792 by Rolando.Caloca

	DR - Rename todo

Change 3574794 by Chris.Bunner

	Re-adding includes lost in a pre-merge merge.

Change 3574879 by Michael.Trepka

	Disabled a couple of Mac deprecation warnings

Change 3574932 by Chris.Bunner

	Merge fix.

Change 3575048 by Michael.Trepka

	Fixed iOS compile warnings

Change 3575530 by Chris.Bunner

	Duplicating static analysis fix CL 3539836.

Change 3575582 by Chris.Bunner

	Fixed GetDimensions return type in depth resolve shaders.
	Compile error fix.

Change 3576326 by Chris.Bunner

	Static analysis fixes.

Change 3576513 by Michael.Trepka

	Updated Mac MCPP lib to be compatible with OS X 10.9

Change 3576555 by Richard.Wallis

	Metal Validation Errors.  Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture.  Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.

	#jira UE-47549

Change 3576562 by Chris.Bunner

	OpenGL SetStreamSource stride updates.

Change 3576589 by Michael.Trepka

	Fixed Mac CIS warnings and errors in Dev-Rendering

Change 3576708 by Jian.Ru

	Fix cascade preview viewport background color not changing
	#jira UE-39687

Change 3576827 by Rolando.Caloca

	DR - Minor fix for licensee

Change 3576973 by Chris.Bunner

	Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).

Change 3577729 by Rolando.Caloca

	DR - Fix for info on SCW crashes

Change 3578723 by Chris.Bunner

	Fixed issue where custom material attribute was using display name as hlsl function name.

Change 3578797 by Chris.Bunner

	Fixed pixel inspector crashing on high-precision normals gbuffer format.

	#jira UE-48094

Change 3578815 by Yujiang.Wang

	Fix for UE-48207 Orion cooked windows server crash on startup

	* Crash caused by rendering features not available in a dedicated server build
	* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()

	#jira UE-48207

Change 3578828 by Daniel.Wright

	Disable volumetric lightmap 3d texture creation on mobile

Change 3579473 by Daniel.Wright

	Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler.  Used these to reduce base pass sampler counts with volumetric lightmaps.

Change 3580088 by Jian.Ru

	Fix QAGame TM-CharacterMovement crashing on PIE
	#jira UE-48031

Change 3580388 by Daniel.Wright

	Fixed shadowed light injection into volumetric fog fallout from Rhino merge

Change 3580407 by Michael.Trepka

	Updated Mac UnrealPak binaries

Change 3581094 by Michael.Trepka

	Fix for ScreenSpaceReflections not working properly on iOS 11

Change 3581242 by Michael.Trepka

	Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame

	#jira UE-48255

Change 3581489 by Olaf.Piesche

	Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475

	#jira FORT-47068, FORT-49705
	Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.

	#tests FN LastPerfTest

Change 3581544 by Simon.Tovey

	Fix for ensure accessing cvar from task thread.

	#tests no more ensure

Change 3581934 by Chris.Bunner

	Fixed ConsoleVariables.ini break from merge.

Change 3581968 by Jian.Ru

	Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
	#jira UE-48251

Change 3581989 by Richard.Wallis

	Fix for NULL PrecomputedLightingBuffer.  It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.

	#jira UE-46955

Change 3582632 by Chris.Bunner

	Resolved merge error.

Change 3582722 by Rolando.Caloca

	DR - Workaround for PF_R8G8B8A8_UINT on GL

	#jira UE-48208

Change 3584096 by Rolando.Caloca

	DR - Fix for renderdoc crashing in shipping

	#jira UE-46867

Change 3584245 by Jian.Ru

	Fix System.Promotion.Editor.Particle Editor test crash
	#jira UE-48235

Change 3584359 by Yujiang.Wang

	Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion

	* Caused by dot(N, V) being negative
	* Clamp to (0, 1)

	#jira UE-48315

Change 3587864 by Mark.Satterthwaite

	Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
	#jira UE-48342

Change 3587866 by Mark.Satterthwaite

	Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.

Change 3588168 by Mark.Satterthwaite

	Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.

Change 3588192 by Rolando.Caloca

	DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled

Change 3588291 by Rolando.Caloca

	DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers

	#jira UE-48299

Change 3590134 by Michael.Trepka

	Copy of CL 3578963

	Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.

Change 3590405 by Rolando.Caloca

	DR - hlslcc - support for sqrt(uint)

Change 3590436 by Mark.Satterthwaite

	Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.

Change 3590674 by Rolando.Caloca

	DR - vk - Integration from working branch
	- Fixes distance field maps
	- Compute pipelines stored in saved file
	- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets

Change 3590699 by Rolando.Caloca

	DR - Fix distance fields mem leak

Change 3590815 by Rolando.Caloca

	DR - vk - Fixes for uniform buffers and empty resource tables

Change 3590818 by Mark.Satterthwaite

	Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.

Change 3590905 by Mark.Satterthwaite

	For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.

	#jira UE-48163

Change 3590961 by Mark.Satterthwaite

	Submitted on Richard Wallis's behalf as he's on holiday:

	Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents.  Problem sampling from buffers/textures as floats with packed data.  Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>().  Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.

	There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.

	#jira UE-46688, UE-39256, UE-47215

Change 3590965 by Mark.Satterthwaite

	Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.

Change 3590969 by Mark.Satterthwaite

	Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.

Change 3591871 by Rolando.Caloca

	DR - Enable PCSS on Vulkan & Metal
	- Enable capsule shadows on Vulkan

Change 3592014 by Mark.Satterthwaite

	Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
	Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
	Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
	Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.

Change 3592171 by Rolando.Caloca

	DR - CIS fix

Change 3592753 by Jian.Ru

	repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)

Change 3594595 by Rolando.Caloca

	DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely

Change 3594794 by Michael.Trepka

	Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app

Change 3594999 by Mark.Satterthwaite

	Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
	While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.

	#jira UE-48342

Change 3595004 by Mark.Satterthwaite

	Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.

	#jira UE-48342

Change 3595386 by Mark.Satterthwaite

	Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.

Change 3595394 by Rolando.Caloca

	DR - Added function for tracking down errors in the hlsl parser
	- Added support for simple #if 0...#endif

Change 3599352 by Rolando.Caloca

	DR - Fixes for HlslParser
	- Added missing attributes for functions
	- Fixed nested assignment

Change 3602440 by Michael.Trepka

	Fixed Metal shader compilation from Windows with remote compilation disabled

	#jira UE-48163

Change 3602898 by Chris.Bunner

	Resaving assets.

Change 3603731 by Jian.Ru

	fix a crash caused by a material destroyed before the decal component
	#jira UE-48587

Change 3604629 by Rolando.Caloca

	DR - Workaround for PF_R8G8B8A8_UINT on Android

	#jira UE-48208

Change 3604984 by Peter.Sauerbrei

	fix for orientation not being limited to that specified in the plist

	#jira UE-48360

Change 3605738 by Chris.Bunner

	Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).

	#jira UE-48748

Change 3606009 by Mark.Satterthwaite

	Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
	- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
	- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
	- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
	- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....

	#jira UE-47663

Change 3606108 by Mark.Satterthwaite

	Temporary hack to avoid a crash in AVPlayer.

	#jira UE-48758

Change 3606121 by Mark.Satterthwaite

	Fix Windows compilation.

Change 3606992 by Chris.Bunner

	Static analysis fix.

[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
Marcus Wassmer
64e19e2224 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476)
#lockdown Nick.Penwarden

=====================================
 MAJOR FEATURES + CHANGES
=====================================

Change 3372740 by Chris.Bunner

	[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
	StencilSceneTexture added to deferred list.
	A few known issues to be fixed in a follow-up CL.

Change 3374187 by Chris.Bunner

	Volume texture support for CombineLUTs/Tonemap compute pass.
	Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
	Skip compute post process out-of-bounds writes.
	Unsigned type conversion fixes.
	Trimmed compute post process shader inputs.

Change 3441680 by Uriel.Doyon

	Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
	New point light actors now configure the intensity in candelas by default.
	Replaced viewport exposure settings by an EV100 slider.
	Hidding the tone mapper in the show flag now still applies the exposure.
	Added a new AutoExposure method called EV100 which allows to specify :
	- MinEV100, MaxEV100
	- Calibration Constnat
	- Exposure Compensation
	#jira UE-42783

Change 3454636 by Uriel.Doyon

	Fixed point light having an extra scale of 16 in mobile
	#jira UE-45272

Change 3454844 by Uriel.Doyon

	Fixed extra X16 on some point lights
	#jira UE-45250

Change 3454934 by Chris.Bunner

	Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.

Change 3461206 by Guillaume.Abadie

	Adds possibility to scene captures and player controller to render no primitives at all.

Change 3461207 by Guillaume.Abadie

	Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline.

	#jira UE-6810

Change 3461233 by Chris.Bunner

	Added Log10 material expression.
	Added tooltip for Log2 and Log10.

Change 3461434 by Michael.Trepka

	Copy of CL 3456118

	In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads.

	#jira UE-44961

Change 3461770 by Benjamin.Hyder

	Submitting TM-RayTracedDistanceField map

Change 3461929 by Marc.Olano

	Add Sobol blueprint and material node test maps to RenderTest project

Change 3462249 by Uriel.Doyon

	Translucency after DoF is now disabled when showflag postprocess is disabled.

Change 3462371 by Brian.Karis

	VT addressing is now 64bit to support huge sparse virtualized volumes

	16bit page tables working.

Change 3462936 by Marc.Olano

	Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions

Change 3464394 by Uriel.Doyon

	Improved synchronization for texture streaming commands.
	This fixes an issue when accessing FStreamingTexture for pending textures.

Change 3464743 by Guillaume.Abadie

	Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time.

Change 3464818 by Guillaume.Abadie

	Fixes compilation error in FindShaderRelativePath

Change 3465184 by Daniel.Wright

	r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings

Change 3465283 by Marc.Olano

	Update Sobol Gray code tables to match random order tables

Change 3465976 by Arne.Schober

	DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas.

	#RB none

Change 3467513 by Guillaume.Abadie

	Fixes an issue where primitives would no longer draw in gameplay.

	#jira UE-45550

Change 3471116 by Richard.Wallis

	Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms.  Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes.

	- Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error.  HLSL register binds not implemented in metal backend.

	#jira UE-39108

Change 3471117 by Richard.Wallis

	Drop down menus clip on 27" Screen iMacs.  Disable viewport HDR rendering on macOS 10.12.x when in editor.
	#jira UE-43026

Change 3471130 by Richard.Wallis

	Mac GPU hang causes editor output log to be written to the wrong file.  Try to emulate windows behaviour when opening a file for reading or writing.  Tested against behaviour of windows log file with multiple instances running.

	- Only defined in for Mac and non shipping.

	#jira UE-44934

Change 3471224 by Guillaume.Abadie

	Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects.

Change 3471646 by Daniel.Wright

	Fixed ensure opening UT system settings

Change 3471862 by Arne.Schober

	DR - revert accidently checked in changes.
	#RB Chris.Bunner

Change 3472249 by Guillaume.Abadie

	Implements virtual shader source directory mapping.

	- /Engine/... maps to Engine/Shaders/...
	- /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory
	- /Project/... maps to project's Shaders/ directory

Change 3472443 by Daniel.Wright

	Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible

Change 3474537 by Uriel.Doyon

	Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)

Change 3475192 by Guillaume.Abadie

	Implements LensDistortion engine plugin.

	This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
	 - It is implemented as the first engine plugin with its own shaders and render thread commands;
	 - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)

Change 3475209 by Guillaume.Abadie

	Back out changelist 3475192

Change 3475252 by Guillaume.Abadie

	Reland: Implements LensDistortion engine plugin.

	This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
	 - It is implemented as the first engine plugin with its own shaders and render thread commands;
	 - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)

Change 3475389 by Guillaume.Abadie

	Adds LensDistortion plugin's feature tests.

Change 3475538 by Guillaume.Abadie

	Adds the /Engine/* prefix on all of the renderer's USF file references.

Change 3475568 by Guillaume.Abadie

	Adds a check for virtual shader source file path format in FShaderType::FShaderType()

Change 3475871 by Guillaume.Abadie

	Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath

Change 3475997 by Yujiang.Wang

	Workaround for a compiler optimization bug introduced in VS2015 Update 3.

	* The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark.
	* Debug builds don't exhibit this bug.
	* Semantics are exactly the same as the original code.

Change 3476203 by David.Hill

	Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes.  Only seen when Levels >=2
	#jira UE-45741

Change 3476536 by Benjamin.Hyder

	adding player start to Ray Traced Distance Field Shadows Map

Change 3478298 by Benjamin.Hyder

	disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map

Change 3478948 by Rolando.Caloca

	DR - Nicer check

Change 3478949 by Rolando.Caloca

	DR - Default GPU morphs to enabled

Change 3478950 by Rolando.Caloca

	DR - By default -vulkan will launch SM5

Change 3478984 by Rolando.Caloca

	DR - Pass down -vulkan

Change 3479655 by Richard.Wallis

	Video track does not switch in AVF Media Player.  Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track.

	- Minimal change to allow video track changes/selection.
	- Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput.  Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to...
	- Flush the audio sink sample buffers so we get instant audio track changes

	#jira UE-39750, UE-39749

Change 3479834 by Rolando.Caloca

	DR - Fix issue with bad vertex colors (per licensee)

Change 3480376 by Guillaume.Abadie

	Disables ComputeLightGrid() if no volumetric fog and no lighting.

	#jira UE-45377

Change 3480596 by Yujiang.Wang

	Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection

	* Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection
	* Fixed by taking View.bReverseCulling into account

	#jira UE-34452

Change 3480600 by Yujiang.Wang

	Fix for UE-42376

	* The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently.
	* This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap
	* If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed.

	#jira UE-42376

Change 3480784 by Rolando.Caloca

	DR - hlslcc - Initial support for [RW]StructuredBuffer

Change 3481690 by Uriel.Doyon

	Attempt to fix static analysis warning

Change 3482012 by Simon.Tovey

	Fixed issue when building distribution lookup tables where the final sample fell short of the max input time.
	As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT.

	#tests constant interpolation now works.

	#jira UE-45614

Change 3482965 by Yujiang.Wang

	Some quality of life changes for UE-42757

	* The UV overlay in static mesh editor now has a darker background
	* Selected edges are getting highlighted and bolder
	* When some edges are selected others turn grey

	#jira UE-42757

Change 3483014 by David.Hill

	Change labels on bloom boost from x,y,z to min, max, mult.
	#jira UE-43904

	a PropertyRedirect in BaseEngine.ini allows this to work with older version.

Change 3484573 by Yujiang.Wang

	Fix for shadow color not updated after light build when a texture is changed and reimported

	* Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter
	* Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed

	#jira UE-45647

Change 3484969 by Yujiang.Wang

	Fix for UE-39929 inconsistent type between C++ and shader code

	* MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp
	* Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp

	#jira UE-39929

Change 3485012 by Yujiang.Wang

	Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT

	#jira UE-39929

Change 3485146 by Guillaume.Abadie

	Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround.

	#jira UE-43455

Change 3486602 by Joe.Conley

	Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph.

Change 3487471 by Yujiang.Wang

	Github #3659: Improved performance of DumpUnbuiltLightInteractions

	* Replaced TArrays with TSets

	#jira UE-45783

Change 3487641 by Guillaume.Abadie

	Fixes some shader file name casing issues in LPV.

Change 3488014 by Uriel.Doyon

	New AllowAsyncLoading flag for UTexture::CachePlatformData().
	It allows to load the source texture data in the async task if the source bulk data was not yet loaded.

	Data loaded that way is not sharable between tasks and will be discarded.
	This is required because updating the source data is not thread safe.

	#jira UERNDR-190
	#jira UE-33401

Change 3488249 by Uriel.Doyon

	Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore.
	Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change.

	#jira UE-46004

Change 3490228 by Mark.Satterthwaite

	Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type).

	#jira UE-46067

Change 3490538 by Arne.Schober

	Back out changelist 3488249
	#RB none

Change 3490551 by Arne.Schober

	Back out changelist 3488249
	#RB none

Change 3491828 by Guillaume.Abadie

	Fixes another USf file reference casing issue in C++.

Change 3491924 by Yujiang.Wang

	Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level

	* Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp
	* We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black

	#jira UE-43302

Change 3492359 by Guillaume.Abadie

	Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping().

Change 3492367 by Marc.Olano

	Change Sobol texture size to 32x16, tweak distribution

Change 3492599 by Marcus.Wassmer

	PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01)

Change 3493473 by Uriel.Doyon

	Back out changelist 3490538

Change 3493590 by Uriel.Doyon

	Back out changelist 3490551
	Fixed missing #pragma once

Change 3493911 by Marcus.Wassmer

	Fix potential GPU crash/hang caused by out of bound subresource updates.
	Added checks at cross-platform level to catch any instance earlier.

Change 3494139 by Uriel.Doyon

	Fixed shadow variable issue on UE4Editor Linux.

Change 3494364 by Richard.Wallis

	Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt.  Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4.

	OpenGL left in the following areas:

	- OpenGLShaderCompiler
	- StandaloneRenderer

	The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made:

	- OpenGLTexture.cpp

	#jira UE-39108

Change 3494413 by Guillaume.Abadie

	Updates r.InvalidateCachedShader and bump ShaderVersion.ush.

Change 3494422 by Guillaume.Abadie

	Adds LensDistortion plugin's Private shader directory.

Change 3494717 by Guillaume.Abadie

	Strengthens shader compiler with checks on generated file names and shader type file names.

Change 3494763 by Guillaume.Abadie

	Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path.

Change 3494985 by Rolando.Caloca

	DR - Integrate Vulkan Rewrite

Change 3495031 by Rolando.Caloca

	DR - Delete file as it moved

Change 3495032 by Rolando.Caloca

	DR - Show Vulkan SM5 instead of SM4 on windows packaging
	- Also added support for Vulkan SM5_UB

Change 3495202 by Uriel.Doyon

	Fixed static analysis warning with pointer dereferencing.

Change 3495342 by Rolando.Caloca

	DR - clang compile fix

Change 3495354 by Rolando.Caloca

	DR - clang compile fixes

Change 3495420 by Marc.Olano

	Use Sobol sampling for PCSS

Change 3495799 by Rolando.Caloca

	DR - Delete old dev assets

Change 3496202 by Mark.Satterthwaite

	Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass.

	#jira UE-46070

Change 3496253 by Uriel.Doyon

	Fixed static analysis warning for IncludeTool

Change 3496631 by Guillaume.Abadie

	Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable.

Change 3496851 by Guillaume.Abadie

	Fixes back slash issues in Platform.usf.

Change 3496852 by Guillaume.Abadie

	Fixes other back slashes includes in PS4 specific usf files.

Change 3496941 by Guillaume.Abadie

	Adds a check() for no backslash in virtual shader file paths.

Change 3497661 by Guillaume.Abadie

	Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform.

Change 3497969 by Richard.Wallis

	Fix for start Up Movies Are not Playing for iOS Devices.  Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies.

	- Tested on iOS and Mac.

	#jira UE-39585

Change 3498035 by Guillaume.Abadie

	Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts.

Change 3498101 by Rolando.Caloca

	DR - Compile fix

Change 3498254 by Guillaume.Abadie

	Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching.

Change 3498264 by Guillaume.Abadie

	Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame

Change 3498371 by Yujiang.Wang

	Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2

	* Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews
	* Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures)

	#jira UE-46149

Change 3498409 by Rolando.Caloca

	DR - Swap resolves

Change 3498410 by Guillaume.Abadie

	Adds support for opacity output alpha for post process material when doing a draw material to render target.

Change 3498705 by Rolando.Caloca

	DR - Add UID for debugging mem allocations

Change 3498759 by Marcus.Wassmer

	No post processing in vertexcolor view mode

	#jira UE-44704

Change 3498891 by Rolando.Caloca

	DR - Minor Vulkan per frame allocator refactor in prep for changes

Change 3499206 by Rolando.Caloca

	DR - Fix temp frame allocator OOM on Vulkan

	#jira UE-45913

Change 3499319 by Rolando.Caloca

	DR - Vulkan support for StorageBuffer

Change 3499339 by Rolando.Caloca

	DR - Remove deprecated typedef

Change 3499400 by Rolando.Caloca

	DR - Remove some RHICmdList deprecated functions

Change 3499422 by Rolando.Caloca

	DR - Allow buffer transitions inside render passes

Change 3500370 by Rolando.Caloca

	DR - Compile fix

Change 3500474 by Rolando.Caloca

	DR - Fix static analysis

Change 3500517 by Guillaume.Abadie

	Exposes r.PostProcessing.PropagateAlpha to the renderer settings.

Change 3500537 by Guillaume.Abadie

	Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world.

	#jira UE-39389

Change 3501069 by Mark.Satterthwaite

	Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18.

	temporary fix for skewed textures on IOS 9
	#jira UE-44468

Change 3501164 by Michael.Lentine

	PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist)


Change 3501222 by Benjamin.Hyder

	Checking in Tm_SobolNoise map

Change 3501612 by zachary.wilson

	Adding testing content for RTDF shadows on planar reflections

Change 3501708 by Guillaume.Abadie

	Break FPostProcessSettings into smallers structs.

Change 3501830 by Olaf.Piesche

	#jira UE-39628; using fix proposed in UDN, will investigate further

Change 3501954 by Marcus.Wassmer

	Duplicate 3480903
	Light culling safety measures.

Change 3502032 by Mark.Satterthwaite

	Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9.

Change 3502118 by Uriel.Doyon

	Fixed shader compilation issues.

Change 3502191 by Guillaume.Abadie

	Implements Composure plugin to make compositing in UE4 easier.

Change 3502192 by Guillaume.Abadie

	Implements Composure feature testing in EngineTests

Change 3502196 by Guillaume.Abadie

	Creates a dependency of Composure plugin over LensDistortion plugin.

Change 3502213 by Arciel.Rekman

	Fix for loading shaders on Linux (UE-46276).

Change 3502243 by Brian.Karis

	Bent normal map support.

	Multibounce AO.
	Spherical Gaussian based specular occlusion.

Change 3502506 by Guillaume.Abadie

	Fixes compilation failure in Composure with unity build.

Change 3502507 by Guillaume.Abadie

	Fixes composure Set Pass with Render Target blueprint helper.

Change 3502510 by Guillaume.Abadie

	Attempts to fix ComposureUtils.cpp compile errors.

Change 3502515 by Guillaume.Abadie

	Some other composure failure fixes.

Change 3502545 by Guillaume.Abadie

	Fixes some unity build related error in Composure.

Change 3502548 by Guillaume.Abadie

	Fixes last missing includes in ComposurePostProcessPass.cpp

Change 3502672 by Guillaume.Abadie

	Fixes linux warning in Composure.

Change 3502790 by Ryan.Brucks

	float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break.

Change 3502836 by Guillaume.Abadie

	Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances.

	#jira UE-6810

Change 3503096 by Guillaume.Abadie

	Resave a unversioned asset.

Change 3503228 by Yujiang.Wang

	Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry

	* Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass
	* Replaced the true with bReflectiveShadowmap

	#jira UE-45646

Change 3503284 by Rolando.Caloca

	DR - Fixed initial clear on rendertargets
	- Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4
	- Dump the vulkan log into VS output log
	- Added validation for layouts when using dump log

Change 3503545 by Arciel.Rekman

	Fix black UI on Linux (UE-46333)

	- Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist.

	#jira UE-46333

Change 3503638 by Daniel.Wright

	[Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding

Change 3503787 by Marcus.Wassmer

	Fix difference between gpu/cpu morph target application

Change 3503902 by Marcus.Wassmer

	Roll back TAA refactor until we have time to look into the bad interaction with DOF.

Change 3503953 by Arne.Schober

	DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources.
	#RB Marcus.Wassmer

Change 3504131 by Rolando.Caloca

	DR - Maintain a cache of pipeline and descriptor set layouts
	- Fix marker dump

Change 3504462 by Guillaume.Abadie

	Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results.

	#jira UE-46277

Change 3504779 by Chris.Bunner

	Potential static analysis fix.

	#jira UE-46360

Change 3504950 by Marc.Olano

	Allow Sobol material nodes & textures only if feature level is at least ES3.1

	#jira UE-46334
	#jira UE-46317

Change 3505035 by Daniel.Wright

	Increased MaxSearchCount in GetShaderIncludes.  The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously.

Change 3505386 by Daniel.Wright

	GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf

Change 3505491 by Rolando.Caloca

	DR - Fix crash on first frame of particles on modern APIs

Change 3505557 by Chris.Bunner

	[Duplicate] Workaround for outdated shader map crash.

	#jira UE-46061

Change 3506071 by Rolando.Caloca

	DR - Vulkan fixes
	- Fix copy out of bounds reading textures to CPU
	- Defer event deletion
	- Split validation for errors and warnings
	- Skip validation error about attachment not used

Change 3506698 by Guillaume.Abadie

	Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge.

Change 3506797 by Rolando.Caloca

	DR - Fix static analysis

	#jira UE-46428

Change 3506861 by Rolando.Caloca

	DR - Fix crash due to layering violation

	#jira UE-46424
	#jira UE-46431

Change 3508098 by Rolando.Caloca

	DR - Fix for Vulkan ES31 crash
	- Fix for AMD ensure

Change 3508123 by Rolando.Caloca

	DR - Disable occlusion queries on Vulkan to avoid flickering
	- Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips)
	- Fix for decal blending

	#jira UE-46376

Change 3509064 by Uriel.Doyon

	Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found.
	#jira UE-46427

Change 3509854 by Marc.Olano

	Fix 2D Sobol gray code numbers.
	Just changes some numbers in initialization tables, so no effect on existing tests or content.

Change 3509920 by Marcus.Wassmer

	Fix LPV fastvram ensure

Change 3509937 by Rolando.Caloca

	DR - Fix crash due to deleted viewport

	#jira UE-46281

Change 3509988 by Marcus.Wassmer

	Roll back part of Sobol fix to avoid full shader recompile for integration.

Change 3510255 by Rolando.Caloca

	DR - Fix popup window ensure

	#jira UE-46511

Change 3510646 by Marcus.Wassmer

	fix ios compiles

Change 3511442 by Rolando.Caloca

	DR - Change mesh simplification check to ensure/checkslow to unblock

	#jira UE-46538


DONE!

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


Change 3467095 by Guillaume.Abadie

	Nukes all += TEXT(".usf")

	#jira UE-45530

Change 3475084 by Guillaume.Abadie

	Fixes compilation failure of the shader compiler on PS4 and XboxOne

Change 3477464 by Guillaume.Abadie

	Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts.

Change 3494395 by Guillaume.Abadie

	Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points.

	DONE!

[CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
Ben Marsh
88a92a1715 Merging //UE4/Release-4.16 @ 3452394 to Release-Staging-4.16 (//UE4/Release-Staging-4.16)
#rb none

[CL 3463374 by Ben Marsh in Staging-4.16 branch]
2017-05-26 21:14:07 -04:00
Chris Bunner
81ef7a206b Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3461187)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3388286 on 2017/04/11 by Chris.Bunner

	Fix mips in texture GnmUAV creation.

Change 3388287 on 2017/04/11 by Chris.Bunner

	Improved PS/CS code sharing for TemporalAA.

Change 3388291 on 2017/04/11 by Chris.Bunner

	HLODs now correctly hide their children in shadow maps.
	Propagate bCastFarShadow flag on HLOD generation.

	#jira UE-42254

Change 3388448 on 2017/04/11 by Brian.Karis

	Better handle divide by zero

Change 3388449 on 2017/04/11 by Brian.Karis

	Optimizations to shading model math.

	PR #3340: Bug fixes related to shader TODOs (Contributed by vgfx)


Change 3388455 on 2017/04/11 by Uriel.Doyon

	Changed Remove for RemoveSwap when clearing dynamic component references

Change 3388612 on 2017/04/11 by Simon.Tourangeau

	Support shaders in projects and in plugins
	When searching for a shader it will
	- First look in Engine/Shaders as usual
	- Then in project's Shader folder
	- Then in all enabled plugin Shader folders

	Project or plugin must be loaded in PostConfigInit phase
	Tested in PIE, engine (cooked, packaged)

Change 3388819 on 2017/04/11 by Arne.Schober

	DR - Faster MorpthTarget implementation. Changed the previous Gather aproach to a scatter based one. Reaching about 110GB/s on PS4 which is up to 4x faster than the previous implementation. On PC DX11 the impact is lower due to unecessary UAV barriers but still 2x faster on AMD and up to 6x faster on Nvidia Hardware.
	#RB Lina.Halper, Rolando.Caloca

Change 3388862 on 2017/04/11 by Guillaume.Abadie

	Allows Motion Blur and TAA in scene capture 2d.

Change 3388953 on 2017/04/11 by Uriel.Doyon

	Fixed issue where lights from hidden levels where affecting the lighting build, by checking if the light is registered before adding it.
	#UE-43220

Change 3389138 on 2017/04/11 by Arne.Schober

	DR - Fix crash when opening a Level without Contentbrowser open.
	#RB Matt.Kuhlenschmidt

Change 3389400 on 2017/04/11 by Uriel.Doyon

	- Renamed FMaterialResource::IsSeparateTranslucencyEnabled() to FMaterialResource::IsTranslucencyAfterDOFEnabled()
	- Removed different logic to determine if translucency after DOF was enabled, and centralized it into a single function: FSceneViewFamily::AllowTranslucencyAfterDOF()
	- FSceneRenderTargets::FinishRenderingSeparateTranslucency() now only resolves a single view, allowing better Begin/Finish scopes.
	- Renamed FSceneRenderTargets::SeparateTranslucencyDepthRT into FSceneRenderTargets::DownsampledTranslucencyDepthRT since this one is only allocated when rendering in downsampled mode.
	- Standard translucency is now rendered in the same resolution than translucency after DOF. (downsampled or full resolution)
	- Removed RenderTranslucencyParallel and merged it's logic into RenderTranslucency. Renamed DrawAllTranslucencyPasses to RenderViewTranslucency and added a parallel version RenderViewTranslucencyParallel.
	- Moved all debug draw logic (VisualizeLPV, ViewMeshElements and SimpleElementCollector) to a common place.
	- New option "r.AllowDownsampledStandardTranslucency" to control the downsampling of standard translucency. Affect blend module materials

	#jira UE-39505

Change 3389860 on 2017/04/12 by Richard.Wallis

	UE-41407 Cable actor does not render correctly in viewport on Mac.

	Build the mesh at creation time - call into exisiting mesh create function.

Change 3390933 on 2017/04/12 by Arne.Schober

	DR - potential fix for UE-43125 where the this pointer might get invalidated in the middle of the function
	#RB Marcus.Wassmer

Change 3391010 on 2017/04/12 by Ben.Marsh

	Compile UE4Game non-unity for Mac as part of nightly builds in //UE4/Dev-Rendering.

Change 3391412 on 2017/04/12 by Uriel.Doyon

	Mesh Decals are now sorted according to the component TranslucencySortPriority.
	#jira UE-43053

Change 3392117 on 2017/04/13 by Guillaume.Abadie

	Integrates Raven's experimental PCSS for cascaded shadow map hidden behind a CVar.

Change 3392179 on 2017/04/13 by Guillaume.Abadie

	Attempts to fix linux compilation by removing mistakenly submitted dead code.

Change 3392231 on 2017/04/13 by Guillaume.Abadie

	Fixes a wrong enum value real quick in FRenderingObjectVersion I introduced after main integration... Oups...

Change 3393879 on 2017/04/14 by Guillaume.Abadie

	Attempts to fix linux compilation warning.

Change 3393881 on 2017/04/14 by Guillaume.Abadie

	Back out changelist 3393879

Change 3393882 on 2017/04/14 by Guillaume.Abadie

	Attempts #2 to fix linux compilation error.

Change 3394100 on 2017/04/14 by Chris.Bunner

	Corrected material shared sampler usage with mip-biasing.

Change 3394174 on 2017/04/14 by Rolando.Caloca

	DR - Change ensure to warning

Change 3394221 on 2017/04/14 by Marcus.Wassmer

	Fix poseable mesh bounds calculation.

Change 3396238 on 2017/04/17 by David.Hill

	Fix Bloom with LensFlare
	Duplicating fix - will also fix directly in 4.16

	#jira 44050

Change 3397055 on 2017/04/17 by Joe.Graf

	Fixed Windows specific assumptions in Slate File Dialog Window's file filtering that lead to crashes

	#CodeReview: matt.kuhlenschmidt
	#rb: n/a

Change 3397921 on 2017/04/18 by Joe.Graf

	Rewrote SlateFileDlgWindow's file filtering to allow for extensionless file selection and to remove the O(n^2) file filtering

	#CodeReview: arciel.rekman, matt.kuhlenschmidt
	#rb: n/a

Change 3398406 on 2017/04/18 by Rolando.Caloca

	DR - Fix shaders in plugins on Mac

Change 3399546 on 2017/04/19 by Benjamin.Hyder

	Updating content for test levels (HDR, Bloom_FFT, DistanceFields_IndirectShadows)

Change 3399725 on 2017/04/19 by Guillaume.Abadie

	Avoids compiling PCSS shaders for SM4.

Change 3400295 on 2017/04/19 by Michael.Trepka

	Fixed metal shader compile errors in MorphTargets.usf

Change 3400457 on 2017/04/19 by Michael.Trepka

	Merged Rolando's shader fixes

Change 3400473 on 2017/04/19 by Arne.Schober

	DR - provide Aftermath Reason when init failed.
	#RB none

Change 3400699 on 2017/04/19 by Arne.Schober

	DR - Fixed Text macro
	#RB none

Change 3402280 on 2017/04/20 by Simon.Tovey

	Minor cascade fix

	#tests no crash

	#jira UE-41560

Change 3402517 on 2017/04/20 by Arne.Schober

	DR - Fix static analysis warning
	#RB none

Change 3403897 on 2017/04/21 by Arne.Schober

	DR - [UE-43898] - Someone missed a shaderversion bump which poisoned the DCC
	#RB None
	#jira UE-43898

Change 3404591 on 2017/04/21 by Olaf.Piesche

	#jira UE-41979
	Should never be crashing there, unless the mesh is changed after Init of the effect instance; this change safeguards against the number of mesh sections (and hence materials) changing after creation of the dynamic data to avoid the crash.

Change 3407451 on 2017/04/25 by Daniel.Wright

	Fixed Indirect Lighting Cache updates caused by capsule indirect shadows forcing point samples, breaking primitives using ILCQ_Volume

Change 3407452 on 2017/04/25 by Daniel.Wright

	Added r.AOJitterConeDirections, although disabled by default because it requires the temporal filter to be much stronger

Change 3408397 on 2017/04/25 by Daniel.Wright

	ViewFamily.bRealtimeUpdate is set to false if Slate is throttling (like when toggling show flags).  Volumetric fog discards the temporal history when not realtime, so you can see changes immediately.

Change 3408428 on 2017/04/25 by Daniel.Wright

	Changed 'r.AOMaxObjectsPerCullTile' default back to 512 as 256 causes artifacts with RTDF shadows

Change 3409764 on 2017/04/26 by Daniel.Wright

	Force dumping shader debug info for Global shaders when r.ShaderDevelopmentMode is enabled.  Most of the shaders you want to look at in a GPU capture are global shaders, and global shaders create few debug files.  'recompileshaders global' time 35s -> 38s for SM5.

Change 3411659 on 2017/04/27 by Daniel.Wright

	[Copy] Set Xbox One engine default screen percentage to 83.33 (1600x900), as ESRAM choices are dependent on this

Change 3411660 on 2017/04/27 by Daniel.Wright

	[Copy] Global distance field composite shader has a version for each flattened axis, which improves efficiency when updating a slab which is what camera movement typically causes

Change 3411667 on 2017/04/27 by Daniel.Wright

	[Copy] Discard distance field AO history buffer if it doesn't match the new buffer size.  This prevents reading uinitialized data after a scene render target resize.

Change 3411668 on 2017/04/27 by Daniel.Wright

	[Copy] Better indirect capsule shadow draw event info

Change 3411669 on 2017/04/27 by Daniel.Wright

	[Copy] Pass down FeatureLevel to AddSubjectPrimitive and GatherShadowsForPrimitiveInner instead of calling the scene's virtual function.  Showed up prominently in a sampling profile.

Change 3411755 on 2017/04/27 by Daniel.Wright

	[Copy] Occlusion queries are now always done before the base pass if a nearly full prepass is being used(DDM_AllOccluders or DDM_AllOpaque)
	* Removed r.OcclusionQueryLocation

Change 3411827 on 2017/04/27 by Daniel.Wright

	[Copy] Much cheaper implementation of IsForwardShadingEnabled which showed up prominently in sampling profiles - inlined function and no more unnecessary thread safety overhead

Change 3411829 on 2017/04/27 by Daniel.Wright

	Added an ensure to console manager when doing FindTConsoleVariableData* on a FAutoConsoleVariableRef

Change 3411837 on 2017/04/27 by Daniel.Wright

	[Copy] Worked around slow memcpy's being used to sort FSortedLightSceneInfo

Change 3411838 on 2017/04/27 by Daniel.Wright

	[Copy] Skip tracking MaterialRenderProxyMap on cooked platforms

Change 3411843 on 2017/04/27 by Daniel.Wright

	[Copy] Fixed r.ParallelShadows on PS4 and enabled by default engine-wide (saves 5ms RT with CSM)
	* Gnm was not tracking DepthClearValue when a depth target was set but not cleared
	* Gnm has a bug where TargetsNeedingEliminateFastClear does not persist across commandlist breaks.  Moved FinishRenderingGBuffer before RenderShadowDepthMaps to workaround (accidentally not in this changelist)
	* Shadow depth rendering was not using BindClearMRTValues to populate GNM parallel commandlist TargetsNeedingEliminateFastClear values

Change 3411873 on 2017/04/27 by Daniel.Wright

	[Copy] Deferred uniform expression caching.  Setting multiple parameters on a material only causes its uniform expressions to be recached once.
	* 280 calls to CacheUniformExpressions -> 120 during Fortnite combat (6.5ms -> 3.4ms)

Change 3411891 on 2017/04/27 by Daniel.Wright

	[Copy] GatherShadowPrimitives optimizations
	* Total GatherShadowPrimivies went from 2.3ms -> 1.3ms on PS4 with these changes in GPUPerfTest (duplicated 3x)
	* Much flatter primitive octree (16 -> 256 max primitives)
	* Primitives are culled against the shadow frustum before FPrimitiveSceneInfo or FPrimitiveSceneProxy are dereferenced in FilterPrimitiveForShadows
	* FilterPrimitiveForShadows work is done in a ParallelFor.  Primitive octree nodes are processed in different jobs.
	* StaticMeshWholeSceneShadowBatchVisibility now only stores entries for meshes with bRequiresPerElementVisibility (landscape).  Previously it was allocating and zeroing 500Kb 3x per frame (main view + 2 cascades) which cost ~.8ms on PS4.

Change 3412192 on 2017/04/27 by Michael.Trepka

	Fixed Clang compile errors in FortniteGame, partial copy of CL 3313426

Change 3412547 on 2017/04/27 by Daniel.Wright

	Fixed leak of FShadowMapAllocation and FLightMapAllocation's found by licensee

Change 3414239 on 2017/04/28 by Arne.Schober

	DR - UE-44500 - Removed use of Structured Buffer from MorphTargets due to HLSLCC not supporting it.

	#RB none
	#jira UE-44500

Change 3414754 on 2017/04/28 by Daniel.Wright

	Added VolumetricFogEmissive to ExponentialHeightFogComponent
	* Volumetric fog does not yet support precomputed lighting, so this is the only way to get an ambient lighting term

Change 3416859 on 2017/05/01 by Arne.Schober

	DR - Remove FeatureLevel from the Clear Functions to reduce area of error
	#RB Rolando.Caloca

Change 3420750 on 2017/05/03 by Arne.Schober

	DR - [UE-44497] - Fix several PS4 validation layer issues
	#RB Marcus.Wassmer

Change 3422869 on 2017/05/04 by Benjamin.Hyder

	Fix compile error from merge.

Change 3423938 on 2017/05/04 by Marc.Olano

	[UE-44453] Fix bloom problems by moving saturate after vector math

Change 3424494 on 2017/05/04 by Olaf.Piesche

	#jira UE-44589
	When using FindTCosoleVariableData, the CVar can not be an FAutoConsoleVariable.

	#tests as described in jira ticket

Change 3424754 on 2017/05/04 by Uriel.Doyon

	Fixed call to get texture compressor module outside the main thread.
	#jira UE-42168

Change 3425447 on 2017/05/05 by Uriel.Doyon

	#buildfix

Change 3427042 on 2017/05/05 by Arne.Schober

	DR -  Fix one of my typos
	#RB none

Change 3428119 on 2017/05/08 by Marcus.Wassmer

	Fix UE-44733
	static analysis warning.

Change 3428222 on 2017/05/08 by Uriel.Doyon

	Fixed bad condition in translucency rendering
	#jira UE-44452

Change 3429794 on 2017/05/08 by Uriel.Doyon

	Fixed issues with lightshafts and low res translucency.

	#jira UE-44452

Change 3430921 on 2017/05/09 by Rolando.Caloca

	DR -  Get additional function pointers for D3DReflect, Compile and Disassemble instructions from the same DLL when compiling D3D11 shaders.
	- Also fixes using the correct fxc.exe path to match the DLL we distribute.

Change 3431156 on 2017/05/09 by Rolando.Caloca

	DR - Remove unused code

Change 3431396 on 2017/05/09 by David.Hill

	Copy of changes made directly in 4.16  ( CL 341037 )
	to be submitted to dev-rendering

	#jira UE-44641

Change 3431400 on 2017/05/09 by Rolando.Caloca

	DR - Fix typo

Change 3431527 on 2017/05/09 by David.Hill

	#rb: none

	Oops.
	comment out r.ShaderDevelopmentMode =1

Change 3431590 on 2017/05/09 by Daniel.Wright

	Removed early return landmine in USceneCaptureComponent2D::Serialize

Change 3431591 on 2017/05/09 by Daniel.Wright

	Disallow map building while in PIE, or PIE while buildling lighting

Change 3431594 on 2017/05/09 by Daniel.Wright

	Added RenderTargetFormat to UTextureRenderTarget2D, with choices of 8 bit, 16fp, 32fp and 1, 2 or 4 channels.

Change 3431667 on 2017/05/09 by Daniel.Wright

	Volumetric fog now supersamples lighting when the history is not available, reducing noise on areas that just came on-screen or after a camera cut.
	* The number of samples is controlled by r.VolumetricFog.HistoryMissSupersampleCount, defaults to 4, cinematic scalability uses 16
	* Under fast camera movement, volumetric fog cost went from 1.79ms -> 1.97ms with 4 samples, on a 970GTX

Change 3432366 on 2017/05/10 by Richard.Wallis

	Fix for MetalRHI Asserts When Using "Profile GPU" With RHI-Thread/Parallel-Execution.  Don't insert events when not in RHIThread or the actual single-threaded-render thread.

	#jira UE-36006

Change 3432367 on 2017/05/10 by Richard.Wallis

	Fix for Metal ReStartRenderPass assert with profiling.  macOS metal asserts when using "profileGPU" even with -norhithread argument set.

	Added no action to the allowed render pass restart store actions for the depth buffer avoiding the assert.  Interested to know the details if this is not a valid assumption to make - throwing away the depth buffer after a render pass I think would be a common case.

	#jira UE-44322

Change 3432409 on 2017/05/10 by Richard.Wallis

	Merged across CL 3415890 from Release-4.16 fix for (jira UE-43895)

	Fix for deferred store actions getting cleared when we don't have a valid render target.

Change 3432833 on 2017/05/10 by Daniel.Wright

	Fixed Ocean compile error

Change 3432874 on 2017/05/10 by Marc.Olano

	Improved captions for Noise and VectorNoise material nodes

Change 3432947 on 2017/05/10 by Richard.Wallis

	Fix for shared Material Native Shader Libraries Don't Function With Iterative Cooking.   Keep latest versions of shader byte code in native shared material packaged build in an intermediate directory than can be reused on a later iterative cook.

	- Doesn't handle deletion of the intermediate directory contents.  Assumed to be a higher level requirement on non iterative cook flag.

	#jira UE-44657

Change 3433484 on 2017/05/10 by Arne.Schober

	DR - UE-44393 - Move ShaderPlatform into TShaderMap for extra debuginformation when it fails to find a proper shader. Also log when Gobalshaders are verified and recompiled.
	#jira UE-44393
	#RB Daniel.Wright

Change 3433515 on 2017/05/10 by Arne.Schober

	DR - Fix a bug where recompileshaders changed while compiling causes a crash where the chached local vertex factories are mutated while been used.
	#RB Daniel.Wright

Change 3433606 on 2017/05/10 by Daniel.Wright

	Fixed static shadowing of volumetric fog and translucency causing shadowing past the lightmass importance volume.

Change 3433619 on 2017/05/10 by Daniel.Wright

	Skip recapturing reflection captures when PropagateLightingScenarioChange is being called for a level unload.  This leaves stale results in reflection captures around when hiding a level in the editor, but avoids the double recapture that happens when swapping lighting scenarios in game, and the unnecessary reflection capture update when exiting PIE.

Change 3433795 on 2017/05/10 by Arne.Schober

	DR - add cmdline to select a GPU vendor when multiple GPUs from differnt Vendors are installed into the same Machine
	#RB marcus.Wassmer

Change 3433941 on 2017/05/10 by Daniel.Wright

	Cone vs tile bounding sphere intersection tests for Light Grid culling of spotlights, which provides much tighter culling than just View space tile AABB vs light bounding sphere.
	* Forward shading BasePass 3.7ms -> 2.4ms in a scene with 24 spotlights on 970GTX
	* Volumetric fog 2.87ms -> 2.09ms in the same scene

Change 3435139 on 2017/05/11 by Daniel.Wright

	Restored GTextureRenderTarget2DMaxSizeX which is used by Ocean

Change 3435297 on 2017/05/11 by Arne.Schober

	DR - Remove manual AlignOf and use C++11 keyword instead
	#RB Steve.Robb

Change 3435367 on 2017/05/11 by Daniel.Wright

	Circle vertex buffer for slightly tighter voxelization of volumetric fog shadowed lights
	* 1.5ms -> 1.38ms on 970 GTX with 24 spotlights

Change 3435522 on 2017/05/11 by Brian.Karis

	Dither opacity mask now stacks properly for non parallel polys. Dither is randomized by triangle normal.

Change 3436063 on 2017/05/11 by Daniel.Wright

	Disabled CLB_AggressiveBatching for PC d3d12 as it causes flickering artifacts in lighting

Change 3436269 on 2017/05/11 by Uriel.Doyon

	Fixed UVChannel data possibly not up-to-date depending on user manips.

Change 3436611 on 2017/05/12 by Simon.Tovey

	Improved name and tooltip for static mesh property controlling generation of alias tables for uniform sampling.

Change 3436676 on 2017/05/12 by Simon.Tovey

	Fix for fixed bounds being "invalid" unless set via the toolbar option.

Change 3436700 on 2017/05/12 by Simon.Tovey

	Crash fix.
	Issue found in https://udn.unrealengine.com/questions/355944/crash-in-fdynamicspriteemitterdatagetdynamicmeshel.html

	Particle proxies would have stale material resource pointers if the material is changed while the system was invisible.
	If the old material is freed during this time, the next time the system renders it will crash.

Change 3437367 on 2017/05/12 by Brian.Karis

	Fixed bug with small UV charts not packing.

Change 3437860 on 2017/05/12 by Arne.Schober

	DR - Fix alignment compile error in win32 where according to ABI alignment is 4 for int64
	#RB none

Change 3437972 on 2017/05/12 by Arne.Schober

	DR - Fix alignment compile error in win32 where according to ABI function calls cannot take alingned structures. In all of the cases the copy was completely unnecessary.
	#RB none

Change 3437975 on 2017/05/12 by Chris.Bunner

	Added calculation for MaterialParamsEx to MeshDecals.usf.

	#jira UE-43052

Change 3438109 on 2017/05/12 by Rolando.Caloca

	DR - Support for -nomcpp on SCW

Change 3438889 on 2017/05/15 by Chris.Bunner

	Nullptr check in a few material uniform expressions.

Change 3439351 on 2017/05/15 by Chris.Bunner

	Added tooltip to Power material expression.

Change 3439763 on 2017/05/15 by Daniel.Wright

	Apply passed in DistanceBiasSqr to line lights - allows volumetric fog to reduce aliasing on line lights

Change 3439764 on 2017/05/15 by Daniel.Wright

	Fixed order of operations with bTreatMaxDepthUnshadowed - manifested as unfiltered static shadow depth lookups

Change 3440722 on 2017/05/16 by Guillaume.Abadie

	Exposes Scene capture's FOV to blueprints

Change 3441680 on 2017/05/16 by Uriel.Doyon

	Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
	New point light actors now configure the intensity in candelas by default.
	Replaced viewport exposure settings by an EV100 slider.
	Hidding the tone mapper in the show flag now still applies the exposure.
	Added a new AutoExposure method called EV100 which allows to specify :
	- MinEV100, MaxEV100
	- Calibration Constnat
	- Exposure Compensation
	#jira UE-42783

Change 3441884 on 2017/05/16 by Uriel.Doyon

	Fixed StreamingDistanceMultiplier not being applied to the texture streaming data.

Change 3442800 on 2017/05/17 by Gil.Gribb

	Fixed botched merge.

Change 3442896 on 2017/05/17 by Gil.Gribb

	UE4 - Allowed the possibility of running the RHI "thread" on task threads instead and cleaned up and unified the conditionals involved. By default we still have a dedicated RHI thread because it tested slightly faster.

Change 3443951 on 2017/05/17 by Richard.Wallis

	Added Apple override allocator macro - each command encoder type needs it's own allocator queue.

Change 3444787 on 2017/05/17 by Daniel.Wright

	Fixed DBuffer decal default normal (used when DBuffer decals enabled, but not decals rendered) not reconstructing zero properly, adding -.008 to WorldNormal which then caused artifacts with forward lighting specular on materials with roughness near 0.

Change 3444882 on 2017/05/17 by Daniel.Wright

	Added comment to  FClearValueBinding::DefaultNormal8Bit to make the dependency on shader decode clear

Change 3444883 on 2017/05/17 by Brian.Karis

	Improved contact shadows

Change 3445048 on 2017/05/17 by Daniel.Wright

	Fixed particle lights in forward shading, they were not setting the lighting channel mask properly

Change 3445107 on 2017/05/17 by Michael.Trepka

	Changed the order of operations in FMetalStateCache::SetRenderState to work around an issue with some Intel drivers where they would not recalculate the raster state in some edge cases.

	#jira UE-43725

Change 3445212 on 2017/05/17 by Uriel.Doyon

	Added a -CSV option to ListTextures command

Change 3445947 on 2017/05/18 by Richard.Wallis

	Clone of Release-4.16 Stream CL 3437181 and CL 3442450 - fix(s) for black rendering on macOS El Cap with Nvidia GPU.  Move sampling of EyeAdaption texture to pixel shader for Mac Metal using shader language version <= 1 only.

Change 3446545 on 2017/05/18 by Chris.Bunner

	Removed hardcoded (and unused) MRT write from Decal shaders.

	#jira UE-45095

Change 3446568 on 2017/05/18 by Marc.Olano

	Sobol and image-based importance sampling C++ functions and blueprint nodes

Change 3446988 on 2017/05/18 by Marc.Olano

	Fix build error: missing include

Change 3446990 on 2017/05/18 by Marc.Olano

	Cell-indexed Sobol sampling for shaders (in MonteCarlo.usf) and materials (Sobol and TemporalSobol nodes)

Change 3447142 on 2017/05/18 by Rolando.Caloca

	DR - RWLock instead of mutex for PSO cache

Change 3447144 on 2017/05/18 by Uriel.Doyon

	Moved shading model code to SetGBufferFromShadingModel(). This allows the code to be reused in other shader files.

Change 3447794 on 2017/05/18 by Brian.Karis

	Virtual texturing foundation code

Change 3448944 on 2017/05/19 by Arciel.Rekman

	Fix non-unity Linux (and Mac, etc) builds.

	- Mac fix is tentative, did not try.

Change 3449183 on 2017/05/19 by Marcus.Wassmer

	Duplicate fix for reflection captures to happen after sequencer updates.

Change 3449196 on 2017/05/19 by Uriel.Doyon

	Handling RCM_MinMax when reading FloatRGBA textures.
	This fixes pixel inspector always reading 1 for scene color values greater than one.

Change 3451652 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45245

Change 3451660 on 2017/05/22 by Chris.Bunner

	Additional compile fix.

	#jira UE-45245

Change 3451897 on 2017/05/22 by Daniel.Wright

	Moved RTDF shadow project back after the base pass, since it samples the GBuffer for subsurface shadowing.  Removed r.DFShadowAsyncCompute which was relying on the previous ordering.

Change 3452055 on 2017/05/22 by Rolando.Caloca

	DR - Switch compile fix

	#jira UE-45265

Change 3452089 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45246

Change 3452108 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45246

Change 3452179 on 2017/05/22 by Brian.Karis

	Exposed dimensions. Fixed static analysis.

Change 3452734 on 2017/05/22 by Daniel.Wright

	When post processing is disabled, TPT_TranslucencyAfterDOF translucency gets forced into the standard translucency pass.

Change 3452770 on 2017/05/22 by Daniel.Wright

	Static light source shapes drawn into reflection captures handle SourceLength via scaled sphere

Change 3452861 on 2017/05/22 by Rolando.Caloca

	DR - Switch compile fix

Change 3452952 on 2017/05/22 by Brian.Karis

	Small VT fixes

Change 3453647 on 2017/05/23 by Richard.Wallis

	Fix for tessellation shaders on Mac (Metal v1.2) failing to compile.

	#jira UE-45227

Change 3454844 on 2017/05/23 by Uriel.Doyon

	Fixed extra X16 on some point lights
	#jira UE-45250

Change 3454934 on 2017/05/23 by Chris.Bunner

	Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.

Change 3457131 on 2017/05/24 by Arne.Schober

	DR - [UE-45317] - Fix Depthbuffer not available for resolve in Forward mode

	#jira UE-45317
	#RB Chris.Bunner

Change 3457141 on 2017/05/24 by Marc.Olano

	Sobol bug fixes

Change 3457953 on 2017/05/24 by Brian.Karis

	Fix static analysis

	#jira UE-45315
	#jira UE-45314
	#jira UE-45313

Change 3459064 on 2017/05/25 by Chris.Bunner

	Fix for out of bounds material translation crash.

	#jira UE-45406

Change 3459700 on 2017/05/25 by Brian.Karis

	Revert using sprite index buffer because the vert order is different.

Change 3459847 on 2017/05/25 by Chris.Bunner

	Fixing ensure in RenderTestMap.

[CL 3461201 by Chris Bunner in Main branch]
2017-05-26 08:22:50 -04:00
Ben Marsh
aa969f9931 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3386262 on 2017/04/10 by Ben.Marsh

	Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path.

Change 3386999 on 2017/04/10 by Ben.Marsh

	Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on.

Change 3387073 on 2017/04/10 by Ben.Marsh

	Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin.

Change 3387988 on 2017/04/11 by Steve.Robb

	Comments added to clarify the role of DestructItem and DestructItems.

Change 3388085 on 2017/04/11 by Ben.Marsh

	UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT.

Change 3390048 on 2017/04/12 by Richard.Hinckley

	#jira UE-43876
	Fixed description of Streaming settings (within Project Settings).

Change 3390697 on 2017/04/12 by Steve.Robb

	CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed.

Change 3390711 on 2017/04/12 by Steve.Robb

	AGRESSIVE_ARRAY_FORCEINLINE removed.

Change 3392167 on 2017/04/13 by Robert.Manuszewski

	UObject can be added to GC cluster only if all of its Outers can also be added to it.

	Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters.

	#jira UE-42948

Change 3392309 on 2017/04/13 by Robert.Manuszewski

	When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it.

Change 3392620 on 2017/04/13 by Ben.Marsh

	UGS: Only check for updates every 5 minutes.

Change 3392623 on 2017/04/13 by Ben.Marsh

	UGS: Only poll for new changes every 60 seconds.

Change 3392744 on 2017/04/13 by Ben.Marsh

	UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load.

Change 3392874 on 2017/04/13 by Ben.Marsh

	UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc...

Change 3392878 on 2017/04/13 by Ben.Marsh

	Update UGS to version 1.96

Change 3395635 on 2017/04/17 by Ben.Marsh

	UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command.

Change 3395655 on 2017/04/17 by Ben.Marsh

	UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded.

Change 3396989 on 2017/04/17 by Wes.Hunt

	CrashReporter configurable tweaks.
	* Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min).
	  - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min.
	  - Zero means never alert.
	* Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day).
	  - Interval by which to report disk space availability.
	  - Default is never (Zero)
	* Updated config file to match production config.
	#codereview:jin.zhang

Change 3397656 on 2017/04/18 by Ben.Marsh

	UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file.

Change 3397677 on 2017/04/18 by Robert.Manuszewski

	PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym)


Change 3397722 on 2017/04/18 by Robert.Manuszewski

	PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist)


Change 3397739 on 2017/04/18 by Richard.Hinckley

	#jira UE-44100
	Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating.

Change 3398023 on 2017/04/18 by Ben.Marsh

	PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist)


Change 3398095 on 2017/04/18 by Ben.Marsh

	PR #3051: Generate map file from UAT (Contributed by projectgheist)


Change 3398212 on 2017/04/18 by Ben.Marsh

	PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist)


Change 3399304 on 2017/04/19 by Ben.Marsh

	UGS: Prevent editor target files being removed when running custom tools.

Change 3399306 on 2017/04/19 by Robert.Manuszewski

	Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe

Change 3399729 on 2017/04/19 by Steve.Robb

	Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array.
	RemoveAtSwap() now simply decrements the count instead of calling RemoveAt().
	Checks for a positive count added to RemoveAt() and RemoveAtSwap().

Change 3399750 on 2017/04/19 by Jin.Zhang

	Order branch alphabetically #RB

Change 3400186 on 2017/04/19 by Steve.Robb

	Per-header generated code.

Change 3401458 on 2017/04/20 by Steve.Robb

	Static log categories moved out of headers to prevent duplicates when the header is included multiple times.

	#jira UE-37507

Change 3401657 on 2017/04/20 by Gil.Gribb

	UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme.

Change 3401735 on 2017/04/20 by Gil.Gribb

	UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms.

Change 3403362 on 2017/04/21 by Steve.Robb

	Algo::Sort() fixed to support C arrays.
	Size+count versions of Also::IsSorted() deprecated.
	Algo::IsSortedBy() added.
	Algo::FindBy() added to allow an element to be found by projection.
	Simplifications and generalizations.

Change 3404017 on 2017/04/21 by Ben.Marsh

	Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins.

Change 3405299 on 2017/04/24 by Steve.Robb

	Clarified the class of the incompatible function in the error message about incompatible BP event specifiers.

	#jira UE-35106

Change 3405302 on 2017/04/24 by Ben.Marsh

	UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file.

Change 3405629 on 2017/04/24 by Ben.Marsh

	Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name.

Change 3406431 on 2017/04/24 by Ben.Marsh

	UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present.

Change 3406670 on 2017/04/24 by Ben.Marsh

	UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang).

Change 3407080 on 2017/04/25 by Gil.Gribb

	UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull.

Change 3407486 on 2017/04/25 by Gil.Gribb

	UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads.

Change 3407495 on 2017/04/25 by Gil.Gribb

	UE4 - Tweaked out XBox and Windows low level file IO.

Change 3407497 on 2017/04/25 by Gil.Gribb

	UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads.

Change 3407705 on 2017/04/25 by Ben.Marsh

	Removing most of the junk in DotNETUtilities.

Change 3409701 on 2017/04/26 by Ben.Marsh

	Disable another static analyzer warning for third party libraries.

Change 3410074 on 2017/04/26 by Daniel.Lamb

	Network platform file runs heart beats and responds to modified file changes.
	Cook on the fly server in the editor (COTS) now detects changes to content and notifies client.
	Fixed issue with network platform file not using correct sandbox.

	#test cook on the side shootergame

Change 3411131 on 2017/04/27 by Steve.Robb

	TIsTriviallyDestructible now supports forward-declared enums.

Change 3411186 on 2017/04/27 by Steve.Robb

	Fix for #includes in generated code for Within classes which are in a different module from the generated class.

Change 3411917 on 2017/04/27 by Steve.Robb

	Fixes to pushing/popping the CPP macro.

Change 3411966 on 2017/04/27 by Steve.Robb

	Include spam reduced in generated code.

Change 3412155 on 2017/04/27 by Ben.Marsh

	Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians.

Change 3412223 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Calling SetHelperA.Num() twice.

Change 3412273 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Duplicated variable name.

Change 3412511 on 2017/04/27 by Ben.Marsh

	PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff)


Change 3412582 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code

Change 3413136 on 2017/04/28 by Robert.Manuszewski

	Helper functions for dissolving specific GC clusters

Change 3413310 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code.

Change 3413341 on 2017/04/28 by Gil.Gribb

	UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame.

Change 3413351 on 2017/04/28 by Ben.Marsh

	Include code analysis macros directly from Platform.h, so that macros are available to everything.

Change 3413352 on 2017/04/28 by Ben.Marsh

	Fixing a few more PVS studio warnings.

Change 3413437 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Comparison is always true.

Change 3413759 on 2017/04/28 by Ben.Marsh

	Suppressing warnings for PVS-Studio.

Change 3413784 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning.

Change 3413898 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: Same conditional is checked twice.

Change 3413915 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: LHS of expression is identical to RHS.

Change 3413989 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block.

Change 3414053 on 2017/04/28 by Ben.Marsh

	More PVS-Studio fixes.

Change 3414062 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed.

Change 3414070 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Fix incorrect condition.

Change 3414071 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Array index is always zero.

Change 3414116 on 2017/04/28 by Ben.Marsh

	BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute.

Change 3414160 on 2017/04/28 by Ben.Marsh

	Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout.

Change 3414237 on 2017/04/28 by Ben.Marsh

	EC: Allow disabling and enabling the log preprocessor via special markers in the log.

	To disable: <-- Suspend Log Parsing -->
	To enable: <-- Resume Log Parsing -->

Change 3414343 on 2017/04/28 by Ben.Marsh

	UBT: Exclude ThirdParty folders from PVS output.


Change 3414392 on 2017/04/28 by Ben.Marsh

	Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory.

Change 3414459 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Object goes out of scope without being freed.

Change 3414495 on 2017/04/28 by Ben.Marsh

	Suppress some more PVS-Studio warnings.

Change 3414514 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead.

Change 3414526 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Variable assigned to itself has no effect.

Change 3415183 on 2017/04/29 by Ben.Marsh

	Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS.

Change 3415765 on 2017/05/01 by Ben.Marsh

	Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not.

Change 3415853 on 2017/05/01 by Ben.Marsh

	EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created.

Change 3416138 on 2017/05/01 by Ben.Marsh

	Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that.

Change 3416309 on 2017/05/01 by Ben.Marsh

	Build: Fix node names for static analysis.

Change 3416360 on 2017/05/01 by Ben.Marsh

	UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows.

Change 3416398 on 2017/05/01 by Daniel.Lamb

	Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed.

	#test Cook on the side shootergame.

Change 3416826 on 2017/05/01 by Daniel.Lamb

	Added callback to game when files are requested reload from networkfileserver.
	Game will need to unload / reload effected objects.
	Working on simple reload capability in shootergame.

	#test Cook on the side shootergame with reloading

Change 3417983 on 2017/05/02 by Ben.Marsh

	EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern.

Change 3418747 on 2017/05/02 by Steve.Robb

	Fix for const pointer properties.
	Fix for UHT debugging manifest.
	Test added for pointer properties.

Change 3420477 on 2017/05/03 by Gil.Gribb

	UE4 - Removed check from windows async IO layer.

[CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00