Commit Graph

36 Commits

Author SHA1 Message Date
Chris Bunner
ab9d8e35b1 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3358140 on 2017/03/22 by Rolando.Caloca

	DR - Fix copy to cube face
	- Compile fix when using dump layer
	- Add new error enum

Change 3358301 on 2017/03/22 by Mitchell.Wilson

	Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.

Change 3358477 on 2017/03/22 by Mitchell.Wilson

	Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.

Change 3358529 on 2017/03/22 by Mark.Satterthwaite

	Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.

Change 3358745 on 2017/03/22 by Mark.Satterthwaite

	Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.

Change 3358837 on 2017/03/22 by Joe.Graf

	Merge of pull request #3214 for the RenderDocPlugin

	#CodeReview: matt.kuhlenschmidt, marcus.wassmer
	#rb: marcus.wassmer

Change 3359112 on 2017/03/22 by Ben.Salem

	Update perf monitor to include frame time by default. Also, use only  game/PIE world timers when in editor, instead of all worlds combined.

	#tests Ran several Showdown test runs with plugin!

Change 3359363 on 2017/03/22 by Joe.Graf

	First pass at non-unity & no pch compilation

Change 3359449 on 2017/03/22 by Joe.Graf

	Added missing null check when exporting a EXR on Linux (UE-40268)

	#CodeReview: dmitry.rekman
	#rb: n/a

Change 3360349 on 2017/03/23 by Guillaume.Abadie

	Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.

	#jira UE-42920

Change 3360405 on 2017/03/23 by Marcus.Wassmer

	Better method for detecting Kepler

Change 3360718 on 2017/03/23 by Daniel.Wright

	Planar reflections handle views smaller than the render target in a general way
	* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
	* Planar reflections are now supported in splitscreen

Change 3360758 on 2017/03/23 by Daniel.Wright

	[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead

Change 3360762 on 2017/03/23 by Daniel.Wright

	[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool

Change 3360768 on 2017/03/23 by Daniel.Wright

	[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram

Change 3360770 on 2017/03/23 by Daniel.Wright

	[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox

Change 3360771 on 2017/03/23 by Daniel.Wright

	[Copy] Particle lights no longer force tiled deferred lighting.  Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen.  Saves 1.5ms Xbox with one particle light.

Change 3360774 on 2017/03/23 by Daniel.Wright

	[Copy] Distance field cvar comments

Change 3360782 on 2017/03/23 by Daniel.Wright

	[Copy] Disabled selection color on Volume materials

Change 3360795 on 2017/03/23 by Daniel.Wright

	[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption.  Albedo is [0-1] reflectance, while Extinction is a world space density.

Change 3360799 on 2017/03/23 by Daniel.Wright

	[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y

Change 3360806 on 2017/03/23 by Daniel.Wright

	[Copy] Fixed volumetric fog being offset when viewport min is not 0

Change 3360809 on 2017/03/23 by Daniel.Wright

	[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot.  Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.

Change 3361651 on 2017/03/23 by Brian.Karis

	Higher quality sharp SSR at quality 4

Change 3361678 on 2017/03/23 by Brian.Karis

	Fresnel darkens diffuse for clearcoat.

Change 3361683 on 2017/03/23 by Brian.Karis

	Fixed SSR artifact

Change 3361691 on 2017/03/23 by Brian.Karis

	Chagned min roughness limit

Change 3361707 on 2017/03/23 by Brian.Karis

	Added inverse film tone map

Change 3361726 on 2017/03/23 by Brian.Karis

	Better precision inverse

Change 3361758 on 2017/03/23 by Brian.Karis

	Material flag normal curvature to roughness is no longer forward only.

Change 3361765 on 2017/03/23 by Brian.Karis

	Update ACES

Change 3361774 on 2017/03/23 by Brian.Karis

	Cleaned up alpha support and disabled screen edge clipping.

Change 3362478 on 2017/03/24 by Guillaume.Abadie

	Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.

	#author Brian.Karis

	#jira UE-42920

Change 3362738 on 2017/03/24 by Rolando.Caloca

	DR - Hide scene capture on IF

Change 3362890 on 2017/03/24 by Guillaume.Abadie

	Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha

Change 3363665 on 2017/03/24 by Mark.Satterthwaite

	PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)

Change 3363866 on 2017/03/24 by Arne.Schober

	DR - Updated NVAPI
	#RB Marcus.Wassmer

Change 3364300 on 2017/03/24 by Brian.Karis

	SSR use dynamic velocity

Change 3364372 on 2017/03/24 by Brian.Karis

	Fix changing off axis projection velocities.

Change 3364373 on 2017/03/24 by Brian.Karis

	Enabled velocity drawing in scene captures

Change 3365531 on 2017/03/27 by Guillaume.Abadie

	Computes the material's screen position material expression directly from the pixel shader SvPosition

Change 3365764 on 2017/03/27 by Chris.Bunner

	Lowering severity of crash for missing values in scalability.ini.

	#jira UE-41331

Change 3365916 on 2017/03/27 by Guillaume.Abadie

	Exposes the viewport offset within the view property material expression

Change 3365979 on 2017/03/27 by Brian.Karis

	Fixed skylight intensity from double applying

Change 3365987 on 2017/03/27 by Brian.Karis

	Stopped post process indirect lighting intensity from scaling skylight reflections

Change 3365991 on 2017/03/27 by Brian.Karis

	Fix for static analysis

Change 3366028 on 2017/03/27 by Daniel.Wright

	Volumetric fog supports static shadowing from Stationary lights
	* Using bilinear on static shadowmap depths + 1 PCF to smooth out results

Change 3366029 on 2017/03/27 by Daniel.Wright

	Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog

Change 3366055 on 2017/03/27 by Guillaume.Abadie

	Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.

Change 3366447 on 2017/03/27 by Simon.Tourangeau

	Fix IES light profile importer.
	- Bug in the LM-63-1986 format importer.

Change 3366836 on 2017/03/27 by Brian.Karis

	ClearUAV now supports int types

Change 3367435 on 2017/03/28 by Benjamin.Hyder

	Submitting Decal Automation map for initial approval

Change 3367572 on 2017/03/28 by Chris.Bunner

	Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.

	#jira UE-42989

Change 3367756 on 2017/03/28 by Olaf.Piesche

	Niagara material usage flags

Change 3367835 on 2017/03/28 by Marcus.Wassmer

	Fix crash when TileRenderer runs before anything else.  Make explicit behavior when rendering at a time when there is no valid scene.

Change 3367837 on 2017/03/28 by Marcus.Wassmer

	Missed a file.

Change 3367838 on 2017/03/28 by Richard.Wallis

	Updated items from original shelved version by Mark Satt:

	- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's

	**Description below taken from Mark Satt's original verison of this in CL3343280**

	Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.

	Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.

	- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently  supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
	- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
	- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
	- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
	- This bumps the object version and will cause all content to recook.
	- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).

Change 3367854 on 2017/03/28 by Mark.Satterthwaite

	Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.

Change 3367877 on 2017/03/28 by Brian.Karis

	Fixed linux build hopefully

Change 3368001 on 2017/03/28 by Mark.Satterthwaite

	Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.

Change 3368019 on 2017/03/28 by Mark.Satterthwaite

	And another fix for Windows compilation of MetalShaderFormat.

Change 3368042 on 2017/03/28 by Mark.Satterthwaite

	And a couple of simpler MSVC errors.

Change 3368271 on 2017/03/28 by Mark.Satterthwaite

	Make SceneRenderTargets compile again.

Change 3368691 on 2017/03/28 by Daniel.Wright

	[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis

Change 3369689 on 2017/03/29 by Marcus.Wassmer

	Fix non editor compile for now

Change 3369862 on 2017/03/29 by Marcus.Wassmer

	Get the rest of the things compiling again.

Change 3369896 on 2017/03/29 by Chris.Bunner

	Enabling AMD HDR support by default.

	#jira UE-42113

Change 3370535 on 2017/03/29 by Marcus.Wassmer

	DR - Fix template explicit instantiation for ClearUAV permutations
	#RB Brian.Karis, Arne.Schober

Change 3370704 on 2017/03/29 by Rolando.Caloca

	DR - Rewrote GPU Skin Cache
	- Per section buffers
	- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
	Copied from 3370529

Change 3371389 on 2017/03/30 by Richard.Wallis

	Remove temp working directories after archive packages built.

Change 3371641 on 2017/03/30 by Rolando.Caloca

	DR - Copy 3371640 (fix mem leak)

Change 3372436 on 2017/03/30 by Uriel.Doyon

	Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
	This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.

	Removed the limitation of only processing UMeshComponent when handling spawed primitive.
	This releases the level manager from having to manage dynamic primitives.
	This improves performance by not having to manage dynamic references in the level manager.

	Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
	many cases automatically where previously a manual callback to notify would have been required.

	Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
	because of lack of references in the streamer.

Change 3372740 on 2017/03/30 by Chris.Bunner

	[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
	StencilSceneTexture added to deferred list.
	A few known issues to be fixed in a follow-up CL.

Change 3372765 on 2017/03/30 by Uriel.Doyon

	Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update

Change 3372979 on 2017/03/30 by Richard.Hinckley

	#jira UE-43501
	The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.

Change 3373053 on 2017/03/30 by Simon.Tourangeau

	LPV Fade support
	- mostly integrated from CL 2959511

Change 3373272 on 2017/03/30 by Uriel.Doyon

	Added support for the concurrent update of dynamic primitives by the streaming manager.

Change 3373450 on 2017/03/30 by Rolando.Caloca

	DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
	Copy 3373364

	#jira UE-43492

Change 3373470 on 2017/03/30 by Marcus.Wassmer

	Nvidia Aftermath support

Change 3374187 on 2017/03/31 by Chris.Bunner

	Volume texture support for CombineLUTs/Tonemap compute pass.
	Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
	Skip compute post process out-of-bounds writes.
	Unsigned type conversion fixes.
	Trimmed compute post process shader inputs.

Change 3374233 on 2017/03/31 by Chris.Bunner

	Removed several redundant post process compute fences and resource transitions.
	Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).

Change 3374412 on 2017/03/31 by Rolando.Caloca

	DR - Fix static analysis

Change 3374544 on 2017/03/31 by Richard.Wallis

	FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.

	Future Work
	- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
	- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
	- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock

Change 3374588 on 2017/03/31 by Richard.Wallis

	Windows Compile Fixes

Change 3374810 on 2017/03/31 by Benjamin.Hyder

	updating recommended GPU drivers

Change 3375207 on 2017/03/31 by Rolando.Caloca

	DR - vk - Fixed swapchain format selection for some Linux platforms

Change 3375248 on 2017/03/31 by Rolando.Caloca

	DR - vk - Prefer D32S8

Change 3375495 on 2017/03/31 by Rolando.Caloca

	DR - vk - Update to sdk 1.0.42.2

Change 3375496 on 2017/03/31 by Rolando.Caloca

	DR - Force compiling with updated Vulkan SDK

Change 3375636 on 2017/03/31 by Mark.Satterthwaite

	Copying Metal improvements from task stream, with some modifications:
	- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
	- Support for Apple's Instruments "Points of Interest" tool.
	- Consolidation of some Mac & iOS compiler, memory and thread handling code.
	- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
	- Improvements to the internal FMetalDebug layer, still off by default.
	- Limited support for Xcode automatic code-signing for iOS/tvOS.
	- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
	- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
	- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
	- Smattering of lesser fixes.

Change 3375654 on 2017/03/31 by Mark.Satterthwaite

	Incremental Windows build fix.

Change 3375656 on 2017/04/01 by Mark.Satterthwaite

	Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).

Change 3375797 on 2017/04/01 by Mark.Satterthwaite

	Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...

Change 3375798 on 2017/04/01 by Mark.Satterthwaite

	Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.

Change 3375835 on 2017/04/01 by Mark.Satterthwaite

	Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.

Change 3376143 on 2017/04/02 by Mark.Satterthwaite

	Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.

Change 3376324 on 2017/04/03 by Chris.Bunner

	Fixed cvar re-registration log spam and flagged a testing-only cvar as such.

Change 3376726 on 2017/04/03 by Benjamin.Hyder

	Submitting initial HDR test map (WIP)

Change 3376756 on 2017/04/03 by Guillaume.Abadie

	Fixes scene captures ordering's backward compatibility.

	Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.

Change 3377378 on 2017/04/03 by Arne.Schober

	DR - Fix ShaderRecompiling over and over again
	#RB Chris.Bunner

Change 3377512 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events

Change 3377518 on 2017/04/03 by Daniel.Wright

	[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12

Change 3377526 on 2017/04/03 by Daniel.Wright

	[Copy] "Ran out of GPU queries!" log only happens once

Change 3377535 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed unreferenced local variable

Change 3377539 on 2017/04/03 by Daniel.Wright

	[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages

Change 3377546 on 2017/04/03 by Daniel.Wright

	[Copy] Added r.LightMaxDrawDistanceScale for local light scalability

Change 3377553 on 2017/04/03 by Daniel.Wright

	[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path

Change 3377560 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes

Change 3377565 on 2017/04/03 by Daniel.Wright

	[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)

Change 3377572 on 2017/04/03 by Daniel.Wright

	[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC

Change 3377586 on 2017/04/03 by Daniel.Wright

	Fixed compile error

Change 3377699 on 2017/04/03 by David.Hill

	FFT Code.  Moved over from raven and refactored

	#review-3374589 @guillaume.abadie

Change 3377910 on 2017/04/03 by David.Hill

	GPU FFT: Fix Linux Build
	adding a missing template<> to an IMPLEMENT_SHADER_TYPE

Change 3378751 on 2017/04/04 by Marcus.Wassmer

	HQ particle lights now spawn attached to the same socket as their parent module.

Change 3378819 on 2017/04/04 by Richard.Wallis

	Should be no need to protect shader cache against RHI thread now.

Change 3378823 on 2017/04/04 by Richard.Wallis

	FRHIShaderLibrary Opaque Type

	- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
	- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
	- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.

Change 3378883 on 2017/04/04 by Arne.Schober

	DR - Fix DCC build

Change 3378885 on 2017/04/04 by Richard.Wallis

	Metal resource cast compile fix post merge.

Change 3378946 on 2017/04/04 by Chris.Bunner

	SM4 assert fix.

Change 3378953 on 2017/04/04 by Chris.Bunner

	Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
	Allowed material nodes to opt out of mask-based pin coloration.
	#tests Compiled most Paragon materials + QAGame test maps.

	#jira UE-39885

Change 3379189 on 2017/04/04 by Arne.Schober

	DR - Fix aftermath staging

Change 3379229 on 2017/04/04 by Arne.Schober

	DR - Fix missing include

Change 3379374 on 2017/04/04 by Mark.Satterthwaite

	Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.

Change 3379505 on 2017/04/04 by Rolando.Caloca

	DR - Fix mismatched interpolators

Change 3379539 on 2017/04/04 by Mark.Satterthwaite

	No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...

	#jira UE-43626

Change 3379561 on 2017/04/04 by Rolando.Caloca

	DR - Fix root signature issues on D3D12 PC

Change 3379590 on 2017/04/04 by Mark.Satterthwaite

	Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.

	#jira UE-43626

Change 3379917 on 2017/04/04 by Uriel.Doyon

	Fix to input mismatch

Change 3380578 on 2017/04/05 by Chris.Bunner

	Shader type fixes.

	#jira UE-43652

Change 3380639 on 2017/04/05 by Rolando.Caloca

	DR - Expose GetOrCreate PSO and document

Change 3380821 on 2017/04/05 by Guillaume.Abadie

	Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()

	#jira UE-43642

Change 3381092 on 2017/04/05 by Guillaume.Abadie

	Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.

	This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.

Change 3381300 on 2017/04/05 by Mark.Satterthwaite

	Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.

	#jira UE-43597

Change 3381359 on 2017/04/05 by Guillaume.Abadie

	Back out changelist 3381092

Change 3381421 on 2017/04/05 by Mark.Satterthwaite

	Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.

	#jira UE-43689

Change 3381422 on 2017/04/05 by Mark.Satterthwaite

	Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.

	#jira UE-43691

Change 3381503 on 2017/04/05 by Daniel.Wright

	More intuitive controls for Volumetric Fog
	* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
	* InscatteringColorCubemap is now supported by Volumetric Fog
	* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
	* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
	* Volume Materials have twice the interpolators available

Change 3381527 on 2017/04/05 by Mark.Satterthwaite

	Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.

Change 3381671 on 2017/04/05 by Mark.Satterthwaite

	Better error message for failure to compile shaders remotely from PC for Metal.

Change 3381769 on 2017/04/05 by Rolando.Caloca

	DR - Added lock texture array 2d on Vulkan

Change 3382003 on 2017/04/05 by Mark.Satterthwaite

	Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.

Change 3382030 on 2017/04/05 by Zachary.Wilson

	Fix compiling Metal text shaders from PC broken in merge from task stream.
	#submitter mark.satterthwaite

	#jira UE-43652

Change 3382880 on 2017/04/06 by Mark.Satterthwaite

	Michael Trepka's CL #3379927:
	VolumetricFogVoxelization implementation for Mac

Change 3383315 on 2017/04/06 by Mark.Satterthwaite

	Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.

	#jira UE-43739

Change 3384639 on 2017/04/07 by Marcus.Wassmer

	Move ShaderResource version bump to RenderingObjectVersion

Change 3384704 on 2017/04/07 by Mark.Satterthwaite

	Compile fix for merge.

Change 3384933 on 2017/04/07 by Rolando.Caloca

	DR - Fix skin cache crash with BP (copy 3384714)

Change 3385104 on 2017/04/07 by Mark.Satterthwaite

	Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.

	#jira UE-43783

Change 3385105 on 2017/04/07 by Mark.Satterthwaite

	Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783

	#jira UE-43783

Change 3385118 on 2017/04/07 by Arne.Schober

	DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
	#RB none

Change 3385149 on 2017/04/07 by Marcus.Wassmer

	Fix skincache motion blur

Change 3385189 on 2017/04/07 by Rolando.Caloca

	DR - Fix swapchain format for editor on Vulkan

Change 3385287 on 2017/04/07 by Mark.Satterthwaite

	Enable SM5 on Intel as of 10.12.4 and later.

Change 3385347 on 2017/04/07 by Rolando.Caloca

	DR - Temp fix for GL4 corruption on editor
	#jira UE-43785

Change 3385363 on 2017/04/07 by Rolando.Caloca

	DR - Actually fix all win platforms for GL bug
	#jira UE-43785

Change 3385557 on 2017/04/07 by Arne.Schober

	DR - [UE-43205] - Fix mesh paint
	#RB none

Change 3385608 on 2017/04/07 by Daniel.Wright

	Fixed SampleCmp being used on a non-depth texture, causing a d3d error

Change 3385980 on 2017/04/10 by Rolando.Caloca

	DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture

Change 3386042 on 2017/04/10 by Rolando.Caloca

	DR - Fix metal merge issue

Change 3386157 on 2017/04/10 by Rolando.Caloca

	DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)

Change 3386356 on 2017/04/10 by Chris.Bunner

	Resolving merge errors.

Change 3386414 on 2017/04/10 by Chris.Bunner

	Resolved merge issue in RendererScene.cpp.

Change 3386700 on 2017/04/10 by Mark.Satterthwaite

	Silence documentation warnings.

Change 3387178 on 2017/04/10 by Chris.Bunner

	Removed invalid mask correction on MakeMA material nodes.

Change 3388177 on 2017/04/11 by Marcus.Wassmer

	Disable ensure that is no longer relevant now that we bind clear colors on texture creation

Change 3388261 on 2017/04/11 by Chris.Bunner

	Static analysis fix.

[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
Marcus Wassmer
2826204161 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3244756 on 2017/01/03 by Marcus.Wassmer

	Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3248667 on 2017/01/05 by Olaf.Piesche

	Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure

	#jira UE-40160

Change 3249324 on 2017/01/06 by Marcus.Wassmer

	Resave with an actual version to stop cook warning

Change 3249611 on 2017/01/06 by Marcus.Wassmer

	Just remove warning-causing niagara data for now.

Change 3308052 on 2017/02/16 by Rolando.Caloca

	DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute

Change 3308109 on 2017/02/16 by Rolando.Caloca

	DR - Upgrade glslang to 1.0.39.1

Change 3308111 on 2017/02/16 by Rolando.Caloca

	DR - Update Vulkan distribution to 1.0.39.1

Change 3308153 on 2017/02/16 by Rolando.Caloca

	DR - Updated glslang libs

Change 3308842 on 2017/02/17 by Rolando.Caloca

	DR - Fixed copy/paste

Change 3310007 on 2017/02/17 by Chris.Bunner

	Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.

	#jira UE-37792

Change 3310154 on 2017/02/17 by Chris.Bunner

	Assert when attempting to add a custom material attribute already in the base attributes list.

Change 3310155 on 2017/02/17 by Chris.Bunner

	PR #3231: Validate material index before accessing (Contributed by projectgheist)

	#jira UE-41774, UE-41788

Change 3310162 on 2017/02/17 by Chris.Bunner

	PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)

	#jira UE-41823, UE-41950

Change 3310176 on 2017/02/17 by Chris.Bunner

	Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
	Update to AGS 5.0.5.
	Partial code tidy up.

Change 3310187 on 2017/02/17 by Chris.Bunner

	Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.

	#jira UE-41594

Change 3310215 on 2017/02/17 by Chris.Bunner

	Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
	More descriptive error for missing Cubemap UV input on TextureSample material node .

	#jira UE-33098

Change 3310838 on 2017/02/18 by Joe.Graf

	Moved some private functions to public for a licensee

	#CodeReview: matt.kuhlenschmidt
	#rb: n/a

Change 3311876 on 2017/02/20 by Rolando.Caloca

	DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB

	#jira UE-42014

Change 3314139 on 2017/02/21 by Rolando.Caloca

	DR - Minor cleanup pass
	- Remove FVulkanPendingState
	- Renamed some classes for clarity
	- Hoist pending UAVs for flush out to pending compute state

Change 3314642 on 2017/02/21 by Rolando.Caloca

	DR - Some more renaming

Change 3315431 on 2017/02/21 by Ben.Salem

	Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.

	#tests Ran showdown demo several times

Change 3316710 on 2017/02/22 by Rolando.Caloca

	DR - hlslcc - Fix refract intrinsic

Change 3316718 on 2017/02/22 by Rolando.Caloca

	DR - hlslcc - Built libs to pick up change from 3316710 - refract fix

Change 3316820 on 2017/02/22 by Benjamin.Hyder

	updating Tm-TrigNodes map

Change 3317192 on 2017/02/22 by Benjamin.Hyder

	Updating QA-Decals map

Change 3317528 on 2017/02/22 by Benjamin.Hyder

	Updating QA-Decals map

Change 3317639 on 2017/02/22 by Benjamin.Hyder

	Updating Decal on Complex Mesh example in QA-Decals

Change 3317764 on 2017/02/22 by Benjamin.Hyder

	Final updates to QA-Decals

Change 3318319 on 2017/02/22 by Rolando.Caloca

	DR - minor reorg/rename

Change 3318379 on 2017/02/22 by Rolando.Caloca

	DR - more cleanup

Change 3321181 on 2017/02/24 by Rolando.Caloca

	DR - Fix GL bug

Change 3321247 on 2017/02/24 by Rolando.Caloca

	DR - Fix misc bugs

Change 3321898 on 2017/02/24 by Chris.Bunner

	Only issue clear TLV dispatch if required.

	#jira UERNDR-193

Change 3321904 on 2017/02/24 by Chris.Bunner

	Added comment for potential future optimization.

Change 3322013 on 2017/02/24 by Uriel.Doyon

	Fixed separate translucency being affected by Gaussian DOF
	#jira UE-40489

Change 3322517 on 2017/02/24 by Uriel.Doyon

	Fixed issue with InvestigateTexture command removing budget limit.
	Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
	#jira UE-40485

Change 3323470 on 2017/02/27 by Chad.Garyet

	Removing DDC job from dev-rendering

Change 3323479 on 2017/02/27 by Chad.Garyet

	Removing RDU agent type

Change 3323519 on 2017/02/27 by Chad.Garyet

	removing NCL/LHR/SEA agent types to clean up space

Change 3323639 on 2017/02/27 by Benjamin.Hyder

	More updates to QA-Decals

Change 3324207 on 2017/02/27 by Uriel.Doyon

	Fixed typo ScaleTexturesByGlobalMyBias ->  ScaleTexturesByGlobalMipBias
	Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef

Change 3324396 on 2017/02/27 by Uriel.Doyon

	Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
	#jira UE-40485

Change 3325227 on 2017/02/28 by Chris.Bunner

	Fix-up AMD AGS libs.

Change 3325566 on 2017/02/28 by Uriel.Doyon

	Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num

Change 3326009 on 2017/02/28 by Uriel.Doyon

	Better fix for 3325566, as the previous fix would ignore the material instance overrides.

Change 3327058 on 2017/03/01 by Benjamin.Hyder

	Preparing TM_Shadermodels map for automation

Change 3328222 on 2017/03/01 by Chris.Bunner

	Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.

	#jira UE-42449, UE-42446

Change 3329848 on 2017/03/02 by Uriel.Doyon

	Added some extra logs to help track UE-42168

Change 3329977 on 2017/03/02 by Rolando.Caloca

	DR - Fix bad clear value

Change 3330008 on 2017/03/02 by Benjamin.Hyder

	More preparations for QA-Decals automation

Change 3330754 on 2017/03/02 by Daniel.Wright

	Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything

Change 3331451 on 2017/03/03 by Marc.Olano

	Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal

Change 3331839 on 2017/03/03 by Rolando.Caloca

	DR - hlslcc - add missing file to project

Change 3332247 on 2017/03/03 by Rolando.Caloca

	DR - Fix for integrated intel
	PR #3305
	#jira UE-42393

Change 3332259 on 2017/03/03 by Rolando.Caloca

	DR - Fix bad index into pixel formats
	PR #3237
	#jira UE-41855

Change 3332305 on 2017/03/03 by Rolando.Caloca

	DR - OpenGL SRV for index buffers
	PR #3271
	#jira UE-32618

Change 3332313 on 2017/03/03 by Rolando.Caloca

	DR - Fix for integrated intel (properly)
	PR #3305
	#jira UE-42393

Change 3332317 on 2017/03/03 by Rolando.Caloca

	DR - OpenGL SRV for index buffers (properly)
	PR #3271
	#jira UE-32618

Change 3332368 on 2017/03/03 by Rolando.Caloca

	DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan

Change 3333690 on 2017/03/06 by Daniel.Wright

	[Copy] Changing movable skylight properties no longer affects static draw lists

Change 3333693 on 2017/03/06 by Daniel.Wright

	[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations

Change 3333705 on 2017/03/06 by Daniel.Wright

	[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
	* 8 bit uses half memory but introduces error for thin surfaces or large meshes.

Change 3333721 on 2017/03/06 by David.Hill

	DecalProxy:
	Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread.  This avoids  pointer chasing to the UDecalComponent (game thread component).

Change 3333772 on 2017/03/06 by Daniel.Wright

	[Copy] Scene motion blur data is only updated for the main renderer frames.  Fixes scene captures and planar reflections breaking object motion blur.

Change 3333790 on 2017/03/06 by Daniel.Wright

	[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
	* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging

Change 3333822 on 2017/03/06 by Daniel.Wright

	[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
	* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up

Change 3333827 on 2017/03/06 by Daniel.Wright

	[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average

Change 3333828 on 2017/03/06 by Daniel.Wright

	[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low

Change 3333831 on 2017/03/06 by Daniel.Wright

	Non-editor compile fix

Change 3333836 on 2017/03/06 by Daniel.Wright

	[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes.  They now use a 2d tiling mode which avoids the bloat, saving 96Mb.

Change 3333843 on 2017/03/06 by Daniel.Wright

	[Copy] Added OcclusionExponent to skylight component
	* Useful for brightening up indoors without losing contact shadows as MinOcclusion does

Change 3333845 on 2017/03/06 by Daniel.Wright

	[Copy] Capsule shadow BP functions

Change 3333850 on 2017/03/06 by Daniel.Wright

	[Copy] Added OcclusionCombineMode to skylight component

Change 3333854 on 2017/03/06 by Daniel.Wright

	[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu

Change 3333857 on 2017/03/06 by Daniel.Wright

	[Copy] Clear light attenuation for local lights with a quad covering their screen extents
	* Clearing the entire light attenuation buffer costs .1ms on PS4.  This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
	* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4

Change 3333860 on 2017/03/06 by Daniel.Wright

	[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory

Change 3333861 on 2017/03/06 by Daniel.Wright

	[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas

Change 3333869 on 2017/03/06 by Daniel.Wright

	[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
	* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
	* Lights have a VolumetricScatteringIntensity
	* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
	* Lighting features supported:
	   * Directional light with CSM and a light function
	   * Point / spot lights without shadows / light functions / IES profiles
	   * Skylight with occlusion from distance fields
	* Analytical height fog covers the view range past where the volumetric fog ends
	* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
	* Translucency integrates properly into volumetric fog
	* Height fog StartDistance is not supported by volumetric fog and should be set to 0.

Change 3333894 on 2017/03/06 by Daniel.Wright

	[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering

Change 3333902 on 2017/03/06 by Daniel.Wright

	[Copy] Better handling of volumetric fog enabled with distance of 0

Change 3333903 on 2017/03/06 by Daniel.Wright

	[Copy] Fixed volumetric fog trying to render light functions for a point light

Change 3333908 on 2017/03/06 by Daniel.Wright

	[Copy] Volumetric materials
	* Added new material domain Volume, which can output Scattering, Absorption and Emissive.  All properties are in world space densities.
	* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
	* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
	* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely

Change 3334134 on 2017/03/06 by Daniel.Wright

	[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.

Change 3334420 on 2017/03/06 by Daniel.Wright

	Fixed RTDF shadows

Change 3335467 on 2017/03/07 by Benjamin.Hyder

	Initial submission of QA-Decals map to EngineTest

Change 3335556 on 2017/03/07 by Daniel.Wright

	Changed mesh distance field default format back to R16f

Change 3338020 on 2017/03/08 by Daniel.Wright

	Disable volumetric fog in vertex shaders for feature levels which don't support it

Change 3339394 on 2017/03/09 by Chris.Bunner

	Correctly handle material texture translation error edge case.

	#jira UE-42579, UE-42670

Change 3339992 on 2017/03/09 by Daniel.Wright

	Only compile volumetric fog shaders on supporting platforms

Change 3341858 on 2017/03/10 by Arne.Schober

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

	#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite

Change 3342004 on 2017/03/10 by Arne.Schober

	Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
	Fix unity build

	#RB Marcus.Wassmer

Change 3343307 on 2017/03/13 by Marcus.Wassmer

	Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)

Change 3343732 on 2017/03/13 by Rolando.Caloca

	DR - Vulkan compute pipeline & refactor

Change 3344846 on 2017/03/14 by Rolando.Caloca

	DR - Android compile fixes

Change 3344883 on 2017/03/14 by Rolando.Caloca

	DR - Add missing stencil load/store to PSO initializer

Change 3344985 on 2017/03/14 by Rolando.Caloca

	DR - Made load/store actions uint8

Change 3345141 on 2017/03/14 by Rolando.Caloca

	DR - vk - Rework render pass hash

Change 3345304 on 2017/03/14 by Benjamin.Hyder

	Updating TM-Distancefields map to include TemplateFloor mesh

Change 3345387 on 2017/03/14 by Rolando.Caloca

	DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating

Change 3345388 on 2017/03/14 by Rolando.Caloca

	DR - Do not stall when creating shaders on Vulkan

Change 3345722 on 2017/03/14 by Chris.Bunner

	PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)

	#jira UE-42752

Change 3345723 on 2017/03/14 by Chris.Bunner

	Reduce log verbosity causing spamming during  landscape editing.

	#jira UE-42714

Change 3345725 on 2017/03/14 by Chris.Bunner

	[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.

Change 3345726 on 2017/03/14 by Chris.Bunner

	Typo fixes.

Change 3345732 on 2017/03/14 by Rolando.Caloca

	DR - Decouple vertex declaration off BSS

Change 3345746 on 2017/03/14 by Chris.Bunner

	Added sign() intrinsic material graph node and delisted material function workaround.

Change 3346042 on 2017/03/14 by Chris.Bunner

	Implement missing size query interface for FRenderTargetResources.

	#jira UE-41672

Change 3346387 on 2017/03/14 by Daniel.Wright

	[Copy] Added VolumetricScatteringIntensity to particle lights

Change 3346389 on 2017/03/14 by Daniel.Wright

	[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
	Disable volumetric fog when the fog show flag is disabled

Change 3346392 on 2017/03/14 by Daniel.Wright

	[Copy] Fixed skylight being much too bright on volumetric fog

Change 3346406 on 2017/03/14 by Daniel.Wright

	[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
	* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite

Change 3346412 on 2017/03/14 by Daniel.Wright

	[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb

Change 3346414 on 2017/03/14 by Daniel.Wright

	[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb

Change 3346415 on 2017/03/14 by Daniel.Wright

	[Copy] Missing file from cl 3338451

Change 3346421 on 2017/03/14 by Daniel.Wright

	[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
	* Volumetric fog converts NaNs to black now so they don't spread

Change 3346422 on 2017/03/14 by Daniel.Wright

	[Copy] Fixed NaN in volumetric fog with low density values

Change 3346423 on 2017/03/14 by Daniel.Wright

	[Copy] Changed default VolumetricFogScatteringDistribution to .2

Change 3346430 on 2017/03/14 by Daniel.Wright

	[Copy] New translucent material option to compute fog per pixel instead of the default per vertex

Change 3346432 on 2017/03/14 by Daniel.Wright

	[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
	Fixed lifetimes of temporary Volumetric Fog render targets

Change 3346526 on 2017/03/14 by Daniel.Wright

	[Copy] Volumetric Fog supports point and spot light shadows
	* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
	* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
	* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing

Change 3347053 on 2017/03/15 by Rolando.Caloca

	DR - android compile fix

Change 3347384 on 2017/03/15 by Rolando.Caloca

	DR - Fix merge issue

Change 3347643 on 2017/03/15 by Marcus.Wassmer

	Fix some bugs with the 'disable stationary skylight ffor the project' feature.
	Fixes lighting in Persona on Paragon.

Change 3347979 on 2017/03/15 by Rolando.Caloca

	DR - Allow to automatically apply cached rendertargets to PSO initializer

Change 3348024 on 2017/03/15 by Rolando.Caloca

	DR - Remove NullPS on Vulkan to avoid deadlock

Change 3348303 on 2017/03/15 by Rolando.Caloca

	DR - Fix for debugging SCW with material SRT

Change 3348357 on 2017/03/15 by Marcus.Wassmer

	Fix stencildither and a stencilref bug that was probably breaking decals sometimes.

Change 3348549 on 2017/03/15 by Marcus.Wassmer

	Hopefully fix static analysis for potential nullptr access.

Change 3348614 on 2017/03/15 by Marcus.Wassmer

	Duplicate some switch changes to fix crash on launch.

Change 3349369 on 2017/03/16 by Gil.Gribb

	Fixed botched merge

Change 3349947 on 2017/03/16 by Rolando.Caloca

	DR - Fix for mismatched primitive type

Change 3349956 on 2017/03/16 by Benjamin.Hyder

	initial updates to TM-DistanceFields map

Change 3350151 on 2017/03/16 by Rolando.Caloca

	DR - Fix UT compile issue

Change 3350155 on 2017/03/16 by Rolando.Caloca

	DR - Catch mismatched primitive type on PSOs on D3D11

Change 3350192 on 2017/03/16 by Daniel.Wright

	Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor

Change 3350736 on 2017/03/16 by Daniel.Wright

	Fixed formatting from merge

Change 3350881 on 2017/03/16 by Rolando.Caloca

	DR - Fix texture arrays as UAVs on Metal

Change 3350927 on 2017/03/16 by Rolando.Caloca

	DR - Fix warning

Change 3350935 on 2017/03/16 by Daniel.Wright

	Fix for materials with non-Surface domains being skipped in mesh passes

Change 3351583 on 2017/03/17 by Marcus.Wassmer

	Fix clang platforms

Change 3351917 on 2017/03/17 by Marcus.Wassmer

	Fix linux compile

Change 3351973 on 2017/03/17 by Marcus.Wassmer

	Fix mismatched rendertargetformat

Change 3352038 on 2017/03/17 by Daniel.Wright

	Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing

Change 3352110 on 2017/03/17 by Marcus.Wassmer

	Fix missing RT PSO apply

Change 3352695 on 2017/03/17 by Arne.Schober

	DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
	#RB Rolando.Caloca

Change 3352960 on 2017/03/17 by Arne.Schober

	DR - Fix some things that slipped trough the PSO merge
	#RB none

Change 3353150 on 2017/03/18 by Rolando.Caloca

	DR - compile fix

Change 3353205 on 2017/03/18 by Arne.Schober

	DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode

	#RB none

Change 3353207 on 2017/03/18 by Arne.Schober

	DR - Fix Confusion

	#RB none

Change 3355183 on 2017/03/20 by Nick.Bullard

	Fixed up Content orginzation for Decals automation tests in EngineTest

Change 3355627 on 2017/03/20 by Arne.Schober

	DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.

Change 3356342 on 2017/03/21 by Marcus.Wassmer

	Fix clang errors

Change 3356591 on 2017/03/21 by Arne.Schober

	DR - Fix ensure message
	#RB none

Change 3356873 on 2017/03/21 by Arne.Schober

	DR - Fix comparission of undefined values in RendertargetApply Check

Change 3357261 on 2017/03/21 by Marcus.Wassmer

	Fix LinuxEditor compile

Change 3357294 on 2017/03/21 by Marcus.Wassmer

	Add missing SSE functions

Change 3357351 on 2017/03/21 by Frank.Fella

	Fix win32 and linux compiler errors

Change 3357370 on 2017/03/21 by Arne.Schober

	DR - disable ensure in test builds

	#RB Marcus.Wassmer

[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
Rolando Caloca
f92fc1f2ad Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3274304)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3250856 on 2017/01/09 by Daniel.Wright

	Only showing instruction count for 'Base pass shader' now

Change 3250943 on 2017/01/09 by Rolando.Caloca

	DR - Async Compute PSO creation

Change 3251036 on 2017/01/09 by Rolando.Caloca

	DR - Add r.AsyncPipelineCompile
	- Dispatch on any thread
	- Wait for completion event

Change 3251058 on 2017/01/09 by Ben.Woodhouse

	Fix for PSO creation D3D error with NumRenderTargets. Add code to compute the correct number of valid rendertargets to prevent an issue during PSO creation when NumRenderTargets is >0, but none of the formats are valid (all formats are DXGI_UNKNOWN)
	#jira UE-40332

Change 3251141 on 2017/01/09 by Ben.Woodhouse

	Duplicated from Fortnite CL 3243458:
	D3D12 memory optimization -  The d3d12 buddy suballocator  is very wasteful for allocations above 4KB, but the vast majority of allocations are smaller . In the default buffer allocator this was causing 149MB of waste in 340MB of allocations. Moving the max allocation size threshold down to 4KB from 512KB saved 100MB of memory wastage memory.

	On PC, buffers are 64KB aligned, so we need the threshold to be higher to avoid additional wastage.

	Add PIX memory tracking instrumentation for buddy allocators so we can track the memory properly in PIX

Change 3251142 on 2017/01/09 by Ben.Woodhouse

	Duplicated from Fortnite 3243496
	memory optimisation: use NULL-terminated ansi strings instead of unicode FStrings for symbols, saving 118MB. Previously the strings were loaded from disk as ansi and then converted to FStrings (slowly), before finally being converted them back to ansi strings before being used. In addition to reducing memory overhead, this change reduces complexity and improves startup time.

Change 3252323 on 2017/01/10 by Rolando.Caloca

	DR - Gfx async PSO creation prep

Change 3252474 on 2017/01/10 by Daniel.Wright

	Added 'Compile Unreal Lightmass' to error message

Change 3252589 on 2017/01/10 by Daniel.Wright

	Back out bulk data for distance fields from cl 3241990 which causes distance fields to be corrupt in Fortnite

Change 3252790 on 2017/01/10 by Daniel.Wright

	Added InscatteringColorCubemapAngle to exponential height fog

Change 3252843 on 2017/01/10 by Uriel.Doyon

	Propper fix for UE-40211, where texture streaming bound defrag and async tasks could interact in coherent ways.
	The bound defrag is now done outside of the async work logic.

Change 3252866 on 2017/01/10 by Mark.Satterthwaite

	Fix Metal shader pipeline hash collisions caused by deferring MTLFunction construction until PrepareToDraw so that we may use Function-Constants to specialise the shader source without generating additional permutations. This is required to generate proper tessellation shaders which are specialised against the index-buffer usage & type (none, uint16, uint32). While we're here amend the hash functions to make better use of the existing hash functions to improve the distribution and hopefully reduce the possibility of collisions in future.
	#jira UE-40357

Change 3254511 on 2017/01/11 by Rolando.Caloca

	DR - PSO stats

Change 3255958 on 2017/01/12 by Mark.Satterthwaite

	Reimplement RQT_AbsoluteTime for Metal - pretty sure I did this before, but somehow it got lost. When a RQT_AbsoluteTime is inserted into the command-stream, insert a command-buffer completion handler to record the time of completion & submit the command-buffer immediately. This breaks command-buffers so is noticeably slower and if inserted in a pass that can't be restarted will fail but is currently the only option available. This is sufficient to support the GPUBenchmark used by Scalability. To make this more efficient I've refactored the FMetalCommandBufferFence implementation so that we use a single shared-ptr object containing the command-buffer and a dispatch semaphore, rather than allocating one for each query. The semaphore allows for timed-waits where previously we'd block until completion, unlike the other APIs that report failure after a fixed interval (2s for RQT_AbsoluteTime, otherwise 0.5s). Sadly not all drivers support this abuse of the Metal API, so replace the GL-based workaround for not having time queries with one that just guesses based on RHI device details. Radars will be filed.
	#jira UE-40554

Change 3256329 on 2017/01/12 by Olaf.Piesche

	#jira UE-38615

	Assert shouldn't be necessary; in fact, it causes a crash when exporting emitters, since in that case we're changing the template at runtime.

Change 3256371 on 2017/01/12 by Uriel.Doyon

	Reenabled texture streaming bound defrag as the fix is in CL 3252843

Change 3257032 on 2017/01/13 by Daniel.Wright

	Added fastClamp to fastmath.usf

Change 3257111 on 2017/01/13 by Daniel.Wright

	Disabled bAffectDistanceFieldLighting on DefaultPawn, fixes VisualizeMeshDistanceFields in game

Change 3257112 on 2017/01/13 by Daniel.Wright

	DFAO optimizations
	* Changed the culling algorithm to produce a list of intersecting screen tiles for each object, instead of the other way around.  Each tile / object intersection gets its own cone tracing thread group so wavefronts are much smaller and scheduled better.  3.63ms -> 3.48ms (.15ms)
	* Replace slow instructions in inner loop with fast approximations (exp2 -> sqr + 1, rcpFast, lengthFast) 3.25ms -> 3.09ms (.16ms)
	* Moved transform from world to local space out of the inner loop (sample position constructed from local space position + direction) 3.09ms -> 3.04ms
	* Compute shader for ClearUAV 3.04ms -> 2.62ms (.42ms)

Change 3257113 on 2017/01/13 by Daniel.Wright

	Better distance field memory stats

Change 3257326 on 2017/01/13 by Uriel.Doyon

	Workaround to support cases where several textures have the same lighting GUID.

Change 3257448 on 2017/01/13 by Daniel.Wright

	Removed legacy features Distance Field Specular Occlusion, Distance Field Surface Cache AO, PreCullTriangles

Change 3257616 on 2017/01/13 by Daniel.Wright

	Distance field mesh visualization now uses a cone containing the entire tile to cull objects with, making the results stable

Change 3257657 on 2017/01/13 by Daniel.Wright

	Mesh distance fields are stored zlib compressed in memory until needed for uploading to GPU
	* 81Mb of backing memory -> 32Mb in GPUPerfTest, atlas upload time 29ms -> 893ms

Change 3258063 on 2017/01/14 by Rolando.Caloca

	DR - vk - Refactor descriptor set reuse in prep for more changes

Change 3258715 on 2017/01/16 by Daniel.Wright

	Added VisualizeGlobalDistanceField show flag

Change 3258827 on 2017/01/16 by Daniel.Wright

	Global distance field update regions are clipped against others to reduce redundant updates.

Change 3258959 on 2017/01/16 by Benjamin.Hyder

	Updating Planar Reflection example material in TM-Shadermodels

Change 3259270 on 2017/01/16 by Daniel.Wright

	[Copy] 'r.MSAACount 1' now produces no MSAA or TAA.  'r.MSAACount 0' can be used to toggle TAA on for comparisons.

Change 3259652 on 2017/01/16 by Uriel.Doyon

	Better support for static primitive becoming dynamic.

Change 3260107 on 2017/01/17 by Ben.Woodhouse

	Fix FMonitoredProcess to prevent infinite loop in -nothreading mode
	#jira UE-40717

Change 3260594 on 2017/01/17 by Daniel.Wright

	Added a new global distance field (4x 128^3 clipmaps) which caches mostly static primitives (Mobility set to Static or Stationary)
	* The full global distance field inherits from the mostly static cache, so when a Movable primitive is modified, only other movable primitives in the vicinity need to be re-composited into the global distance field
	* Global distance field update cost with one large rotating object went from 2.5ms -> .2ms on 970GTX and 4.6ms -> .3ms.  Worst case full volume update is mostly the same.
	* Adds 12Mb for the new volume textures

Change 3260956 on 2017/01/17 by Daniel.Wright

	Structured buffers for DF object data
	* Full global distance field clipmap composite 3.0ms -> 2.0ms due to scalarized loads

Change 3261296 on 2017/01/17 by Daniel.Wright

	Exposed MaxObjectsPerTile with 'r.AOMaxObjectsPerCullTile' and lowered the default from 512 to 256, saves 17Mb of object tile culling data structures
	Removed unnecessary UAV transitions preventing object and global cone tracing from overlapping, saves ~.1ms

Change 3262036 on 2017/01/18 by Ben.Salem

	V0 of Perf monitor plugin for easily consumable stat csvs. With plugin enabled, enter PerformanceMonitor help into the console to get usage details.

Change 3262056 on 2017/01/18 by Chris.Bunner

	Remove inverse tonemapping when rendering HDR output.
	#jira UE-40728

Change 3262661 on 2017/01/18 by Rolando.Caloca

	DR - Add missing SetStencilRef() and SetBlendFactor() on most RHIs
	- Fix hash for PSOs

Change 3263674 on 2017/01/19 by Chris.Bunner

	PR #3144: Improved error messages (Contributed by DarkSlot)
	#jira UE-40835

Change 3264150 on 2017/01/19 by Ben.Woodhouse

	Add support for single threaded in FMonitoredProcess. Deprecated IsRunning() in favour of a new Update() method because polling IsRunning is not compatible with -nothreading mode
	#jira UE-40841

Change 3264153 on 2017/01/19 by Ben.Woodhouse

	Integrate latest changes from MS-DX12 CLs 3231395-3262526

	- Added WinPixEventRuntime.tps
	- Includes PIX support, various optimizations (saved 1.3ms in testbed scene)

	CL 3262343:
	Fix depth testing on translucency not working correctly after cl 3231395. This change reapplies the D3D12RHI changes from CL 3231395 because those changes were lost when integrating from //Dev-Rendering/ but also includes the depth fixes:
	 - Fix depth state not being in DEPTH_READ for use as depth read. The issue was HasDepthBits and HasStencilBits wern't intended for SRV formats and always returned false in the SRV case.

	CL 3231395:
	  Update D3D12 RHI:
	 - Fix deferred MSAA path in RHI
	 - Add Pix3.h support
	 - Cleanup SetName usage and remove it from shipping builds.
	 - Fix fence reuse bug. We were signaling MAX UINT (-1) and then waiting for 0, which was always signaled. This change also removes the fence value reset code, there is no need to reset a fence to a previous value.
	 - Use FPlatformAtomics::InterlockedIncrement instead of InterlockedIncrement64
	 - Use InterlockedIncrement() instead of _InterlockedIncrement() and use the FPlatformAtomics:: version.
	 - Fix possible readback heap being evicted while in use. GetQueryData happens on the render thread and isn't tied to a command list so we should always have readback heaps resident.

Change 3264251 on 2017/01/19 by Mark.Satterthwaite

	Modify some asserts in MetalRHI - technically using a store-action of ENoAction on Stencil buffers should make it invalid to restart a render-pass but on Mac it will work because ENoAction won't invalidate anything written. In future we need to use deferred store-actions in Metal so that we can "restart" passes while enforcing correct Load/Store actions.
	#jira UE-40803

Change 3264642 on 2017/01/19 by Daniel.Wright

	Raised GMaxShadowDepthBufferSizeX to max texture resolution on most platforms, was previously 4096.

Change 3265330 on 2017/01/20 by Ben.Salem

	Stop performance plugin from building in Win32.
	#tests recompiled and preflighted

Change 3265678 on 2017/01/20 by Marcus.Wassmer

	Fix bad declaration.
	#3055

Change 3266656 on 2017/01/20 by Mark.Satterthwaite

	Changes to the FShaderCache to restore it and extend it to optionally report on shader de-duplication when generating a binary shader cache (Console Variable: r.BinaryShaderCacheLogging).

	Duplicate & amend CL #3266053 from Trepka:
	Fixed issues with shader cache not working properly with Mac Metal (but it still requires -norhithread to work at all). Enabled the shader cache by default if RHI thread is disabled.

	Amend & integrate RCO's CL #3197085.

Change 3267741 on 2017/01/23 by Rolando.Caloca

	DR - Detect duplicated shader and pipeline types

Change 3268600 on 2017/01/23 by Uriel.Doyon

	Added missing r.Streaming.MaxEffectiveScreenSize config to base texture scability settings.
	Integrated CL 3227368 from Orion stream
	Enabled r.Streaming.UsePerTextureBias by default as this has been tested in Orion for several months.
	Fixed issue with the  InvestigateTexture command which could return invalid reference depending on the timing,
	Added th MaxEffectiveScreenSize settings in the investigate texture command.

Change 3269512 on 2017/01/24 by Richard.Wallis

	Fix for shader binary cache uncompress data size during internal shader log.

Change 3271237 on 2017/01/25 by Ben.Woodhouse

	D3D12 updateTexture2D crash fix

	#jira UE-41059

Change 3271564 on 2017/01/25 by Olaf.Piesche

	#jira UE-40980
	#udn 325525

	Fix uniform buffers for mesh particles; these should really be on the mesh collector, so allocating them as a one frame resource is safe

Change 3271594 on 2017/01/25 by Ben.Woodhouse

	ESRAM support stage 1:
	Implemented noncontiguous ESRAM page allocator replacing XgMemoryLayout API. The allocator allocates non-contiguous ranges of pages and maps them onto a contiguous virtual address range.
	Unlike the previous implementation, this allocator frees pages for reuse when resources are destroyed
	Note: issues with deferred deallocation may prevent reuse in many cases - that will be addressed in the next stage
	Support for the old allocator is still available (for now) via the define NEW_ESRAM_ALLOCATOR
	#fyi rolando.caloca

Change 3272616 on 2017/01/25 by Rolando.Caloca

	DR - Update shader version

Change 3273138 on 2017/01/26 by Ben.Woodhouse

	Fix merge issue with MonitoredProcess.cpp (this arose from an integration made as an edit in dev-rendering, which confused perforce when the change was subsequently integrated from main)

[CL 3274498 by Rolando Caloca in Main branch]
2017-01-26 19:20:49 -05:00
Gil Gribb
ab5d7150f4 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3122543 on 2016/09/13 by Ben.Woodhouse

	Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.

	#jira UE-35878

Change 3122544 on 2016/09/13 by Ben.Woodhouse

	Shadow stencil optimisation with cvar (enabled by default)

	Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.

	This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)

	Shadow projection GPU time profiling :
	Test map with 35 characters, stationary directional light
	  - 4ms-2ms on XB1
	  - 2.5ms to 0.9ms on PC (r9-390X)
	  - 3ms-2ms on PS4

	Paragon PS4 (roughly 20% reduced - from ~0.39ms)

Change 3122687 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix ES31 crash

Change 3122691 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fixes for SDK 1.0.26.0

Change 3122778 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix number of layers on barrier

Change 3122921 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix ES3.1

Change 3122925 on 2016/09/13 by Ben.Woodhouse

	Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
	#jira UE-35904

Change 3123016 on 2016/09/13 by Chris.Bunner

	Fixed adaptive tessellation, broken by CL 3089208 refactor.
	#jira UE-35341

Change 3123079 on 2016/09/13 by Rolando.Caloca

	DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)

Change 3123503 on 2016/09/13 by David.Hill

	#jira UE-25623
	converted a check() to checkf() to include better diagnostic information.

Change 3123617 on 2016/09/13 by Guillaume.Abadie

	Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.

	#jira UE-35128

Change 3123743 on 2016/09/13 by Brian.Karis

	Separate mesh reduction interfaces for static and skeletal.

	Zero bad tangents from input mesh.

Change 3125378 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.

Change 3125527 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix UT build and mac

Change 3125741 on 2016/09/14 by Rolando.Caloca

	DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)

Change 3125763 on 2016/09/14 by Rolando.Caloca

	DR - vk - Added new Renderpass cache
	- Fix buffer barrier warning

Change 3125769 on 2016/09/14 by Rolando.Caloca

	DR - Renamed cvar to r.DumpSCWQueuedJobs

Change 3125771 on 2016/09/14 by Rolando.Caloca

	DR - Added support for SV_ClipDistance on GL3 & 4

Change 3125792 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix Odin and PS4

Change 3125880 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix Fortnite

Change 3125968 on 2016/09/14 by Brian.Karis

	Removed comment

Change 3126315 on 2016/09/15 by Ben.Woodhouse

	GPU profiler robustness
	-  Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
	- Simplify gathering logic
	- Fix race condition where we could read back queries before they're submitted on the RHI thread.
	- Fix for movie player stat gathering - disable gathering outside of the main engine tick
	#jira UE-35975

Change 3126792 on 2016/09/15 by Rolando.Caloca

	DR - vk - Release render pass cache

Change 3126804 on 2016/09/15 by Rolando.Caloca

	DR - vk - Fix UpdateTexture2D()
	#jira UE-34151

Change 3126884 on 2016/09/15 by Rolando.Caloca

	DR - vk - Compile fix

Change 3126953 on 2016/09/15 by Rolando.Caloca

	DR - Enable GPU capture when running OpenGL under RenderDoc
	- Will also set the memory mode to non coherent so not to kill performance on RenderDoc

Change 3126966 on 2016/09/15 by Rolando.Caloca

	DR - Allow cooking for Vulkan SM4 to help with packaging

Change 3127082 on 2016/09/15 by Guillaume.Abadie

	Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.

	#jira UE-35367, UE-33602, UE-33603, UE-33604
	#review-3125887 @brian.karis

Change 3127130 on 2016/09/15 by Mark.Satterthwaite

	Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
	#jira FORT-25869
	#jira UE-34263

Change 3127475 on 2016/09/15 by Rolando.Caloca

	DR - vk - Debug dump

Change 3128131 on 2016/09/16 by Ben.Woodhouse

	(Integrated from //UE4/Private-Partner-NREAL/...)

	Alpha output support for postprocess materials (optional via a parameter)

	Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)

Change 3128135 on 2016/09/16 by Ben.Woodhouse

	GPU profiler (PS4) - remove bubbles between commandlist submissions from query times

	Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)

	Also fixes some potential precision issues with unit GPU timing

Change 3128247 on 2016/09/16 by Rolando.Caloca

	DR - vk - Cache framebuffers

Change 3128593 on 2016/09/16 by Rolando.Caloca

	DR - vk - Fix for crash loading map
	#jira UE-36072

Change 3128759 on 2016/09/16 by Mark.Satterthwaite

	Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.

Change 3130236 on 2016/09/19 by Chris.Bunner

	Exposed full SceneCaptureComponent classes instead of select methods.
	#jira UE-35996

Change 3130388 on 2016/09/19 by Rolando.Caloca

	DR - Avoid crash when adding dynamic primitives
	#jira UE-35327

Change 3130393 on 2016/09/19 by Marc.Olano

	Improve vector noise tooltips & documentation

Change 3130547 on 2016/09/19 by Ben.Woodhouse

	Fix for ensure fail when initializing point light shadowmaps.

	This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.

	I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
	#jira UE-35837

Change 3130578 on 2016/09/19 by Daniel.Wright

	Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL

Change 3130682 on 2016/09/19 by Rolando.Caloca

	DR - Better fix for UE-35327
	#jira UE-35327

Change 3130767 on 2016/09/19 by Uriel.Doyon

	Better handling of color array in VisualizeComplexity code to prevent assert.
	#jira UE-29332

Change 3130965 on 2016/09/19 by Arne.Schober

	DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.

Change 3130967 on 2016/09/19 by Chris.Bunner

	Hid redundant texture sampler properties from texture object parameter.
	Hid redundant texture property input on texture parameter nodes.
	Fixed copy-paste error in expression texture parameter docs.
	#jira UE-32724

Change 3131118 on 2016/09/19 by Mark.Satterthwaite

	Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
	#jira FORT-25869
	#jira UE-34263

Change 3131153 on 2016/09/19 by Rolando.Caloca

	DR - Fix recompute normals when triangles have a LHS tangent basis

	Integrate from 3028634
	- Also make meshes that don't have morphs be able to run through the recompute normals path
	#jira UE-35472

Change 3131228 on 2016/09/19 by Mark.Satterthwaite

	Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
	#jira UE-35240

Change 3131246 on 2016/09/19 by Rolando.Caloca

	DR - Shrink gpu skinning permutations

Change 3131261 on 2016/09/19 by Mark.Satterthwaite

	Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
	ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.

Change 3131265 on 2016/09/19 by Mark.Satterthwaite

	Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.

Change 3131271 on 2016/09/19 by Mark.Satterthwaite

	Use private memory for the Metal stencil SRV workaround needed on El Capitan.

Change 3131273 on 2016/09/19 by Mark.Satterthwaite

	Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.

Change 3131280 on 2016/09/19 by Mark.Satterthwaite

	For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.

Change 3131283 on 2016/09/19 by Mark.Satterthwaite

	Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.

Change 3131402 on 2016/09/19 by Rolando.Caloca

	DR - Disambiguate callstack
	#jira UE-34415

Change 3131469 on 2016/09/19 by Rolando.Caloca

	DR - vk - Check if we can allocate descriptors off a pool

Change 3131482 on 2016/09/19 by Rolando.Caloca

	DR - vk - Remove unused var

Change 3131506 on 2016/09/19 by Mark.Satterthwaite

	With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.

Change 3131536 on 2016/09/19 by Rolando.Caloca

	DR - vk - Compile fix

Change 3131564 on 2016/09/19 by Rolando.Caloca

	DR - vk - Submit Hint
	- Disable framebuffer recycling as its causing a hang

Change 3131625 on 2016/09/19 by Mark.Satterthwaite

	Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.

Change 3131630 on 2016/09/19 by Mark.Satterthwaite

	More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.

Change 3131955 on 2016/09/20 by Gil.Gribb

	Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3131978 on 2016/09/20 by Gil.Gribb

	CIS fix

Change 3132584 on 2016/09/20 by Ben.Woodhouse

	Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling

	#jira UE-35937

Change 3132696 on 2016/09/20 by Mark.Satterthwaite

	Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.

Change 3132772 on 2016/09/20 by Mark.Satterthwaite

	Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.

Change 3132870 on 2016/09/20 by Ben.Woodhouse

	Fix mac compile error

Change 3133049 on 2016/09/20 by Brian.Karis

	Changed light source shapes in reflection captures to use alpha

Change 3133057 on 2016/09/20 by Brian.Karis

	Alphaed out on spot light cone as well.

Change 3133263 on 2016/09/20 by Rolando.Caloca

	DR - vk - Debug names for objects

Change 3133292 on 2016/09/20 by Rolando.Caloca

	DR - vk - Fix SRGB upload/formats

Change 3133395 on 2016/09/20 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3134026 on 2016/09/21 by Gil.Gribb

	Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3134663 on 2016/09/21 by Chris.Bunner

	Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
	#jira UE-34347

Change 3134730 on 2016/09/21 by Arne.Schober

	DR - [UE-34481] - Fix minor brokenness found by Gil

Change 3134792 on 2016/09/21 by Chris.Bunner

	Fixed compile errors for non-editor builds.

Change 3135214 on 2016/09/21 by Rolando.Caloca

	DR - vk - Fix visualize texture
	- Dump memory when OOM (to track leaks)

Change 3135225 on 2016/09/21 by Rolando.Caloca

	DR - vk - Ensure on exit if mem leak
	- Update fences if running wait for idle

Change 3135672 on 2016/09/22 by Gil.Gribb

	Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3135793 on 2016/09/22 by Rolando.Caloca

	DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer

Change 3135816 on 2016/09/22 by Rolando.Caloca

	DR - Add names for d3d on renderdoc

Change 3135894 on 2016/09/22 by Chris.Bunner

	Fixed initialization order warning.

Change 3136024 on 2016/09/22 by Rolando.Caloca

	DR - vk - Fix stencil faces

Change 3136042 on 2016/09/22 by Marcus.Wassmer

	Fix compile error

Change 3136046 on 2016/09/22 by Chris.Bunner

	Renamed material for PostTonemapHDRColor visualization to reflect actual usage.

Change 3136308 on 2016/09/22 by Uriel.Doyon

	Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
	#jira UE-36094

Change 3136798 on 2016/09/22 by Chris.Bunner

	Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.

Change 3137092 on 2016/09/22 by Rolando.Caloca

	DR - vk - Rename pipeline to gfx pipeline

Change 3137263 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135157:
	Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
	#jira FORT-30061

Change 3137265 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135169:
	Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).

Change 3137266 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135237:
	Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.

Change 3137268 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3136033:
	To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
	Fix GPU selection code in MetalRHI to confirm everything is working.
	#jira FORT-30385

Change 3137269 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3137164:
	Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
	#jira FORT-30377

Change 3137606 on 2016/09/23 by Gil.Gribb

	Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3137936 on 2016/09/23 by Rolando.Caloca

	DR - Split RHICmdList clear into color & ds in prep for changes

Change 3138346 on 2016/09/23 by Rolando.Caloca

	DR - vk - Some renaming and splitting classes in prep for compute

Change 3138628 on 2016/09/23 by Rolando.Caloca

	DR - vk - Fix mem leak on framebuffers

Change 3138721 on 2016/09/23 by Daniel.Wright

	Better comment for r.DefaultFeature.AntiAliasing

Change 3138722 on 2016/09/23 by Daniel.Wright

	Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface

Change 3138723 on 2016/09/23 by Daniel.Wright

	Corrected GC doc

Change 3138892 on 2016/09/23 by Daniel.Wright

	Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build

Change 3138905 on 2016/09/23 by Daniel.Wright

	"Optimizations" -> "Optimization Viewmodes"

Change 3138939 on 2016/09/23 by Daniel.Wright

	Disabled the stationary light overlap viewmode with forward shading

Change 3139710 on 2016/09/26 by Rolando.Caloca

	DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture

Change 3139820 on 2016/09/26 by Rolando.Caloca

	DR - Remove prefix from shader frequency strings

Change 3139828 on 2016/09/26 by Marcus.Wassmer

	Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.

Change 3139840 on 2016/09/26 by Benjamin.Hyder

	Adding VectorNoise Examples to TM-Noise map

Change 3139862 on 2016/09/26 by Rolando.Caloca

	DR - Better log to track down crash
	#jira UE-36271

Change 3140142 on 2016/09/26 by Rolando.Caloca

	DR - Fix clang warning

Change 3140145 on 2016/09/26 by Rolando.Caloca

	DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters

Change 3140360 on 2016/09/26 by Daniel.Wright

	Lighting Scenarios and lightmaps moved to separate package
	* Levels can be marked as lighting scenarios (eg Day, Night).  Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden.  Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
	* Most outputs of the lighting build now go into a separate _BuiltData package.  This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
	* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package.  This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both).  This also means that lightmaps for a streaming level will not be streamed with it.
	* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
	* Reflection captures and precomputed visibility were not moved to the separate package.  Reflection captures are force updated on load of a lighting scenario level, which can increase load times.

Change 3140361 on 2016/09/26 by Daniel.Wright

	Lighting Scenarios UI

Change 3140582 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140166
	Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
	#jira FORT-30551

Change 3140584 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140131:
	Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
	#jira FORT-30622

Change 3140586 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140450:
	Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
	#jira FORT-30649

Change 3140594 on 2016/09/26 by Zabir.Hoque

	Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.

Change 3140601 on 2016/09/26 by Marcus.Wassmer

	New 'Cinematic' Scalability level.  Remove unused 'new' motionblur CVAR

Change 3140602 on 2016/09/26 by Zabir.Hoque

	CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.

	#Tests: Fix was tested by licensee (GearBox).

Change 3140622 on 2016/09/26 by Rolando.Caloca

	DR - vk - More prep for sm5

Change 3140765 on 2016/09/26 by Rolando.Caloca

	DR - Fix ensure from bad clear depth surface

Change 3141251 on 2016/09/27 by Rolando.Caloca

	DR - vk - Rename & cleanup

Change 3141394 on 2016/09/27 by Rolando.Caloca

	DR - vk - Compute pipeline state

Change 3141463 on 2016/09/27 by Mark.Satterthwaite

	Fix the include order to avoid compile errors on Mac.

Change 3141529 on 2016/09/27 by Gil.Gribb

	Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3141830 on 2016/09/27 by zachary.wilson

	Adding testing content for lighting scenarios to collaborate with Ben

Change 3141941 on 2016/09/27 by Olaf.Piesche

	Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.

Change 3142035 on 2016/09/27 by Olaf.Piesche

	Fix compiler error from silly leftover bit of code.

Change 3142065 on 2016/09/27 by Benjamin.Hyder

	Updating Lighting Scenario map

Change 3142262 on 2016/09/27 by Mark.Satterthwaite

	Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
	On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
	On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
	#jira UE-35749

Change 3142292 on 2016/09/27 by Rolando.Caloca

	DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
	#jira UE-31438

Change 3142397 on 2016/09/27 by Mark.Satterthwaite

	Update hlslcc for Mac including RCO's changes in CL #3142292.
	#jira UE-31438

Change 3142438 on 2016/09/27 by Daniel.Wright

	UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking

Change 3142452 on 2016/09/27 by Rolando.Caloca

	DR - Proper support for int defines

Change 3142519 on 2016/09/27 by Arne.Schober

	DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.

Change 3142537 on 2016/09/27 by Daniel.Wright

	Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset

Change 3142691 on 2016/09/27 by Daniel.Wright

	Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content

Change 3142711 on 2016/09/27 by Daniel.Wright

	GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser

Change 3142712 on 2016/09/27 by Daniel.Wright

	Separate category for ParticleCutout properties

Change 3142762 on 2016/09/27 by Uriel.Doyon

	Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
	The density are computed by the engine but can be overridden by the user in the material tabs.

	Texture streaming intermediate component data is now per material instead of per lod-section.

	New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
	This is currently used to show which UV channel and which texture index is being
	shown in the texture streaming accuracy viewmodes.
	This replaces r.Streaming.AnalysisIndex

	Renamed texture streaming viewmodes:
	MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
	MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
	MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales

	Improved UV density computation and viewmode.

	LightmapUVDensity is now computed separately from UVChannel Density.

	Fixed texture streaming for instanced static mesh component and derived types.

Change 3143464 on 2016/09/28 by Daniel.Wright

	Removed 'experimental' from forward shading setting

Change 3143508 on 2016/09/28 by Chris.Bunner

	Added component type handling to FoldedMath and Length material expressions.
	#jira UE-36304

Change 3143557 on 2016/09/28 by Rolando.Caloca

	DR - Back out changelist 3142292

Change 3143563 on 2016/09/28 by Rolando.Caloca

	DR - vk - Force hlslcc re-link

Change 3143648 on 2016/09/28 by Daniel.Wright

	Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.

Change 3143661 on 2016/09/28 by Chris.Bunner

	Warning fix.

Change 3143723 on 2016/09/28 by Daniel.Wright

	DumpUnbuiltLightIteractions after lighting build for debugging

Change 3143822 on 2016/09/28 by Arne.Schober

	DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.

Change 3143860 on 2016/09/28 by Benjamin.Hyder

	Updating TM-Noise map to include 3d noise examples

Change 3143939 on 2016/09/28 by Rolando.Caloca

	DR - vk - Better debugging of submissions
	- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs

Change 3144006 on 2016/09/28 by Brian.Karis

	Fixed PixelError not being set correctly with LOD groups.

	Removed unneeded Simplygon references.
	Mesh reduction module can now be chosen by name with r.MeshReductionModule

Change 3144026 on 2016/09/28 by Benjamin.Hyder

	Updating QA-Effects map to correct numbering issue

Change 3144098 on 2016/09/28 by Arne.Schober

	DR - ViewMatrices Refactoring - Fix UT

Change 3144158 on 2016/09/28 by Rolando.Caloca

	DR - Undo splitting RHI command context

Change 3144952 on 2016/09/29 by Rolando.Caloca

	DR - vk - Missing swapchain flag

Change 3145064 on 2016/09/29 by Olaf.Piesche

	#jira UE-36091

	Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.

Change 3145354 on 2016/09/29 by Benjamin.Hyder

	Updating Tm-ContactShadows

Change 3145485 on 2016/09/29 by Daniel.Wright

	Made SeamlessTravelLoadCallback handle legacy lightmaps

Change 3145527 on 2016/09/29 by Daniel.Wright

	Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel

Change 3145530 on 2016/09/29 by Simon.Tovey

	UE-36188 - Editor crash when updating hierarchical instance static mesh component

	Dirtied render state rather than unsafe update of bounds.

Change 3145608 on 2016/09/29 by Gil.Gribb

	Attempt to fix a random compiler error under win32

Change 3145749 on 2016/09/29 by Uriel.Doyon

	Fix for static analysis warning

Change 3146091 on 2016/09/29 by Zabir.Hoque

	RHI Interface changes to support PSO based APIs

Change 3146092 on 2016/09/29 by Zabir.Hoque

	D3D12 RHI support for PSO based APIs.

Change 3146590 on 2016/09/30 by Gil.Gribb

	Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3146731 on 2016/09/30 by Rolando.Caloca

	DR - Fix merge conflicts

Change 3146778 on 2016/09/30 by Rolando.Caloca

	DR - More integration compile fixes

Change 3146790 on 2016/09/30 by Rolando.Caloca

	DR - Integration fix

Change 3146849 on 2016/09/30 by Rolando.Caloca

	DR - Final integration fix

Change 3146899 on 2016/09/30 by Daniel.Wright

	Static analysis fix for dereferencing World

Change 3147020 on 2016/09/30 by Rolando.Caloca

	DR - vk - Fix depth issue on AMD cards
	- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
	- Added num color attachments to pipeline key

Change 3147034 on 2016/09/30 by Rolando.Caloca

	DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
	#jira UE-36277
	#jira UE-36500

Change 3147080 on 2016/09/30 by Rolando.Caloca

	DR - vk - Disable debug info by default

Change 3147082 on 2016/09/30 by Chris.Bunner

	Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
	#jira UE-36491

Change 3147388 on 2016/09/30 by Chris.Bunner

	Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
	#jira UE-35288

Change 3147394 on 2016/09/30 by Chris.Bunner

	Additional logging for rare error.
	#jira UE-35812

Change 3147459 on 2016/09/30 by Rolando.Caloca

	DR - vk - Some more srgb formats

Change 3147537 on 2016/09/30 by Rolando.Caloca

	DR - vk - Standarize srgb flag like D3D11
	- Minor FVulkanShader cleanup

Change 3147620 on 2016/09/30 by Olaf.Piesche

	#jira UE=34486
	particle component tick function task can be invalid during pause; add check

Change 3148028 on 2016/10/01 by Daniel.Wright

	Renamed RenderingSettings.cpp to match header

Change 3148059 on 2016/10/01 by Daniel.Wright

	Disabled reparenting in the profiler which is disorienting

Change 3148067 on 2016/10/01 by Daniel.Wright

	Support for ReflectionEnvironment and light type show flags with ForwardShading

Change 3148069 on 2016/10/01 by Daniel.Wright

	Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars

Change 3148072 on 2016/10/01 by Daniel.Wright

	Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing.  r.ReflectionEnvironmentLightmapMixBasedOnRoughness

Change 3148073 on 2016/10/01 by Daniel.Wright

	r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream

Change 3148074 on 2016/10/01 by Daniel.Wright

	Enabled planar reflection receiving on the material used for the preview of a APlanarReflection

Change 3148084 on 2016/10/01 by Daniel.Wright

	Fixed reflections on Surface TranslucencyVolume in deferred

Change 3148085 on 2016/10/01 by Daniel.Wright

	Fixed planar reflection composite being done too many times in stereo deferred

Change 3148086 on 2016/10/01 by Daniel.Wright

	Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.

Change 3148107 on 2016/10/01 by Daniel.Wright

	CIS fix

Change 3148113 on 2016/10/01 by Daniel.Wright

	Translucency lighting modes for forward shading
	* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway

Change 3148306 on 2016/10/02 by Rolando.Caloca

	DR - vk - Fix for some NV drivers on Win10

Change 3148307 on 2016/10/02 by Rolando.Caloca

	DR - vk - Compute pipeline

Change 3148358 on 2016/10/02 by Rolando.Caloca

	DR - vk - Consolidate and renumber enum for binding types

Change 3148396 on 2016/10/03 by Rolando.Caloca

	DR - vk - Warning fix

Change 3148697 on 2016/10/03 by Benjamin.Hyder

	Submitting M_Chromebal after enabling planar reflectionsl

Change 3148799 on 2016/10/03 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3148934 on 2016/10/03 by Chris.Bunner

	Added pre-skinned local position material graph node, vertex shader only.

Change 3148994 on 2016/10/03 by Chris.Bunner

	Added missing header file.

Change 3149085 on 2016/10/03 by Daniel.Wright

	Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead

Change 3149095 on 2016/10/03 by Rolando.Caloca

	DR - vk - Disable new render passes

Change 3149125 on 2016/10/03 by Rolando.Caloca

	DR - vk - Fix for multiple memory types

Change 3149181 on 2016/10/03 by Rolando.Caloca

	DR - Better message when missing pipelines

Change 3149215 on 2016/10/03 by Rolando.Caloca

	DR - RHIClearColor -> RHIClearColorTexture
	#tests Orion Editor run match on Agora_P

Change 3149288 on 2016/10/03 by Chris.Bunner

	Added PreTonemapHDRColor for buffer visualization and target output.
	#jira UE-36333

Change 3149402 on 2016/10/03 by Daniel.Wright

	Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)

Change 3149403 on 2016/10/03 by Daniel.Wright

	Forward lighting supports lighting channels

Change 3149574 on 2016/10/03 by Marcus.Wassmer

	PR #2817: Ansel/Photography system (Contributed by adamnv)
	Modified to become a plugin

Change 3149615 on 2016/10/03 by Rolando.Caloca

	DR - vk - Fix PF_G16R16 which fixes reflections

Change 3149639 on 2016/10/03 by Olaf.Piesche

	Adding more ensures to catch NaNs occasionally appearing in particle locations early

Change 3149745 on 2016/10/03 by Uriel.Doyon

	Moved UVDensity computation in the staticmesh DDC.

Change 3149749 on 2016/10/03 by Daniel.Wright

	Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility

Change 3149755 on 2016/10/03 by Benjamin.Hyder

	Checking in built lighting for QA-postprocessing

Change 3149758 on 2016/10/03 by Benjamin.Hyder

	re-submitting built lighting for QA-PostProcessing

Change 3149940 on 2016/10/04 by Gil.Gribb

	Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3150098 on 2016/10/04 by Marcus.Wassmer

	Fix some clang and win32 errors

Change 3150323 on 2016/10/04 by Rolando.Caloca

	DR - vk - Static analysis fix

Change 3150456 on 2016/10/04 by Daniel.Wright

	Revert temp logs

Change 3150731 on 2016/10/04 by Daniel.Wright

	Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid

Change 3150795 on 2016/10/04 by Marcus.Wassmer

	Fix RHIClearUAV and Drawindirect bugs on PS4.
	Also fix PS4 compile error from bad merge.

Change 3151065 on 2016/10/04 by Ben.Marsh

	Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)

Change 3151134 on 2016/10/04 by Brian.Karis

	Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.

Change 3151201 on 2016/10/04 by Marcus.Wassmer

	Nvidia approved icon for ansel plugin.

Change 3151240 on 2016/10/04 by Marcus.Wassmer

	Fix string concat build error.

Change 3151258 on 2016/10/04 by Ben.Marsh

	Fix compile error.

Change 3151290 on 2016/10/04 by Marcus.Wassmer

	Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.

Change 3152104 on 2016/10/05 by Chris.Bunner

	Workaround for legacy BreakMA material node invalid component masks.
	#jira UE-36832

Change 3152130 on 2016/10/05 by Ben.Woodhouse

	Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
	#jira UE-35890

Change 3152240 on 2016/10/05 by Rolando.Caloca

	DR - Fix for missing gizmo colors
	#jira UE-36515

Change 3152338 on 2016/10/05 by Daniel.Wright

	Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker

Change 3152833 on 2016/10/05 by Brian.Karis

	Improved precision of quadrics. Fixes bad triangles on large meshes

Change 3153376 on 2016/10/06 by Rolando.Caloca

	DR - Fix for SM4 missing pipelines fallout

Change 3153650 on 2016/10/06 by Gil.Gribb

	Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3153656 on 2016/10/06 by Uriel.Doyon

	Fixed main integration compilation issues.
	Some of the Mesh UVDensity UI is temporary disabled.

Change 3153725 on 2016/10/06 by Uriel.Doyon

	Fixed crash when source data is missing for lightmaps
	#jira UE-36157

Change 3153998 on 2016/10/06 by Gil.Gribb

	Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)

Change 3154056 on 2016/10/06 by Marcus.Wassmer

	Fix compile errors from merge.  Also restore some light scencario code

Change 3154176 on 2016/10/06 by Marcus.Wassmer

	Fix deprecation warning

Change 3154252 on 2016/10/06 by Marcus.Wassmer

	Fix more deprecation warnings

Change 3154632 on 2016/10/07 by Chris.Bunner

	Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
	#jira UE-37002

[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
Andrew Grant
a534ff9466 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3106465)
#lockdown Nick.Penwarden

Change 3110660 on 2016/9/1 by Andrew.Grant

Moved performance/quality warnings out of DrawStatsHUD into new function and now display them in everything other than shipping builds (unless disabled, or screenshot/movie dumping is in progress.
HLOD warning is  updated every 20 secs to deal with streaing levels.
Moved debug warnings into a separate Draw function (still disabled in test, but would like to make this an option in Orion soon).

#rb Michael.Noland
#tests verified we see our unbuilt HLOD warning in v31 :(

Change 3106649 on 2016/08/30 by Cody.Haskell

	#Orion

	- Input Axis Work

	#rb DanH
	#tests PIE

Change 3106299 on 2016/08/30 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 31.2 @ CL 3105865

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3105969 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3106213 on 2016/08/30 by Ben.Marsh

	BuildGraph: Include UAT, UBT, and UHT binaries in precompiled binaries zip file.

	#rb none
	#tests preflight

Change 3105994 on 2016/08/30 by Martin.Wilson

	Stop recompression happening when additive frame index is changed "interactively" (recompression will occur at end of interactive input)

	#jira UE-35289
	#rb Thomas.Sarkanen
	#tests Tested UI in editor

Change 3105331 on 2016/08/29 by Uriel.Doyon

	Allowed texture to ignore streaming MipBias with UTexture2D::bIgnoreStreamingMipBias
	Used this new flag when assigning texture to UImage::SetBrushFromTexture to prevent having low quality UI in low texture budget.
	#rb marcus.wassmer
	#tests launched editor and played game
	#jira OR-25814

Change 3105143 on 2016/08/29 by Josh.Markiewicz

	#UE4 - added assert when histogram input parameters don't match
	#rb none
	#tests launched/ran/won game golden path
	#codereview dmitry.rekman, michael.noland, bart.bressler

Change 3104976 on 2016/08/29 by Jon.Lietz

	pickup refector

	- fixed a big that would allow mixed replication to call a gameplay cue's added twice.
	- All pickups now use the pick up manager, consolidated all pick up code into the manager.
	- added to the XP set so we can define the CXP bounty for targets.

	#RB Dave.Ratti
	#tests Bot match, test maps, spawning coins and pickups.

Change 3103480 on 2016/08/26 by Josh.Markiewicz

	#UE4 - added GetSessionIdStr to FOnlineSessionSearchResult and FOnlineSession
	#rb none
	#tests golden path matchmaking
	#codereview paul.moore, eric.newman

Change 3103410 on 2016/08/26 by Max.Chen

	Movie Capture: Fix commandline burnin option.

	#rb none
	#tests Render movie with commandline -UseBurnIn=yes option.

Change 3102134 on 2016/08/25 by Brian.Karis

	Fix for HDR output exposure. Added 1000nit output option.

	#rb marcus
	#tests agora

Change 3101276 on 2016/08/25 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_31 - Merging  CL 3100347 (head revision of 2 files :o )

	#RB:none
	#Tests:none

	[CodeReviewed]: matt.schembari, max.preussner

	#R@BOMERGE-SOURCE: CL 3101273 in //Orion/Release-31/... via CL 3101274
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3101267 on 2016/08/25 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_DUI - Integrating Media changes from 4.13 (head revision)

	#RB:none
	#Tests:none

	/Engine/Plugins/Media
	/Engine/Source/Runtime/Media
	/Engine/Source/Runtime/MediaAssets

	[CodeReviewed] matt.schembari, max.preussner

	#R@BOMERGE-SOURCE: CL 3099267 in //Orion/Dev-UI/... via CL 3101266
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3100378 on 2016/08/24 by John.Pollard

	Fix a crash that can occur when scrubbing in replays

	#codereview David.Ratti
	#tests Replays
	#rb DavidR

	This is the output:
	[2016.08.24-21.35.05:973][603]LogAbilitySystem:Warning: OnRep_ReplicatedAnimMontage: PlayMontageSimulated failed. Name: AbilitySystemComponent0, AnimMontage: LevelStart_Montage

Change 3100375 on 2016/08/24 by Laurent.Delayen

	Added AimOffsetLookAt node. AimOffset node that drives its inputs automatically from a Target Location (and a Source Socket).

	#rb none
	#codereview lina.halper
	#tests Tacticia's RMB Targeting

Change 3100278 on 2016/08/24 by Laurent.Delayen

	Fix for fast path struct copy being broken for FVectors.

	#rb lina.halper
	#codereview thomas.sarkanen
	#tests Chains' hook, Tacticia's LaserBeam and OrientationWarping

Change 3100161 on 2016/08/24 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Fix issue with refresh viewer command failing due to backend congestion

	#rb RyanG
	#tests Replays

Change 3100114 on 2016/08/24 by jason.bestimt

	#ORION_MAIN - Merge DUI @ CL 3098849

	#RB:none
	#Tests:none

	#CodeReview: kerrington.smith, matt.schembari

	#R@BOMERGE-SOURCE: CL 3100078 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3100015 on 2016/08/24 by Michael.Noland

	Don't allow the consideration of nodes that won't be processed to affect the live aspect of the active sound containing a cross fade node
	#jira UE-34998
	#rb Aaron.McLeran
	[re-implementing CL# 3098559 originaly by Marc.Audy in Release 4.13]
	#tests Compiled and ran a golden path match with headphones on

Change 3100012 on 2016/08/24 by Michael.Noland

	UE-34951 - Zero-volume vorbis decoded sounds are too expensive

	-Adding an audio settings parameter to disable zero-volume playback globally
	-Adding a new bool on sound waves to allow opt-in to virtualize when at zero-volume

	#rb marc.audy
	[re-implementing CL# 3094893 from Dev-Framework, originally by Aaron McLeran]
	#tests Compiled and ran a golden path match with headphones on

Change 3099889 on 2016/08/24 by Max.Chen

	Sequencer: Added command line option to enable burnin

	#rb none
	#tests Render movie from command line wtih -UseBurnIn=yes

Change 3099801 on 2016/08/24 by Lina.Halper

	Removed unnecessary comment

	#rb: none
	#code review: Benn.Gallagher
	#tests: compile

Change 3099787 on 2016/08/24 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: sam.zamani
	#http
	- fix for cancelled requests that have not been started never triggering a completion delegate
	- fixes soft lock when handling disconnects during login

	OR-26945 The client stays on the "downloading profile" screen when rejoining after disconnecting

	#rb josh.markiewicz, alex.fennell
	#tests none

	#R@BOMERGE-SOURCE: CL 3099782 in //Orion/Release-30.2/... via CL 3099784 via CL 3099785
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3099252 on 2016/08/24 by Lina.Halper

	Fixed menu text

	#rb: none
	#code review: Thomas.Sarkanen
	#tests: open editor and create child montage and replaced the animation

Change 3099251 on 2016/08/24 by Lina.Halper

	Deterministic cooking of skeleton
	 - abandon all guid from GuidMap. GuidMap is still important since we have to generate UID from it, but GuidMap only contains name once cooked

	#jira: UE-34834
	#rb: Martin.Wilson
	#tests: cooking orion and make sure it works

Change 3098504 on 2016/08/23 by Bart.Bressler

	Add server time between sending packets monitoring histogram

	#rb dmitry.rekman
	#tests ran server locally and made sure analytics events were sent

Change 3098494 on 2016/08/23 by Michael.Noland

	Engine: Added UWorld::SetTimeUntilNextGarbageCollection to change the GC timer for use when doing automated performance capture measurements
	- Note: Things that force a GC will still force a GC after using this method (and they will also reset the timer)
	- Fixed a bug where UWorld::ForceGarbageCollection might not force a GC immediately if run on a server with no clients connected
	#tests Tested by calling while stat dumphitches was active and confirmed that the interval changed
	#codereview ben.salem, gil.gribb
	#rb none

Change 3098491 on 2016/08/23 by Mieszko.Zielinski

	Expanded BTDecorator_IsAtLocation with an option to use AIDataProvider #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3098070 on 2016/08/23 by Lina.Halper

	Fix crash with UI  update reconstructing

	- will have to come up with a better solution than this.

	#rb: Martin.Wilson
	#tests: child anim montage

Change 3097914 on 2016/08/23 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	Merging CL #3097879
	from //WEX/Main/Engine/Source/Runtime/Online/NotForLicensees/OnlineSubsystemMcp/...
	to //Orion/Main/Engine/Plugins/Online/NotForLicensees/OnlineSubsystemMcp/Source/...

	#Analytics #OSS: Adjusted cohort selection algorithm and test cases
	[CodeReviewed]: Philip.Buuck
	#TESTS: unit tests
	#RB: none

	#R@BOMERGE-SOURCE: CL 3097911 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3097745 on 2016/08/23 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Megre 30.2/31 @ CL 3096895

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3097716 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3097722 on 2016/08/23 by Chris.Bunner

	Update texture expression properties before triggering parent material recompile.
	#rb John.Billon
	#tests Editor replace references, Golden path
	#jira OR-27531

Change 3097694 on 2016/08/23 by Lina.Halper

	#Child Anim Montage

	- Duplicate from parent of the information it cares to get
	  - Currently it is selective on copying what data
	- Modified GetAllAnimationSequencesReferred to get a partial data
	- Added ParentAsset/AssetMappingTable in AnimationAsset
	- Sequence Browser opening would also add to history
	- AnimNotify - CanBeplaced virtual function lets you filter which asset it's placed on

	#code review: Benn.Gallagher, Thomas.Sarkanen, David.Ratti
	#rb:Martin.Wilson
	#tests: creating child montage, editing, lots of UI functionality, notifies placement

Change 3097513 on 2016/08/23 by Thomas.Sarkanen

	Non-POD structs can now be copied using the fast path

	We now always use CPP struct ops to perform copies when dealing with struct properties.

	#jira UE-34571 - Support struct member access on AnimBP fast path
	#rb Laurent.Delayen
	#tests OrionEntry with Tacticia, confirming orientation warping works correctly and fast path is enabled. Agora_P with Tacticia & bots, played two games.

Change 3096729 on 2016/08/22 by Mieszko.Zielinski

	Fixes to EQS scoring function preview #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3096596 on 2016/08/22 by Jason.Bestimt

	#ORION_DG - Fixes from 4.13 to video playback (CL# 3075761 & 3083970)

	#RB:none
	#Tests:none

	#CodeReview: matt.schembari, max.preussner
	#R@BOMERGE: MAIN

Change 3096550 on 2016/08/22 by Jurre.deBaare

	Fix for HLOD dirty clusters PIE warning message
	#tests Simulated Origin with built HLOD clusters, and with one dirty cluster
	#rb none

Change 3096532 on 2016/08/22 by Mieszko.Zielinski

	Modified GameplayTask_WaitDelay to allow specifying task's priority #UE4

	As part of the change introduced UGameplayTask::NewTaskUninitialized that's basically a redirect of NewObject, but clearly indicates that a task needs to be manually initialized

	#codereview Lukasz.Furman
	#rb none
	#test golden path

Change 3096455 on 2016/08/22 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: keli.hlodversson
	#CEF: Copy upgraded CEF binaries from //Portal/Main to fix crash issues with Sofort purchases
	#RB David.Nikdel
	#TESTS none

	#R@BOMERGE-SOURCE: CL 3096452 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3096316 on 2016/08/22 by Sammy.James

	Resave to fix log warnings.
	BPC changes to ensure type saves.

	#rb #tests editor

Change 3096040 on 2016/08/22 by bruce.nesbit

	Revised fix for landscape crash

	#rb GarethM

	#tests Game

	#codereview Bart.Bressler

Change 3096015 on 2016/08/22 by bruce.nesbit

	Fixed a crash in ALandscapeProxy::PostLoad when running an editor build with -server

	#rb none

	#tests game

	#codereview Bart.Bressler

Change 3095578 on 2016/08/19 by Mieszko.Zielinski

	Made NavigationSystem call TickAsyncBuild on all navigation data instances is there was an ongoing navigation build in progress in the editor #UE4

	This was causing Orion's flow field to not build if auto navmesh update was disabled in the editor

	#rb none
	#test golden path
	#codereview Lukasz.Furman

Change 3095397 on 2016/08/19 by Lina.Halper

	Fix issue with crash when deleting all segment

	#rb: Laurent.Delayen
	#tests: delete segment and make sure it doesn't crash
	#jira: UE-34830

Change 3095060 on 2016/08/19 by Bart.Bressler

	Don't load ULandscapeComponent objects on dedicated servers to save memory.

	#tests cooked server data and played a Solo vs. AI game
	#rb gareth.martin
	#codereview james.golding

Change 3095037 on 2016/08/19 by Lina.Halper

	Potential fix with montage trigger ensure on marker sync group

	#jira: OR-27685
	#rb: Benn.Gallagher
	#code review: Martin.Wilson
	#tests: attack primhelilx with knock up

Change 3094962 on 2016/08/19 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	#Merging #OSS - Added FUserOnlineAccountMcp::SelectCohort
	#RB: None
	#TESTS: test suite in source
	[CodeReviewed]: Philip.Buuck

	#R@BOMERGE-SOURCE: CL 3094961 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3094950 on 2016/08/19 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	#Merge #UE4 - Made FMD5 const-correct
	#RB: none
	#TEST: none

	#R@BOMERGE-SOURCE: CL 3094949 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3094619 on 2016/08/19 by Lina.Halper

	#DUPEFIX - ANIM: SmartNAME: the cooking doesn't guarantee the package is saved in the order, so we'll still have to regenerate list without GUID.
	- assumed the name is all set by now

	#rb: Benn.Gallagher
	#jira : UE-34886
	#tests: cooking infiltrator that showed same issue and run game.

Change 3094532 on 2016/08/19 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3094498

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3094528 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3093260 on 2016/08/18 by Josh.Markiewicz

	#UE4 - changed how party reset occurs to skip relying on AGameState which could very rarely be null (during server travel)
	- removed unnecessary cast
	#rb bart.bressler
	#codereview bart.bressler, rob.cannaday
	#tests launched game, some basic party testing

Change 3093224 on 2016/08/18 by Josh.Markiewicz

	#UE4 - added a chatroom class that does some basic chat room join/create/leave functionality to share between games
	#rb paul.moore
	#codereview anthony.carter
	#tests solo vs ai chat with 2 players, coop vs ai chat with 2 players, one leaving and rejoining

Change 3092597 on 2016/08/17 by Daniel.Lamb

	Added Ben Crocker to the rebuild lighting emails.
	#rb Trivial
	#Test none

Change 3092063 on 2016/08/17 by andrew.grant

	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#rb #tests none

Change 3091081 on 2016/08/16 by Jurre.deBaare

	Fixing non-Editor build errors
	#fix Wrapped parts in WITH_EDITOR and added IsBuilt to check if the LODActor has a valid static mesh (thus is not dirty)
	#tests Build Editor + Game
	#rb none

Change 3091009 on 2016/08/16 by Mieszko.Zielinski

	Added a way to configure a map to not spawn AISystem instance at all #UE4

	#rb none
	#test golden path

Change 3090932 on 2016/08/16 by Michael.Noland

	Vixen: Added indication to the analytics and FPS charts
	#rb marcus.wassmer
	#tests Compiled for the platform

Change 3090844 on 2016/08/16 by Laurent.Delayen

	Replicated CL 3090734  from Fortnite.

	---

	Fix AbilitySystemComponent not ticking while playing a montage, and ticking when we're not playing a montage

	Here's the issue in the version of the code prior to this checkin:
	- UpdateShouldTick calls GetShouldTick, which checks the value of RepAnimMontageInfo.IsStopped
	- When we call UpdateShouldTick within AnimMontage_UpdateReplicatedData, we haven't set RepAnimMontageInfo.IsStopped yet to the correct value
	- So when we aren't playing any montages but are starting a new one, we were saying we shouldn't tick
	- It also means if we were playing a montage, and then stop, we'll start ticking
	- Ticking calls AnimMontage_UpdateReplicatedData, which should be called while we're playing

	#codereview john.abercrombie
	#rb none
	#tests golden path

Change 3090832 on 2016/08/16 by Michael.Noland

	Windows: Fixed a whitespace issue
	#rb none
	#tests Compiled for windows

Change 3090688 on 2016/08/16 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: andrew.grant
	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#rb none
	#tests built

	#R@BOMERGE-SOURCE: CL 3090687 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3090547 on 2016/08/16 by Jurre.deBaare

	Need a warning message similar to lighting unbuilt when HLOD cluster is not built
	#fix Added HLOD clusters need to be rebuilt message similar to the lighting one during PIE and game-time, and cleaned/changed "'DisableAllScreenMessages' to suppress" behaviour
	#jira UE-34335
	#rb none
	#codereview Michael.Noland
	#tests pie Agora with and without dirty HLOD clusters

Change 3090285 on 2016/08/16 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3090267

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3090282 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3089413 on 2016/08/15 by paul.mader

	Agora 2.0 assets

Change 3089266 on 2016/08/15 by Max.Chen

	Sequencer: Add Convert to Possessable

	Copy from Dev-Sequencer

	#jira UE-32139
	#rb none
	#tests Convert steel to possessable in Gameplay_PS4 map.

Change 3089136 on 2016/08/15 by Mieszko.Zielinski

	Fixed AISense_Sight's time slicing unintentionally skipping queue aging if given time limit is reached #UE4

	#rb Lukasz.Furman
	#codereview Dan.Youhon
	#test golden path

Change 3089118 on 2016/08/15 by Mieszko.Zielinski

	Fixed a rare crash in UBlackboardData::GetKeyType resulting from a key selector referencing a type that has been removed from the project's source code #UE4

	#rb none
	#test golden path

Change 3088976 on 2016/08/15 by Andrew.Grant

	Fixed issue with PS4 toolchain ignoring ModuleRules.CodeOptimization.Never / ModuleRules.CodeOptimization.Always when determining optimization level of modules.
	Fixed issue with VC toolchain ignoring ModuleRules.CodeOptimization.Never setting.
	Removed superflous /Os from VC debugg settings
	#rb none
	#tests verified module built with 'Never' on PS4/Win is built without optimizations.
	#codereview Marcus.Wassmer, Ben.Marsh

Change 3088830 on 2016/08/15 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3088807

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3088829 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3088597 on 2016/08/14 by Jason.Bestimt

	#ORION_DG - Trying to resolve R@BOMERGE collision (DUI to MAIN -> DG)

	#RB:none
	#Tests:none

	#CodeReview: andrew.grant, david.ratti, matt.schembari

Change 3087827 on 2016/08/12 by Bart.Bressler

	Updates to skeletal mesh memory saving on dedicated server

	#rb lina.halper
	#tests Cooked server data, played a game for a while in Solo vs. AI

Change 3087351 on 2016/08/12 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	#jira OR-27406
	#rb RyanG
	#tests Replays

Change 3087118 on 2016/08/12 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3086747

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3087117 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3086176 on 2016/08/11 by Marcus.Wassmer

	Fix PS4 ShaderPipelines not matching pixel/vertex shader properly.
	#rb Rolando.Caloca
	#tests Broken PS4 content before/after

Change 3085992 on 2016/08/11 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Unclog R@BOMERGE

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3085987 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3085911 on 2016/08/11 by Laurent.Delayen

	Added FBoneContainer::BoneIsChildOf for FCompactPoseBoneIndex

	#rb none
	#tests Orientation Warping

Change 3085614 on 2016/08/11 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3085547

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3085598 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3084507 on 2016/08/10 by Marcus.Wassmer

	Duplicate 3070376 and 3078879 to fix corrupted decals on Vixen.
	#rb none
	#tests paragon ps4/vixen
	#codereview Olaf.Piesche

Change 3084136 on 2016/08/10 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3083799

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3083814 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3083424 on 2016/08/09 by Max.Chen

	Sequence Recorder: Fix crash when actor class to record is null.

	#tests Use sequence recorder to record a skeletal mesh actor
	#rb none

Change 3083134 on 2016/08/09 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: sam.zamani
	#online,store,ps4
	- creating one offer entry per entitlement

	#rb david.nikdel, ian.fox
	#tests MTX purhcase on PS4
	#lockdown: andrew.grant

	#R@BOMERGE-SOURCE: CL 3083127 in //Orion/Release-30.1/... via CL 3083128 via CL 3083131
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3083069 on 2016/08/09 by Marcus.Wassmer

	Vixen scalability changes
	#rb Michael.Noland
	#tests vixen/ps4
	#codereview jordan.walker

Change 3083063 on 2016/08/09 by Marcus.Wassmer

	Most games will probably run out of memory if setup to do auto-4k.
	Make this a setting that's off by default.
	#rb Michael.Noland
	#codereview Luke.Thatcher, Lee.Clark
	#tests vixen on 4k.

Change 3082778 on 2016/08/09 by Marcus.Wassmer

	Duplicate fix for Vixen GPU page faults and rendertarget errors (3066087)
	#rb none
	#tests Agora on vixen.

Change 3082772 on 2016/08/09 by Marcus.Wassmer

	Duplicate fix for detail mode reregistration (3065543)
	#rb none
	#tests Toggled detail mode, observe proper items spawning

Change 3082765 on 2016/08/09 by Marcus.Wassmer

	Don't crash when trying to use windowed vsync on vixen
	#rb Michael.Noland
	#test ran paragon on vixen
	#codereview Luke.Thatcher,Lee.Clark

Change 3082764 on 2016/08/09 by Marcus.Wassmer

	fix HLOD distance scale not working properly when components are re-registered.
	#rb michael.noland
	#codereview jurre.debarre
	#tests setting multiple times, setting on boot via deviceprofile

Change 3082429 on 2016/08/09 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: sam.zamani
	Merging //Orion/Release-30.1 to Main (//Orion/Main)

	Change: 3082419

	#online,store,PS4

	OR-25384 [PS4] "There is no content. It might not be for sale yet, or might no longer be for sale" at main menu and at post match screen

	- added config option for toggling store on PS4
	[OnlineSubsystemPS4]
	bStoreEnabled=true

	- can also override via title specific json values in <titleid>\title.json
	allow_mtx=true

	[CodeReviewed]: andrew.grant, phillip.buck, ian.fox
	#lockdown: andrew.grant
	#rb none
	#tests ps4 run with titleid=CUSA3609_00 (which has mtx disabled for PS4 since that title has no store support)

	#R@BOMERGE-SOURCE: CL 3082428 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3082194 on 2016/08/09 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3082105

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3082192 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3080984 on 2016/08/08 by Lina.Halper

	Issue with not being able to set static animation data via BP

	- artists were using SetAnimation/PlayAnimation, but they are not safe to be used in construction script, so made sure the other serializable properties are exposed via BP
	- also since they want it to work in level viewport, I have to tick/refresh whenever it's getting called.

	#rb: Martin.Wilson
	#tests: Sword Beauty map

Change 3080665 on 2016/08/08 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3080081

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3080543 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3080565 on 2016/08/08 by Laurent.Delayen

	Fix for curve values during URO interpolation.
	Fixes flashing of materials and Twinblast's ult weapon.

	https://jira.ol.epicgames.net/browse/OR-27107
	https://jira.ol.epicgames.net/browse/OR-24358

	#rb lina.halper, martin.wilson
	#tests Twinblast's ult and Coil's primary.

Change 3079832 on 2016/08/05 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: marcus.wassmer
	Fix for PS4 crash reports not attaching the minidump when trying to force full crash dumps via commandline
	#rb none
	[CodeReviewed] Chris.Wood
	#tests checked crashcontext on PC/PS4
	#lockdown Andrew.Grant

	#R@BOMERGE-SOURCE: CL 3078933 in //Orion/Release-30/... via CL 3078934 via CL 3078935 via CL 3079831
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3079045 on 2016/08/05 by Lina.Halper

	Adding more log to figure out why ActivePlayers.Count becomes inconsistent.

	#rb: Martin.Wilson
	#tests: PIE with bots

Change 3078944 on 2016/08/05 by Rolando.Caloca

	O - Update blacklisted driver
	#jira OR-27051
	#rb Marcus.Wassmer
	#tests Run with AMD card

Change 3078735 on 2016/08/05 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3078670

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3078734 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3078122 on 2016/08/04 by Dmitry.Rekman

	Linux: treat abort() / SIGABRT as crash.

	- Rationale: certain code not under our control (most notably, stack smashing protector) may call abort(), which would previously terminate the engine without any chance to even enter the crash handler.
	- Rewrote RequestExit() because it used abort() itself.
	- Also removed -fstack-protector. The logic behind this is: stack protector calls abort() on detecting a smash (which is suspected to contribute to missing reports), but does it at an inappropriate place, that causes stack unwinding to crash later.  As bad as it sounds, it may be better to allow stack to be corrupted and crash later - hopefully outside of libc code - to some other reason.

	#rb Mark.Satterthwaite
	#codereview Mark.Satterthwaite, Michael.Noland, Andrew.Grant
	#review-3078104 @Mark.Satterthwaite, @Michael.Noland, @Andrew.Grant

	#tests Ran Linux server, crashed using different methods.

Change 3077887 on 2016/08/04 by Dmitry.Rekman

	Initialize StackCount to 0 (kills valgrind warning).

	#rb David.Ratti
	#codereview David.Ratti
	#tests Ran Linux server.

Change 3077257 on 2016/08/04 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3077193

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3077256 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3077242 on 2016/08/04 by Dmitry.Rekman

	Linux: stop heartbeat thread before handling the crash.

	#rb Robert.Manuszewski
	#codereview Robert.Manuszewski, Andrew.Grant
	#tests Compiled and ran Linux server, crashed it.

Change 3076676 on 2016/08/03 by Dmitry.Rekman

	Linux: print details about memory access (read or write).

	- Also print all the 16 digits of the pointer.
	- Read/write detection only implemented for x86_64.

	#rb Andrew.Grant
	#codereview Andrew.Grant
	#tests Compiled (natively) and ran Linux server.

Change 3076675 on 2016/08/03 by Dmitry.Rekman

	Print a bit more info about the array in assert.

	#rb Andrew.Grant
	#codereview Andrew.Grant
	#test Compiled and ran Linux server.

Change 3076010 on 2016/08/03 by Laurent.Delayen

	Moved OrionAnimNode_LegIK from Paragon to Engine.

	#codereview lina.halper
	#rb none
	#tests Grim.exe + Iggy & Scorch

Change 3075512 on 2016/08/03 by Matt.Kuhlenschmidt

	Reimplemented 3070766 for Orion:

	Make sure richtooltips are not generated for hidden enum items so that there is not a mismatch between rich tooltips and enum items (causing a crash)

	#rb none
	#tests none

Change 3075446 on 2016/08/03 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3075422

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3075445 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3075394 on 2016/08/03 by HaarmPieter.Duiker

	Adding a shadows max and highlights min parameters to allow the user to control when the 'shadows' controls fall off and when the 'highlights' controls ramp in.
	#rb marcus.wassmer
	#tests post process color correction

Change 3074314 on 2016/08/02 by Dmitry.Rekman

	Linux: change optimization from -O2 to -O1 (temporarily?).

	- The purpose is to make callstacks easier to follow and possibly catch stack smashing (if it happens) earlier.
	- Also adds a line to UBT output during compilation to draw attention.

	#rb Michael.Noland
	#codereview Michael.Noland, Andrew.Grant, Bart.Bressler
	#tests Compiled and ran Linux server.

Change 3073553 on 2016/08/02 by jason.bestimt

	#ORION_MAIN - Merge 30.2 @ CL 3073360

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3073481 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

	#R@BOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	//Orion/Dev-General/OrionGame/Content/Characters/Heroes/BP_Hero.uasset - can't integrate exclusive file already opened
	#CodeReview: jason.bestimt

Change 3073505 on 2016/08/02 by Daniel.Lamb

	Added cook modification delegate stats to cooker stats.
	#rb Wes.Hunt
	#test cook paragon.

Change 3072440 on 2016/08/01 by Aaron.Eady

	PlayerController Force Feedback (Debug only);

	Adding #if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) around the use of the debug only variable ForceFeedbackEffectHistoryEntries.

	#rb none
	#tests SHIPPING

Change 3072259 on 2016/08/01 by Aaron.Eady

	PlayerController Force Feedback (Debug only);

	Added more information to the things displayed on the screen for force feedback when we do ShowDebug ForceFeedback.

	#rb Michael.Noland
	#tests PIE

Change 3071908 on 2016/08/01 by John.Pollard

	Fix null reference crash

	#rb DavidR
	#tests Live game + replays

Change 3071876 on 2016/08/01 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Assertion failed: WriterState.Changed.Num() == 0 occurs when a Pitcher Husk hits the Player

	#rb none
	#tests FN + Paragon live game + replays
	#codereview Andrew.Grant

Change 3071875 on 2016/08/01 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Finalize replay version system

	* No longer use changelist to filter replays (so we will only filter by engine/game version now, which need to be hand cranked to invalidate old versions)
	* Submit actual changelist when uploading (rather than locking to previous versions). We can do this now since we don't filter by changelist anymore.
	* Removed unnecessary 'bShowAllVersions' property from replay browser code, using cvar instead (orion.ShowAllReplayVersions)

	#rb RyanG
	#tests Live game + replays
	#codereview Andrew.Grant

Change 3071874 on 2016/08/01 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Fix gameplay tags to work better with backwards compatibility in replays

	* We use the net field export group system in the package map to export tag names as a packed index
	* This will allow us to see the names of tags that no longer exists on the remote side

	#rb RyanG
	#tests Live game + replays
	#codereview Andrew.Grant

Change 3071776 on 2016/08/01 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3071738

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3071775 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3071258 on 2016/07/30 by Aaron.McLeran

	OR-26580 CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay

	- Removed voice operation set since it was causing crashes when stopping voices. Still a good idea, but need to make sure the async OnBufferEnd and stopping an FSoundSource can work together.
	- Added a proxy object that wraps the FAsyncTask used for async decoding. Calling IsDone() and EnsureCompletion() can't happen at the same time from different threads now.

	#rb none
	#tests ran paragon soaking for a long time with constant AI combat and observed no crashes or audio issues.

Change 3071099 on 2016/07/30 by Aaron.McLeran

	OR-26580 CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay

	- Temporary revert of a portion of CL 3067560 which exacerbates an issue with the async decoding tasks and calling IsDone and EnsureComplete on different threads.

	#rb none
	#tests ran paragon with change and noticed no change in audio quality

Change 3070916 on 2016/07/29 by Andrew.Grant

	Missed file!
	#rb #tests na

Change 3070915 on 2016/07/29 by Andrew.Grant

	Merging //UE4/Main @ 3070724 through //UE4/Orion-Staging
	#rb none
	#tests Engine QA, Orion QA smoke

Change 3070576 on 2016/07/29 by Uriel.Doyon

	Fixed initialization of the defrag pool size. Now controlled by r.PS4DefragPoolSize.
	#review-3070386 @marcus.wassmer
	#jira OR-25941
	#rb marcus.wassmer
	#tests Run Game on PS4, and in editor

Change 3070086 on 2016/07/29 by Martin.Wilson

	Fixed ensure triggering during sequencer playback due to double update.

	#jira UE-33938
	#rb Thomas.Sarkanen
	#tests opened affected asset and verified problem no longer occured

Change 3070016 on 2016/07/29 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30 @ CL 3069935

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3069976 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3069435 on 2016/07/28 by Ian.Fox

	#Orion, #Mcp - Check if Price Engine is configured before attempting query
	#rb Sam.Zamani
	#tests none
	#codereview Sam.Zamani

Change 3069381 on 2016/07/28 by Michael.Noland

	Animation: Demoted a check() in anim sync group code to an ensure() to unblock others
	#rb nick.penwarden
	#tests Loaded Paragon cine asset that was crashing
	#codereview lina.halper, martin.wilson

Change 3069203 on 2016/07/28 by Dmitry.Rekman

	Headless client: do not draw windows.

	- Disables a bunch of code, including reaching into font cache to estimate width.
	- Should be probably disabled on a higher level, but cutting out the whole Slate application is infeasible (according to BradA/BenM, due to some logic requiring widgets).

	#rb Nick.Atamas
	#review-3068983 @Nick.Atamas, @Michael.Noland, @Brad.Angelcyk, @Ben.Salem
	#codereview Nick.Atamas, Michael.Noland, Brad.Angelcyk, Ben.Salem

	#tests Compiled and ran Orion Linux client.

Change 3069181 on 2016/07/28 by Lina.Halper

	Fix struct redirector for Orion anim node moving to engine

	#rb: Maciej.Mroz
	#code review:Laurent.Delayen
	#tests: editor loading the anim BP that caused the name conversion

Change 3069092 on 2016/07/28 by Aaron.McLeran

	OR-26161 Client hitches indefinitely when using Stat soundcues / soundwaves

	- Not all active sounds have sound classes, was causing a crash

	#codereview marc.audy
	#rb zabir.hoque
	#tests Run game with stat soundcues and not crash

Change 3068969 on 2016/07/28 by David.Ratti

	Move test for invalid gameplaycue instance up, since calling IsPendingKill() on garbage can cause crash too.

	#rb none
	#tests compile

Change 3068902 on 2016/07/28 by David.Ratti

	Code for tracking down UGameplayCueManager::GetInstancedCueActor crash.
	#rb none
	#tests compile

Change 3068831 on 2016/07/28 by Aaron.McLeran

	OR-26417 Reverb is too loud in-game in Dev-General

	- Initializing prev reverb to 0s so that the first default reverb gets set when no audio volume is set.

	#rb Jeff.Campeau
	#tests run a map with no reverb audio volume and reverb is not super wet

Change 3068529 on 2016/07/28 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	#OSS #PurchaseMcp: Use GameService->CreateOnlineHttpRequest instead of  McpSubsystem->CreateRequest to query receipts (uses subsystem config)
	#RB: none
	#TESTS: none

	#R@BOMERGE-SOURCE: CL 3068465 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3068399 on 2016/07/28 by Andrew.Rodham

	Sequencer: Changed animation tracks to allow more animation types (such as anim montages)

	  - APIs now accept UAnimSequenceBases rather than UAnimSequences to afford more flexibility

	#jira OR-25769
	#tests Tested all combinations of animation with sequencer (montage+sequence on asset/BP driven animation components) and matinee. Tested running a game and playing back the announce trailer. Rendered out some movies to ensure that trails work correctly.
	#rb Benn.Gallagher

Change 3068138 on 2016/07/28 by Marcus.Wassmer

	Disable mallocleak testing by default
	#rb none
	#test none

Change 3068121 on 2016/07/28 by Marcus.Wassmer

	Make sure we always do fast stack captures when USE_FAST_STACKTRACE is enabled.
	Fixes game becoming unresponsive on Windows after 'mallocleak' dumps data.  Any other tool that uses stacktraces could become 700 - 1000x slower after any stack symbolication also.
	#rb Robert.Manuszewski
	#tests stack tracing / symbolication with mallocleak on windows.

Change 3068119 on 2016/07/28 by Marcus.Wassmer

	Fix MallocLeakProxy deadlock
	#rb Robert.Manuszewski
	#tests mallocleak start/stop/dump on windows

Change 3067752 on 2016/07/27 by Michael.Noland

	Engine: Refactored FPS chart creation to make it modular so many performance data consumers can be active at once, allowing greater flexibility and decoupling game analytics from FPS chart exec commands
	- IPerformanceDataConsumer is an interface for all consumers of per-frame performance tracking data, and instances can be registered/unregisted with the engine using AddPerformanceDataConsumer/RemovePerformanceDataConsumer
	- The implementation of the 'standard' frame time and hitch histogram tracking is FPerformanceTrackingChart, while the per-frame logging .csv is split into a separate FFineGrainedPerformanceTracker class.
	- The calculation of frame time breakdowns and hitch detection now occur as long as at least one IPerformanceDataConsumer is registered
	- Internally the code has been cleaned up a bit to use FHistogram for data storage instead of custom binning code

	Upgrade Notes:
	- DumpFPSChartAnalytics has been removed, games that used it should switch to creating their own instance of FPerformanceTrackingChart and call DumpChartToAnalyticsParams on it directly
	- In general games should have no reason to programmatically call GEngine->StartFPSChart anymore, instead creating their own instance (this prevents conflicts when using the engine console commands)
	- HTML output for stopfpschart is now generated to a single file rather than two duplicate files (using both map name and capture time as part of the file name)
	- Removed PauseFPSChart, IsFPSChartActive, and GetFPSChartBoundByFrameCounts to reflect that the GEngine instances aren't meant for external use (Start/Stop are left public for automated testing that wants to use them to do logging, but may also be moved private in the future)

	Paragon:
	- Updated to use a separate FPerformanceTrackingChart for gameplay versus in-game menus and removed the duplicated code and GameThreadHitchChart event
	- Removed partial USE_SERVER_PERF_COUNTERS code in ChartCreation.cpp, splitting it out into a separate observer, which currently lives in Paragon but will be moved to shared code in a separate checkin. The code was only useful in the first place along with other Paragon-side code that was consuming it.

	#rb dmitry.rekman
	#codereview bob.tellez, peter.knepley, andrew.grant, john.mauney
	#review-3067607 @Dmitry.Rekman, @Bob.Tellez
	#tests Tested manual startfpschart/stopfpschart as well as Paragon match analytics via golden path solo vs AI

Change 3067654 on 2016/07/27 by Michael.Noland

	FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path.

	#rb steve.robb
	#jira UE-31959
	[duplicating CL# 3039827]

	#tests Tried moving a folder in the editor

Change 3067644 on 2016/07/27 by Aaron.McLeran

	OR-24537 Looping audio sometimes persists in Agora

	Adding stopping sounds if audio component is destroyed while playing a looping sound

	#rb jeff.campeau
	#tests audio component stops looping sound if audio component is destroyed prematurely

Change 3067560 on 2016/07/27 by Aaron.McLeran

	OR-26322 Client Hang in FXAudio2EffectsManager::SetReverbEffectParameters

	- Only applying reverb parameters if they've changed from previous reverb params to avoid unnecessarily spamming the XAudio2 API call
	- using xaudio2 operation sets to ensure that voice and effect params are executing in sequence
	- only calling destroy voice after all voice and effect changes have been committed to avoid destroy voice interfering with those commands
	- Don't call EnsureCompletion on pending async tasks on teardown

	#rb Jeff.Campeau
	#tests play paragon with change, notice no changes to audio behavior, no crashes. Created testmap with several reverb zones and demonstrated reverb effect transitions

Change 3067420 on 2016/07/27 by jason.bestimt

	#ORION_MAIN - Merge 29.2/30 @ CL 3067312

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3067400 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3067316 on 2016/07/27 by jason.bestimt

	#ORION_MAIN - Merge DUI @ CL 3065602

	#RB:none
	#Tests:none

	[CodeReviewed]: matt.schembari

	#R@BOMERGE-SOURCE: CL 3067079 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3067025 on 2016/07/27 by Michael.Noland

	Core: Corrected the initial value of FLightweightTimeGuard::FrameTimeThresholdMS to be in MS rather than seconds and did a few coding standards fixes
	#rb none
	#tests Compiled

Change 3067020 on 2016/07/27 by Michael.Noland

	Core: Various improvements to FHistogram and split it out into separate files
	- Added the ability to use a separate thresholding key than the actual measurement value being recorded (e.g., when accumulating frame time spent in a chart keyed on framerate)
	- Added O(1) getters for total sample counts and sum of all measurements
	- Removed encapsulation-breaking SetBinCountByIndex / SetBinSumByIndex
	- Added support for specifying explicit histogram bucket thresholds
	#rb dmitry.rekman
	#tests Tested with another pending changelist that moves FPS charts to use FHistogram for the underlying storage

Change 3066681 on 2016/07/27 by Frank.Gigliotti

	Camera anim field of view fix;

	* The FOV is now reset on the PlayerCameraManager camera actor when it's initialized.  This fixes cases of stale FOV values after playing camera anims that don't end with the FOV at it's base value.

	* Base FOV can now be edited in the CameraAnim properties.  This allows you to specify what the FOV keys are relative to.  Previously it was always using a base FOV of 90 degrees.

	#RB None
	#CodeReview Jeff.Farris
	#Tests Multiple camera animations in PIE

Change 3066508 on 2016/07/27 by Lina.Halper

	Smartname guid will be discarded during cooking, and once it's cooked, it's trusted to have correct name.

	#code review:Martin.Wilson, Benn.Gallagher
	#rb: Martin.Wilson
	#tests: cooked test map, run test map, PIE, saving content, loading standalone game

Change 3066246 on 2016/07/27 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: andrew.grant
	Fix for non-unity error
	#rb none
	#tests compiled

	#R@BOMERGE-SOURCE: CL 3066245 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3066167 on 2016/07/27 by Benn.Gallagher

	Fixed clothing corruption seen on Twinblast after mesh updates. We were copying a u32 index buffer into a multisize container but CopyIndexBuffer doesn't change the data size when copying - only when rebuilding.
	#rb Ori.Cohen
	#tests Editor, PIE, Applying clothing to characters.

Change 3065868 on 2016/07/27 by Michael.Noland

	Blueprints: Fixing non-editor build (missing WITH_EDITOR)
	#rb none
	#tests Compiled PS4

Change 3065749 on 2016/07/26 by Michael.Noland

	Blueprints: Prevent a crash on load in RemoveNodeAndPromoteChildren when removing a corrupted SCS node if it has no parent link (the children are moved to the root node instead)
	#codereview mike.beach, marc.audy
	#tests Loaded and recovered a corrupted Blueprint on Cameron's machine
	#rb Phillip.Kavan

Change 3065706 on 2016/07/26 by Josh.Markiewicz

	#UE4 - changed default values for bLogoutOnSessionTimeout for reservation beacons
	- fixed non shipping cmd line override to be correct
	#rb none
	#codereview andrew.grant, paul.moore
	#tests none

Change 3065359 on 2016/07/26 by Rob.Cannaday

	Limit external id querying to 100 ids per call.  The backend currently enforces this and is returning an error when we exceed this limit.
	Break up calls in batches of 100 ids.

	#jira OR-20674
	#rb ian.fox
	#tests login to front end with PC, PS4.  forced tests to simulate > 100 requests.

Change 3065197 on 2016/07/26 by Bart.Bressler

	Change how PS4 sessions work:
	- We now will only try to join somebody's PS4 session only if we accepted an invite from the PS4 system software. This means that an MCP party can have members in different PS4 sessions.
	- Refactored a lot of the delegates in UOrionParty to lambdas to try to make it more readable
	- Added comments, other misc. code cleanup.

	#rb josh.markiewicz, sam.zamani, rob.cannaday
	#tests created cross play parties with multiple pc + ps4 players
	#jira OR-20332

Change 3065158 on 2016/07/26 by Lina.Halper

	Fix the guid keep generated by adding to the database.

	- This caused worse problem with non-deterministic cooking -   This doesn't fix UE-33454 for 100%, but this was the main reason why this was so visible

	#rb: Martin.Wilson
	#jira: UE-33772, UE-33454
	#tests: cooked AI_Test map, editor rename curves

Change 3064735 on 2016/07/26 by Dmitry.Rekman

	Linux: added WebRTC libs.

	- Compiled against glibc 2.12 / CentOS 6.x environment (see howto in a separate doc).

	#rb none
	#tests Tested OrionClient in Dev-General, and UE4Editor in Dev-Platform.

	(Edigrating 3063715 from //UE4/Dev-Platform/... to //Orion/Dev-General/...)

Change 3064727 on 2016/07/26 by Dmitry.Rekman

	Fix crash on cooker exit (UE-33583).

	- Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it.

	#rb none
	#tests Compiled and ran Linux server and Linux client.

	(Edigrating 3058779 from //UE4/Dev-Platform/... to //Orion/Dev-General/...)

Change 3064725 on 2016/07/26 by Dmitry.Rekman

	Linux: use libc++ instead of libstdc++.

	- Needed to solve problems with third-party C++ libraries (e.g. WebRTC).
	- Bundled libc++ 3.8.1 (TPS cleared).
	- Turned off ICU compilation (needs recompile against libc++).
	- Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix.

	#rb none
	#tests Built and ran a number of Linux targets.

	(Edigrating 3057152 from //UE4/Dev-Platform/... to //Orion/Dev-General/...)

Change 3064572 on 2016/07/26 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 29.2 @ CL 3064545

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3064569 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3064523 on 2016/07/26 by Jon.Lietz

	Fixing it so gameplay effects with execution none will no longer keep the BP in a dirty state. Only call EmptyArray() on CalculationModifiersArrayPropHandle if it has any elements.

	#RB none
	#tests BP compiles and stays not dirty
	#codereview dave.ratti@epicgames.com

[CL 3111290 by Andrew Grant in Main branch]
2016-09-01 21:20:38 -04:00
Gil Gribb
2cf40e541e Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3072947 on 2016/08/01 by Uriel.Doyon

	Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
	#review-3072934 @marcus.wassmer
	#jira UE-34045

Change 3073301 on 2016/08/02 by Ben.Woodhouse

	Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
	https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
	#jira UE-34052

Change 3073689 on 2016/08/02 by Ben.Woodhouse

	Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)

	Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).

	Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)

	Tested/profiled on PC, PS4

Change 3074666 on 2016/08/02 by Daniel.Wright

	Fixed stationary skylight brightness

Change 3074667 on 2016/08/02 by Daniel.Wright

	Fixed r.ReflectionEnvironmentLightmapMixing

Change 3074687 on 2016/08/02 by Daniel.Wright

	Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game.  Blutilities can be used to do blueprint rendering in the editor.

Change 3075241 on 2016/08/03 by Rolando.Caloca

	DR - Fix linux compile issue & static analysis warning

Change 3075746 on 2016/08/03 by Daniel.Wright

	Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod

Change 3075783 on 2016/08/03 by Ryan.Brucks

	#code.review Marcus.Wassmer

	Added two material nodes that return Atmospheric Light Vector and Light Direction using:

	View.AtmosphericFogSunColor
	View.AtmosphericFogSunDirection

	Nodes are called:
	AtmosphericLightVector
	AtmosphericLightColor

	Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.

Change 3075969 on 2016/08/03 by Uriel.Doyon

	Material GUIDs are not updated anymore when parents or textures change.
	Lighting now uses a hash built from the list of parents, textures and shader functions.
	#review-3072980 @marcus.wassmer @daniel.wright

Change 3076116 on 2016/08/03 by Ryan.Brucks

	#code.review marcus.wassmer
	Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"

Change 3076456 on 2016/08/03 by Rolando.Caloca

	DR - Fix geometry shader gl_Layer for SPIR-V

Change 3076730 on 2016/08/03 by Uriel.Doyon

	Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
	#review-3072984 @marcus.wassmer

Change 3077616 on 2016/08/04 by Daniel.Wright

	Planar reflection show flags can now be edited

Change 3077621 on 2016/08/04 by Daniel.Wright

	Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting

Change 3077792 on 2016/08/04 by Daniel.Wright

	Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight

Change 3077799 on 2016/08/04 by Daniel.Wright

	Skip RF_ArchetypeObject for reflection captures

Change 3077876 on 2016/08/04 by Marc.Olano

	Noise material perf improvements

	Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.

	Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)

Change 3077884 on 2016/08/04 by Daniel.Wright

	Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them

Change 3078994 on 2016/08/05 by Simon.Tovey

	Fix for UE-34241
	Scene proxy ptr was being cached during a downcast.
	Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
	I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.

Change 3079162 on 2016/08/05 by Ben.Woodhouse

	Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
	#jira UE-34091

Change 3079613 on 2016/08/05 by Daniel.Wright

	New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
	New blueprint function CreateRenderTarget2D

Change 3079708 on 2016/08/05 by Uriel.Doyon

	Fixed crash when building texture streaming on some levels.

Change 3079795 on 2016/08/05 by Uriel.Doyon

	Fixed issue with instanced static meshes when building texture streaming.
	Fixed typo with func "GetNumTextureStreamingPrimitives"

Change 3079806 on 2016/08/05 by Uriel.Doyon

	Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
	New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
	(according to GPoolSizeVRAMPercentage)
	#review-3074662 @marcus.wassmer

Change 3082698 on 2016/08/09 by Daniel.Wright

	Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script

Change 3082699 on 2016/08/09 by Daniel.Wright

	Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for

Change 3083909 on 2016/08/10 by Olaf.Piesche

	#jira UE-34106
	#jira UE-32784
	#jira UE-31198

	Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)

Change 3084645 on 2016/08/10 by Olaf.Piesche

	#jira UE-30398

	Fix offset added to particle collision locations.

Change 3084709 on 2016/08/10 by Daniel.Wright

	Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
	Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
	Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()

Change 3084783 on 2016/08/10 by Rolando.Caloca

	DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
	#jira UE-34510

Change 3084958 on 2016/08/10 by Daniel.Wright

	Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards

Change 3086023 on 2016/08/11 by Marcus.Wassmer

	Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
	#test none

Change 3086778 on 2016/08/11 by Ben.Woodhouse

	Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
	#jira UE-34561

Change 3087404 on 2016/08/12 by Rolando.Caloca

	DR - Upgrade glslang to 1.0.21.1
	- Added some more debug output

Change 3087524 on 2016/08/12 by Rolando.Caloca

	DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)

Change 3087663 on 2016/08/12 by Rolando.Caloca

	DR - vk - Fix for SRGB; support for mip texture views

Change 3087735 on 2016/08/12 by Daniel.Wright

	TextureRenderTarget2D's can now be up to 8192^2.  Anything over 2048 pops up an 'are you sure' dialog.

Change 3087750 on 2016/08/12 by Rolando.Caloca

	DR - vk - Minor renaming in prep for merge

Change 3087813 on 2016/08/12 by Rolando.Caloca

	DR - vk - More minor cleanup

Change 3087819 on 2016/08/12 by Chris.Bunner

	Check material function input types directly, no need to traverse connected graph.
	#jira UE-32134

Change 3087901 on 2016/08/12 by Rolando.Caloca

	DR - vk - Fix RT view to use 1 mip
	Fix depth buffer component swizzle

Change 3088193 on 2016/08/12 by Daniel.Wright

	DFAO and RTDF shadows are enabled in High and Epic scalability settings by default

Change 3088988 on 2016/08/15 by Rolando.Caloca

	DR - Add Accessors

Change 3089104 on 2016/08/15 by Olaf.Piesche

	#jira UE-34241

	Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated

Change 3089208 on 2016/08/15 by Daniel.Wright

	Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
	* Fixes WorldPosition in downsampled translucency
	* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct.  Currently used by global distance field, downsampled separate translucency.
	* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res

Change 3089209 on 2016/08/15 by Daniel.Wright

	Fixed atmospheric fog on translucency

Change 3089457 on 2016/08/15 by Daniel.Wright

	Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass.  The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.

Change 3089549 on 2016/08/15 by Daniel.Wright

	UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds

Change 3089703 on 2016/08/15 by Daniel.Wright

	Custom expression fixup for View.RenderTargetSize

Change 3090546 on 2016/08/16 by Daniel.Wright

	Hopeful fix for recycled snapshot view crash

Change 3091202 on 2016/08/16 by Daniel.Wright

	Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view

[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
Gil Gribb
0b102492a9 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3028916)
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3006483 on 2016/06/08 by Simon.Tovey

	Fix for UE-31653
	Instance params from the Spawn, Required and TypeData modules were not being autopopulated.

Change 3006514 on 2016/06/08 by Zabir.Hoque

	MIGRATING FIX @ Request

	Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction.

	#CodeReview: Marcus.Wassmer, Daniel.Wright

Change 3006605 on 2016/06/08 by Rolando.Caloca

	DR - vk - Remove a bunch of unused code, clean up some todos

Change 3006969 on 2016/06/08 by HaarmPieter.Duiker

	Add #ifdefs around inverse tonemapping to avoid performance hit in normal use

Change 3007240 on 2016/06/09 by Chris.Bunner

	Made a pass at fixing global shader compile warnings and errors.

Change 3007242 on 2016/06/09 by Chris.Bunner

	Don't force unlit mode when re-loading a map.
	#jira UE-31247

Change 3007243 on 2016/06/09 by Chris.Bunner

	Cache InvalidLightmapSettings material for instanced meshes.
	#jira UE-31182

Change 3007258 on 2016/06/09 by Chris.Bunner

	Fixed refractive depth bias material parameter.

Change 3007466 on 2016/06/09 by Rolando.Caloca

	DR - Use vulkan debug marker extension directly from header

Change 3007504 on 2016/06/09 by Martin.Mittring

	added refresh button to ImageVerifier

Change 3007528 on 2016/06/09 by Martin.Mittring

	ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end
	make render more deterministic

Change 3007551 on 2016/06/09 by Chris.Bunner

	Reverted constant type change in previous commit.

Change 3007559 on 2016/06/09 by Martin.Mittring

	updated ImageValidator

Change 3007584 on 2016/06/09 by Rolando.Caloca

	DR - Fix case when not running under RD

Change 3007668 on 2016/06/09 by Rolando.Caloca

	DR - vk - Split layers/extensions by required/optional

Change 3007820 on 2016/06/09 by Rolando.Caloca

	DR - Android compile fix

Change 3007926 on 2016/06/09 by Martin.Mittring

	fixed UI scaling in ImageVerifyer

Change 3007931 on 2016/06/09 by John.Billon

	-Fixed cutouts not working for certain sized texture/subUV size combinations.
	-Also fixed issue with subUV module not being postloaded consistently on startup.
	#Jira UE-31583

Change 3008023 on 2016/06/09 by Martin.Mittring

	refactor noise code in shaders

Change 3008127 on 2016/06/09 by Zabir.Hoque

	Merging back hot fixes:

	1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS.

	2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself.

Change 3008129 on 2016/06/09 by Daniel.Wright

	Disabled r.ProfileGPU.PrintAssetSummary by default due to spam

Change 3008169 on 2016/06/09 by Rolando.Caloca

	DR - Fix mobile rendering not freeing resource when using RHI thread

Change 3008429 on 2016/06/09 by Uriel.Doyon

	Enabled texture streaming new metrics.
	Added progress bar while texture streaming is being built.
	Added debug shader validation to prevent crashes when there are uniform expression set mismatches.
	Added texture streaming build to "Build All"

Change 3008436 on 2016/06/09 by Uriel.Doyon

	Fixed shipping build

Change 3008833 on 2016/06/10 by Rolando.Caloca

	DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications
	Submitted by Allar
	PR #1864
	#jira UE-24545

Change 3008842 on 2016/06/10 by Rolando.Caloca

	DR - Remove vertex densities view mode

Change 3008857 on 2016/06/10 by John.Billon

	Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching.

Change 3008870 on 2016/06/10 by Rolando.Caloca

	DR - Rebuild hlslcc libs (missing from last merge)

Change 3008925 on 2016/06/10 by John.Billon

	Fixed r.ScreenPercentage.Editor
	#Jira UE-31549

Change 3009028 on 2016/06/10 by Daniel.Wright

	Shadow depth refactor
	* Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame
	* This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading
	* The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed
	* A large amount of duplicated code to handle each shadow type has been combined
	* Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency
	* 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures

Change 3009032 on 2016/06/10 by Daniel.Wright

	Fixed crash with simple forward shading in the material editor

Change 3009178 on 2016/06/10 by Rolando.Caloca

	DR - Add support for multi callbacks on HlslParser, added a write to string callback

Change 3009268 on 2016/06/10 by Daniel.Wright

	Warning fixes

Change 3009416 on 2016/06/10 by Martin.Mittring

	moved decal rendering code in common spot for upcoming MeshDecal rendering

Change 3009433 on 2016/06/10 by John.Billon

	Adding ensures for translucency lighting volume render target acesses.
	#Jira UE-31578

Change 3009449 on 2016/06/10 by Daniel.Wright

	Fixed whole scene point light shadow depths getting rendered redundantly

Change 3009675 on 2016/06/10 by Martin.Mittring

	fixed Clang compiling

Change 3009815 on 2016/06/10 by Martin.Mittring

	renamed IsUsedWithDeferredDecal to IsDeferredDecal
	to be more correct

Change 3009946 on 2016/06/10 by Martin.Mittring

	minor optimization

Change 3010270 on 2016/06/11 by HaarmPieter.Duiker

	Update gamut transformations used when dumping EXRs to account for bug UE-29935

Change 3011423 on 2016/06/13 by Martin.Mittring

	fixed default of bOutputsVelocityInBasePass
	#code_review:Rolando.Caloca
	#test:PC

Change 3011448 on 2016/06/13 by Martin.Mittring

	minor engine code cleanup
	#code_review:Olaf.Piesche
	#test:PC

Change 3011991 on 2016/06/13 by Daniel.Wright

	Fixed downsampled translucency crash in VR

Change 3011993 on 2016/06/13 by Daniel.Wright

	Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely'
	Mobility tooltips now reflect whether a primitive component or light component is being inspected

Change 3012096 on 2016/06/13 by Daniel.Wright

	Missing file from cl 3011993

Change 3012546 on 2016/06/14 by John.Billon

	Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled
	#Jira OR-23282

Change 3012706 on 2016/06/14 by John.Billon

	Renamed r.ContactShadows.Enable to r.ContactShadows

Change 3012992 on 2016/06/14 by Rolando.Caloca

	DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled
	- Added support for CustomPresent

Change 3013030 on 2016/06/14 by Rolando.Caloca

	DR - vk - Fix dev issue

Change 3013423 on 2016/06/14 by Martin.Mittring

	removed code redundancy for easier upcoming changes
	#test:PC

Change 3013451 on 2016/06/14 by Martin.Mittring

	removed no longer needed debug cvar
	#test:PC

Change 3013643 on 2016/06/14 by Zabir.Hoque

	Fix API only being inlined in the cpp and not avaialble in the .h

Change 3013696 on 2016/06/14 by Olaf.Piesche

	Adding missing quality level spawn rate scaling on GPU emitters

Change 3013736 on 2016/06/14 by Daniel.Wright

	Cached shadowmaps for whole scene point and spot light shadows
	* Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights)
	* Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving
	* Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached
	* Cached shadowmaps are copied each frame and then movable primitive depths composited
	* Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap)
	* 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness)
	* 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights)

Change 3014103 on 2016/06/15 by Daniel.Wright

	Compile fix

Change 3014507 on 2016/06/15 by Simon.Tovey

	Resurrected Niagara playground and moved to Samples/NotForLicencees

Change 3014931 on 2016/06/15 by Martin.Mittring

	moved r.RenderInternals code into renderer to be able to access more low level data
	#test:PC, paragon

Change 3014933 on 2016/06/15 by Martin.Mittring

	nicer text

Change 3014956 on 2016/06/15 by Daniel.Wright

	Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
	Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)

Change 3014985 on 2016/06/15 by Uriel.Doyon

	Enabled Texture Build shaders on Mac
	Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API
	Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping.
	Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets
	#jira UE-30566
	#jira UE-31098

Change 3014995 on 2016/06/15 by Rolando.Caloca

	DR - vk - Removed RHI thread wait on acquire image
	- Move Descriptor pool into context

Change 3015002 on 2016/06/15 by Rolando.Caloca

	DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine

Change 3015041 on 2016/06/15 by Martin.Mittring

	fixed ImageValidator crashing when using files that exist only in ref or test folder

Change 3015309 on 2016/06/15 by Rolando.Caloca

	DR - vk - Enable fence re-use on SDKs >= 1.0.16.0

Change 3015356 on 2016/06/15 by Rolando.Caloca

	DR - vk - Prep for staging buffer refactor

Change 3015430 on 2016/06/15 by Martin.Mittring

	minor optimization for subsurfacescatteringprofile

Change 3016097 on 2016/06/16 by Simon.Tovey

	Enabling Niagara by default in the Niagara playground

Change 3016098 on 2016/06/16 by Simon.Tovey

	Some misc fixup to get niagara working again

Change 3016183 on 2016/06/16 by Rolando.Caloca

	DR - vk - Recreate buffer view for volatile buffers

Change 3016225 on 2016/06/16 by Marcus.Wassmer

	Duplicate reflection fixes from 4.12 hotfixes.

Change 3016289 on 2016/06/16 by Chris.Bunner

	Always gather MP_Normal definitions as they can be shared by other material properties.
	#jira UE-31792

Change 3016294 on 2016/06/16 by Daniel.Wright

	Fix for ensure accessing CVarCacheWPOPrimitives in game

Change 3016305 on 2016/06/16 by Daniel.Wright

	Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been

Change 3016330 on 2016/06/16 by Daniel.Wright

	Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back
	Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light
	Stats for shadowmap memory used under 'stat shadowrendering'

Change 3016506 on 2016/06/16 by Daniel.Wright

	Fixed crash building map in SunTemple due to null access

Change 3016703 on 2016/06/16 by Uriel.Doyon

	Fixed warning due to floating point imprecision when building texture streaming

Change 3016718 on 2016/06/16 by Daniel.Wright

	Volume lighting samples use adaptive sampling final gather
	* Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting)

Change 3016871 on 2016/06/16 by Max.Chen

	Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation.

	Copy from Dev-Sequencer

	#jira UE-32093

Change 3017189 on 2016/06/16 by Zabir.Hoque

	Fix GBuffer format selection type-o.

	#CodeReview: Marcus.Wassmer

Change 3017241 on 2016/06/16 by Martin.Mittring

	optimized  and cleaned up rendering in transluceny, distortion, custom mesh drawing
	#code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden

Change 3017856 on 2016/06/17 by Rolando.Caloca

	DR - Missing GL enum

Change 3017910 on 2016/06/17 by Ben.Woodhouse

	- Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates
	- Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering
	Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24)
	#RB:Keli.Hloedversson,Martin.Mittring

Change 3018126 on 2016/06/17 by Ben.Woodhouse

	Fix build warning on Mac
	#RB:David.Hill

Change 3018167 on 2016/06/17 by Chris.Bunner

	Handle case when float4 is passed to TransformPosition material node.
	#jira UE-24980

Change 3018246 on 2016/06/17 by Benjamin.Hyder

	Submitting Preliminary ShadowRefactor TestMap

Change 3018330 on 2016/06/17 by Benjamin.Hyder

	labeled ShadowRefactor map

Change 3018377 on 2016/06/17 by Chris.Bunner

	Removed additional node creation when initializing a RotateAboutAxis node.
	#jira UE-8034

Change 3018433 on 2016/06/17 by Rolando.Caloca

	DR - Fix some clang warnings on Vulkan

Change 3018664 on 2016/06/17 by Martin.Mittring

	unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812)
	#test:PC
	#code_review:Marcus.Wassmer,Brian.Karis

Change 3019023 on 2016/06/19 by Benjamin.Hyder

	Re-Labeled ShadowRefactor map

Change 3019024 on 2016/06/19 by Benjamin.Hyder

	Correcting Translucent Volume (Non-Directional) settings

Change 3019026 on 2016/06/19 by Benjamin.Hyder

	Correcting Lighting ShadowRefactor map

Change 3019414 on 2016/06/20 by Allan.Bentham

	Refactor mobile shadows

Change 3019494 on 2016/06/20 by Gil.Gribb

	Merging //UE4/Dev-Main@3018959 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3019504 on 2016/06/20 by John.Billon

	-Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk.
	-Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints.
	-Created a small common interface for blueprints and the editor itself to use for exporting.
	#Jira UE-31429

Change 3019561 on 2016/06/20 by Gil.Gribb

	UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager.

Change 3019616 on 2016/06/20 by Rolando.Caloca

	DR - Replicate change in DevRendering to fix splotches on characters with morph targets
	Change: 3019599
	O - Fix flickering on heroes with morph targets

Change 3019627 on 2016/06/20 by Rolando.Caloca

	DR - Doh! Compile fix

Change 3019674 on 2016/06/20 by Simon.Tovey

	Ripped out the quick hacky VM debugger I wrote a while back.
	Over complicated the VM and didn't do enough work to justify it.
	Will revisit debugging and profiling of VM scripts in future.

Change 3019691 on 2016/06/20 by Ben.Woodhouse

	Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed.

	This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs).
	#RB:Martin.Mittring, Daniel.Wright

Change 3019741 on 2016/06/20 by John.Billon

	Fixed compile error on mac.

Change 3019984 on 2016/06/20 by Martin.Mittring

	minor optimization

Change 3020172 on 2016/06/20 by Zachary.Wilson

	Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none

Change 3020195 on 2016/06/20 by Zachary.Wilson

	Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none

Change 3020196 on 2016/06/20 by Rolando.Caloca

	DR - Appease static analysis

Change 3020231 on 2016/06/20 by Zachary.Wilson

	Making basic shapes consistent distance field resolution scale.  #rb: none

Change 3020468 on 2016/06/20 by David.Hill

	CameraWS  UE-29146

Change 3020502 on 2016/06/20 by Benjamin.Hyder

	Adding AutomationMatinee Camera for RenderOutputValidation

Change 3020508 on 2016/06/20 by Benjamin.Hyder

	Adding AutomationMatinee for RenderOutputValidation

Change 3020514 on 2016/06/20 by Benjamin.Hyder

	Setting Autoplay for AutomationMatinee (sequence)

Change 3020561 on 2016/06/20 by Daniel.Wright

	Removed outdated comment on uniform expression assert

Change 3021268 on 2016/06/21 by Daniel.Wright

	Scaled sphere intersection for indirect capsule shadows
	* Fixes the discontinuity when capsule axis points close to the light direction
	* GPU cost is effectively the same (more expensive to compute, but tighter culling)

Change 3021325 on 2016/06/21 by Daniel.Wright

	Split ShadowRendering.cpp into ShadowDepthRendering.cpp

Change 3021355 on 2016/06/21 by Daniel.Wright

	Fixed RTDF shadows (broken by shadowmap caching)

Change 3021444 on 2016/06/21 by Daniel.Wright

	Fixed crash due to Depth drawing policy not using the default material shader map properly

Change 3021543 on 2016/06/21 by Daniel.Wright

	Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash
	Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns

Change 3021749 on 2016/06/21 by Daniel.Wright

	Moved RenderBasePass and dependencies into BasePassRendering.cpp
	Moved RenderPrePass and dependencies into DepthRendering.cpp

Change 3021766 on 2016/06/21 by Benjamin.Hyder

	Adding 150dynamiclights level to Dev-Folder

Change 3021971 on 2016/06/21 by Daniel.Wright

	Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation
	* TLM_SurfacePerPixelLighting now behaves like TLM_Surface

Change 3022760 on 2016/06/22 by Chris.Bunner

	Merge fixup.

Change 3022911 on 2016/06/22 by Rolando.Caloca

	DR - Added  r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders

Change 3023037 on 2016/06/22 by Rolando.Caloca

	DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed

Change 3023139 on 2016/06/22 by Daniel.Wright

	Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled

Change 3023231 on 2016/06/22 by Daniel.Wright

	Only allowing opaque per-object shadows or CSM in the mobile renderer

Change 3023415 on 2016/06/22 by Daniel.Wright

	Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target

Change 3024888 on 2016/06/23 by Daniel.Wright

	Fixed preshadows being rendered redundantly with multiple lights

Change 3025119 on 2016/06/23 by Martin.Mittring

	added MeshDecal content to RenderTest

Change 3025122 on 2016/06/23 by Martin.Mittring

	enabled DBuffer for RenderTest

Change 3025153 on 2016/06/23 by Marc.Olano

	Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10.
	Needed to use world space without shader offsets, not absolute world space.

Change 3025180 on 2016/06/23 by Marc.Olano

	Use translated world space for particle centers.
	Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables.

Change 3025265 on 2016/06/23 by David.Hill

	Bilbords translucent during PIE  - lighting model was incorrectly set in gbuffer
	#jira UE-26165

Change 3025269 on 2016/06/23 by Ryan.Brucks

	Adding new Testmap for Pixel Depth Offset velocities with Temporal AA

Change 3025345 on 2016/06/23 by Benjamin.Hyder

	Submitting MeshDecal Content

Change 3025444 on 2016/06/23 by Benjamin.Hyder

	updating content for MeshDecal

Change 3025491 on 2016/06/23 by Benjamin.Hyder

	Updating DecalMesh Textures

Change 3025802 on 2016/06/23 by Martin.Mittring

	added to readme

Change 3026475 on 2016/06/24 by Rolando.Caloca

	DR - Show current state of r.RHIThread.Enable when not using param

Change 3026479 on 2016/06/24 by Rolando.Caloca

	DR - Upgrade glslang to 1.0.17.0

Change 3026480 on 2016/06/24 by Rolando.Caloca

	DR - Vulkan headers to 1.0.17.0

Change 3026481 on 2016/06/24 by Rolando.Caloca

	DR - Vulkan wrapper for extra logging

Change 3026491 on 2016/06/24 by Rolando.Caloca

	DR - Missed file

Change 3026574 on 2016/06/24 by Rolando.Caloca

	DR - vk - Enabled fence reuse on 1.0.17.0
	- Added more logging info

Change 3026656 on 2016/06/24 by Frank.Fella

	Niagara - Prevent sequencer uobjects from being garbage collected.

Change 3026657 on 2016/06/24 by Benjamin.Hyder

	Updating Rendertestmap to latest

Change 3026723 on 2016/06/24 by Rolando.Caloca

	DR - Fix for ES3.1 RHIs

Change 3026784 on 2016/06/24 by Martin.Mittring

	New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on)

Change 3026866 on 2016/06/24 by Olaf.Piesche

	#jira OR-18363
	#jira UE-27780
	fix distortion in particle macro uvs

[CL 3028922 by Gil Gribb in Main branch]
2016-06-27 13:42:20 -04:00
Bob Tellez
c747634240 Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //UE4/Fortnite-Staging @ 3026859)
#rb none
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3016173 on 2016/06/16 by Lukasz.Furman

	fixed path updates in nested move tasks
	#jira FORT-25742

Change 3015722 on 2016/06/15 by Bob.Tellez

	#UE4 Avoiding a crash in FOnlinePartySystemMcp::PublishPartyInfoToPresence

	#JIRA OR-14102

Change 3015626 on 2016/06/15 by Bob.Tellez

	#UE4 Experimental fix for hitches involving spinlocks in windows.

	#JIRA FORT-25253

Change 3015473 on 2016/06/15 by Bob.Tellez

	#UE4 Compiling CrashReportClient in VS2013 instead of 2015 until we can figure out the appropriate way to install the redist on end-user machines.

	#JIRA FORT-25748

Change 3014721 on 2016/06/15 by Bob.Tellez

	#UE4 Returning false in cases where we want to skip replication of GameplayAbilities structures in NetDeltaSerialize. This fixes a bug where actors trying to become net dormant were not allowed because they were continuously reporting that they had data to replicate.

	#JIRA FORT-25689

Change 3014323 on 2016/06/15 by Rob.Cannaday

	When kicked from lobby beacon, restore the persistent party after leaving the previous persistent party
	#jira FORT-25407
	#tests front end parties, being kicked from outpost lobby

Change 3013712 on 2016/06/14 by Bob.Tellez

	#UE4 Fix DrawNetDriverDebug crash during map transitions

Change 3013418 on 2016/06/14 by Mark.Satterthwaite

	Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
	#jira FORT-24510

Change 3013394 on 2016/06/14 by Mark.Satterthwaite

	Report Metal command-buffer failures in MetalQuery in the same way as MetalCommandList and make them fatal as well. This ensures that the game doesn't try to continue if the commands failed as that is unsafe.
	#jira FORT-24808

Change 3012977 on 2016/06/14 by Fred.Kimberley

	Add a blueprint exposed function to evaluate an attribute from a given base value.

Change 3012755 on 2016/06/14 by Bob.Tellez

	#UE4 ExclusiveInternalFlags is now respected when passing in a null ObjectPackage in StaticFindObjectFastInternalThreadSafe

	#JIRA FORT-113

Change 3011948 on 2016/06/13 by Mark.Satterthwaite

	Workaround a Fortnite crash on launch for Mac OpenGL - one or more shaders are using the bit-cast operators (asuint(), asfloat()) that aren't available with GLSL version 150. In order to use them the GLSL version must be 330 which means switching the version tag at runtime. There will be Mac GPUs on 10.10.5 which don't correctly implement these instructions so this really isn't a fix - that would be to change shaders to not use SM5-level instructions.

Change 3011659 on 2016/06/13 by Bob.Tellez

	#UE4 Better handling of checked state in SGameplayTagWidget::IsTagChecked. Checking direct child tags was not sufficient and also not needed since HasTag allows you to follow parent tags when checking for an explicit tag.

Change 3011647 on 2016/06/13 by Rob.Cannaday

	Fix for multiple account login not kicking previous logins
	Client was not parsing response from backend.  Client was expecting content-type to be "application/json" (using FString::Equals).  Backend was returning "application/json;charset=UTF-8".  Changed usage from FString::Equals to FString::StartsWith
	#jira FORT-25452
	#tests multiple account login, frontend only

Change 3011436 on 2016/06/13 by Nick.Cooper

	#UE4 - Added bRelativeToInitialFOV option to UCameraAnim, defaulting to true. If turned off, camera anims will use the camera's current FOV as the initial FOV for the animation

	#jira FORT-23606

Change 3010411 on 2016/06/12 by Bob.Tellez

	#UE4 Fix for a possible case where a reference to an async loading package that would contain a level gets replicated before the level it contains is fully serialized, causing network loading code client side to attempt to load the package even though it is not allowed to load maps.

	#jira FORT-113, FORT-22222

Change 3009885 on 2016/06/10 by Billy.Bramer

	#jira FORT-25361
	[FORT-25361] Health and shield values are incorrect when slotting survivors with bonuses
	- Fix some resultant bugs from swapping attributes to be struct-based:
	   - Fix issue wherein the initial creation of the client-side aggregator could be initialized with the computed final value from the server, resulting in incorrect client-side math
	   - Fix issue where subsequent changes to the aggregator's base value on the client would be lost

Change 3009514 on 2016/06/10 by Bob.Tellez

	#UE4 Remove final usage of the task graph in WmfMediaPlayer to dodge shutdown crashes.

Change 3009197 on 2016/06/10 by Michael.Trepka

	Disabled reverb on Mac again. It's too expensive and doesn't fix FORT-22090 anyway

Change 3008392 on 2016/06/09 by Ben.Zeigler

	#jira FORT-25244
	Change it so application error codes like 400/404 do not cause the mcp to think it is disconnected from the backend. Only 408, 501, 502, and 504 now result in ServiceUnavailable.

Change 3008106 on 2016/06/09 by Lukasz.Furman

	fixed cutting corners near navmesh obstacles in detour crowd's string pulling
	#jira FORT-24981

Change 3008039 on 2016/06/09 by Bob.Tellez

	#UE4 Fixed conversion of TAssetPtr to UObject* properties for the case where the referenced object is not already loaded.

Change 3007864 on 2016/06/09 by Fred.Kimberley

	Updates to supporting attributes as structs. Adding functionality that makes them easier to use and override in projects.

Change 3007682 on 2016/06/09 by Michael.Trepka

	Re-enabled reverb on Mac

Change 3006971 on 2016/06/08 by Saul.Abreu

	#fortnite
	#jira FORT-25169
	Added node costs types, cost amounts, and remaining balance for each cost type to the NodePurchase analytics event.

Change 3006933 on 2016/06/08 by Chris.Gagnon

	Fixed up all the Power levle widget use cases.

	#Jira FORT-23472, FORT-24132, FORT-24144, FORT-24952, FORT-24924

Change 3006633 on 2016/06/08 by Dmitry.Rekman

	Linux: propagate ensure message to the CR (FORT-23030).

	- Without this, ensure() has a generic "SIGTRAP" error message, which is misleading for QA.

	#tests Tried "debug ensure" a few times, observed crash report (on the website) with the proper message
	#jira FORT-23030

Change 3006036 on 2016/06/08 by Rob.Cannaday

	Remove warning about missing "recentplayers" field.  The absence of the field is gracefully handled in the client and is only absent if the list is absent on the server.
	#jira FORT-18687

Change 3005216 on 2016/06/07 by Bob.Tellez

	#UE4 Avoiding layout invalidation if you use SetEnabled to set an identical enabled state. This is the same as how SetVisibility works.

Change 3004857 on 2016/06/07 by Rob.Cannaday

	Fix for incorrect reason displayed for inability to join party
	#jira FORT-13517

Change 3004811 on 2016/06/07 by Michael.Trepka

	Increased the number of input buses for CoreAudio 3D Mixer to support 64 audio channels. Also, added a warning to FAudioDevice::StartSources so it doesn't silently ignore sound source initialization failures.

Change 3004553 on 2016/06/07 by Lukasz.Furman

	fixed AnySpawners activating before navmesh unlock & rebuild
	#jira FORT-25067

Change 3004083 on 2016/06/07 by Bob.Tellez

	#UE4 Fixing GenerateApplicationPath for monolithic games.

Change 3003457 on 2016/06/06 by Bob.Tellez

	#UE4 Add a little info to a warning about failing to load a file for streaming.

Change 3003256 on 2016/06/06 by Bob.Tellez

	#UE4 Fixed a bug where not having a crash report would cause CrashReportClient not not properly exit on Mac

Change 3003146 on 2016/06/06 by jonathan.lindquist

	switching from a ceil and lerp technique to an if statement to provide better transform results.

Change 3002048 on 2016/06/06 by Daniel.Broder

	Support for setting Scalar and Vector Materials by Index rather than by name on MIDs.

	This feature allows much better performance in cases where large numbers of parameters are being set per frame and where the indices can be cached by the calling code in an initialization step.

	#RB Stephan.Delmer

	#CodeReview Bob.Tellez

	#UE4 #ReleaseNote

Change 3001315 on 2016/06/05 by Daniel.Broder

	Fixed crash that could occur when the FPhysScene* was null (the world has no PhysicsScene) in USkeletalMeshComponent::TermArticulated().  That could happen when loading a world without fully instantiating it, such as when right-clicking a world in the context browser rather than opening the world directly.

	#RB Stephan.Delmer

	Ori, I wasn't sure if the whole line (and the line below it using PScene) should be moved within the if (PhysScene) block or not, but this change seems to fix it.  If they can safely be moved, that would be presumably more efficeint though (since we'd only compare vs. nullptr once).

	#CodeReview Ori.Cohen

	#UE4 #Fortnite #BugFix

Change 3001001 on 2016/06/04 by Fred.Kimberley

	Added meta data about attributes and a post serialize function so we can recover attributes that have changed their type.

	Adding Fortnite specific attribute type specialization. This type enforces minimum and maximum values for attributes.

Change 3000613 on 2016/06/03 by Sam.Spiro

	#fort online 24747
	Take change from SamZ to get connection change delegates firing correctly
	Add a delegate to the frontend player controller to logout if the connection goes bad (when all retries have failed)

	#RB Ben.Zeigler

Change 3000482 on 2016/06/03 by Rob.Cannaday

	Fix problem where newly added friends don't recognize party invitations
	#jira FORT-19415

	From CL 2953432:
	Ignore presence updates for local user with different resources
	#jira OR-19929
	#tests front end party invites

Change 2998044 on 2016/06/02 by Lukasz.Furman

	fixed path box intersection test used to verify if hotspot is still required for updated path
	#jira FORT-24422

Change 2997948 on 2016/06/02 by Eric.Newman

	Moved ProdCom to bottom of file w/ deprecation comment, and clarified deprecation criteria.  Will probably need to be removed in //UE4 first and check for any fallout from EC jobs failing

Change 2997660 on 2016/06/02 by Chris.Wood

	Changed Linux server crash handler to force CRC log paths to match main engine log.
	[UE-30259] - Some server crashes are missing from crashreporter database

	Should allow us to have CRC logs uploaded to S3 along with main logs easily.

Change 2996702 on 2016/06/01 by Bob.Tellez

	#UE4 You can now use Edit Asset on Level assets in the reference viewer.

Change 2996683 on 2016/06/01 by Tim.Tillotson

	#fortnite
	Fix analytics comments, changed a few NULL to nullptr, and removed stale code.
	#JIRA FORT-23833

Change 2996548 on 2016/06/01 by Bob.Tellez

	#Fortnite Fixing up or deleting remaining references to homebase buildings. HBOnboarding_BuildHeroBuilding is the last reference now and it will be removed soon.

Change 2996322 on 2016/06/01 by Bob.Tellez

	#UE4 Fix for specifying more than one ini override on the command line

Change 2996306 on 2016/06/01 by Bob.Tellez

	#UE4 Delete unneeded and broken script to unlock files in xcode. Does not work since XCode 6.3.

Change 2995634 on 2016/06/01 by Jonathan.Lindquist

	imrpoving the wind magnitude and noise texture

Change 2995249 on 2016/05/31 by Bob.Tellez

	#UE4 Importing "INVALID" in FUniqueNetIdRepl no longer triggers the warning about using ImportText during cook.

Change 2992135 on 2016/05/26 by Bob.Tellez

	#UE4 extern for GuardedMain in LaunchLinux to fix nonunity

Change 2991912 on 2016/05/26 by jonathan.lindquist

	moved a texture sample into a new grouping

Change 2991738 on 2016/05/26 by Bob.Tellez

	#UE4 Level SaveAs now duplicates the world before saving it. This fixes a problem where level assets had the same guids for objects saved in them, which causes LazyObjectPtr issues when they are both in memory at the same time since they can not be uniquely identified.

Change 2991449 on 2016/05/26 by Lukasz.Furman

	AI Ftests will now delay spawning until navmesh is ready
	#fortnite

Change 2990705 on 2016/05/25 by Chris.Gagnon

	New stats panel, upon stat changes there is a delta pop up.
	New Squads Tab.
	Navigation from nodes to squad slots working.

	Added GetAnimationCurrentTime() to UMG Animation API.

	#RB Fred.Kimberley, Saul.Abreu

Change 2990286 on 2016/05/25 by Bob.Tellez

	#UE4 Fix logging error regarding max tag container replication size

Change 2990285 on 2016/05/25 by Bob.Tellez

	#UE4 Fix for crash when using "ShowDebug Game" client side

Change 2989977 on 2016/05/25 by Lukasz.Furman

	auto generating navigation bounds from building grid data, UnitNavMeshBounds volume is no longer required
	#fortnite

Change 2989174 on 2016/05/24 by Bob.Tellez

	#UE4 Added GC reason to the log message declaring that we are doing a GC during the cook commandlet.

Change 2988571 on 2016/05/24 by Jonathan.Lindquist

	submitting a fix for grass-like hierarchy layouts

Change 2985428 on 2016/05/20 by Bob.Tellez

	Experimenting with making UGS CIS not rebuild UBT when incremental building.

Change 2985319 on 2016/05/20 by Bob.Tellez

	#UE4 Removing NumActorChannelsReadyDormant stat as it is somewhat expensive to calculate.

Change 2985258 on 2016/05/20 by Billy.Bramer

	- Add GetFloatAttributeBase and GetFloatAttributeBaseFromAbilitySystemComponent to AbilitySystemBlueprintLibrary, allows querying for a base value of an attribute

Change 2985157 on 2016/05/20 by Bob.Tellez

	Experimenting with non-unity CIS

Change 2984664 on 2016/05/19 by Bob.Tellez

	#UE4 Pasting multiple cells into the property matrix no longer depends on your selected tiles, only your target cell. This is to match the behavior in Excel. Pasting a single cell into multiple cells remains unchanged.

Change 2984663 on 2016/05/19 by Bob.Tellez

	#UE4 Fixed a crash in the property matrix involving going into edit mode on rows that include widgets that are not editable.

Change 2984613 on 2016/05/19 by Bob.Tellez

	#UE4 You can now text import gameplay tags by directly using the tag string (i.e. Evolution.Hero.Soldier). This allows pasting these strings directly into the property matrix or other property-based editors.

Change 2984508 on 2016/05/19 by Billy.Bramer

	- Add constructors for the new struct based attribute

Change 2983883 on 2016/05/19 by Lukasz.Furman

	disabled movement mode in EQS testing pawn to prevent it from falling at PIE start
	#ue4

Change 2983770 on 2016/05/19 by Bob.Tellez

	#UE4 Fixed a bug where "OutputToScreen" BP messages would get stuck disabled after a screenshot (using a number of different codepaths). All screenshots now preserve the state of the "suppress messages" bool.

	#JIRA FORT-24303

Change 2982306 on 2016/05/18 by Bob.Tellez

	Also experimenting with not updating version files in UGS CIS.

Change 2982154 on 2016/05/18 by Lukasz.Furman

	changed navwalking geometry conforming to use building prop special case
	#jira FORT-24215

Change 2982019 on 2016/05/18 by Bob.Tellez

	Trying out incremental CIS builds

Change 2981192 on 2016/05/17 by Bob.Tellez

	#UE4 No longer staging movie files for dedicated server builds.

Change 2981023 on 2016/05/17 by Lukasz.Furman

	added new mode for NavWalking geometry conforming: prefer height closer to current one
	this should allow standing on top of props or walking off them in lower LOD, instead of moving at ground level - needed for survivors on low cars

Change 2980578 on 2016/05/17 by Lukasz.Furman

	added option for disabling path replan in crowd manager, turned it off in fortnite
	this must be handled through path update events and corridor assignment or else hotspot detection will break
	#jira FORT-24116

Change 2980364 on 2016/05/17 by Lukasz.Furman

	unified bounds tests for applying navmesh modifiers, always expanding bounds one cell height on Z axis to cover for voxelization roundings
	#jira FORT-24045

Change 2980360 on 2016/05/17 by Lukasz.Furman

	more detailed logs for using custom navlinks
	#jira FORT-23990

Change 2979880 on 2016/05/16 by Bob.Tellez

	#UE4 Raising scalability threshold for high end machines to adjust for modern hardware.

Change 2979522 on 2016/05/16 by Saul.Abreu

	#fortnite
	Added IsValid BP-exposed method for FGameplayAttribute (which is already a BP-exposed struct type), as there is no existing method of validating a gameplay attribute from blueprints. Useful for UI that represents an attribute.

Change 2977690 on 2016/05/13 by Daniel.Broder

	Made most FBox functions FORCEINLINE to improve DebugGame performance.

	#Fortnite: This change (just on IsInsideOrOn()) improved DebugGame performance for one part of Wind performance in Fortnite by ~18%.

	#CodeReview Bob.Tellez

	#UE4 #ReleaseNotes

Change 2977517 on 2016/05/13 by Daniel.Broder

	Added ForceInline to TIndexedContainerIterator<...>::operator!=(...).  This change improved DebugGame performance of a for loop using ranged-based syntax by ~27%!

	#CodeReview Bob.Tellez

	#Fortnite Wind perf improvement in DebugGame builds.

	#UE4 #ReleaseNote

Change 2974910 on 2016/05/11 by Bob.Tellez

	#UE4 More graceful handling of export class names in string asset references.

Change 2974095 on 2016/05/11 by Bob.Tellez

	#UE4 Fixed a bug where the RenderTargetOutputFormat for velocity rendering when using r.BasePassOutputsVelocity=True was using the wrong output index.

Change 2973663 on 2016/05/11 by John.Abercrombie

	[implemented by Ben.Marsh]

	UBT: Add a config setting to allow overriding the output directory for PCH files. To use, edit Engine\Saved\UnrealBuildTool\BuildConfiguration.xml and add:

		<BuildConfiguration>
			<PCHOutputDirectory>D:\TestOutputDir</PCHOutputDirectory>
		</BuildConfiguration>

Change 2972603 on 2016/05/10 by Saad.Nader

	#Fort Added the catalyst to the requirements of an evolvable item. It will only disable the evolution button if there is a catalyst.

Change 2971741 on 2016/05/09 by Bob.Tellez

	#UE4 Adding more context to an error message about serializing FUniqueNetIdRepl during cook.

Change 2969838 on 2016/05/06 by Bob.Tellez

	#Fortnite Added FN PS4 to build scripts

Change 2969542 on 2016/05/06 by Bob.Tellez

	#UE4 Fixed a crash that involved renaming SCS nodes during compile on load.

	#JIRA FORT-23754

Change 2969520 on 2016/05/06 by Billy.Bramer

	- Fix missing virtual destructor now that the initter struct has virtual members

Change 2969467 on 2016/05/06 by Billy.Bramer

	- Change FAttributeSetInitter to only contain pure virtual functions in preparation for making it easier to provide a custom implementation per game
	- Change the existing example FAttributeSetInitter to be called FAttributeSetInitterDiscreteLevels, make it derive from FAttributeSetInitter (DiscreteLevels is now allocated by default for now)
	- Add support for the new struct-based attribute type to FAttributeSetInitterDiscreteLevels
	- Fix typos in the initter
	- Convert usages of FString in AbilitySystemGlobals to FStringAssetReference, where appropriate
	- Allow attribute init data to come from several curve tables instead of just one
	- Remove reimport bindings from attribute metadata and global curve table, as neither was in use

Change 2969279 on 2016/05/06 by John.Abercrombie

	Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused

Change 2966311 on 2016/05/04 by Rob.Cannaday

	Fix PS4 Orion players being able to whisper chat with non-Orion players
	#jira OR-20626
	#tests chat with launcher, fortnite
	(From //Orion/Dev-General CL 2963555)

Change 2966255 on 2016/05/04 by Bob.Tellez

	#UE4 Added an ensure to track down the cause of FORT-23604 and to gracefully recover from what would have been a crash.

	#JIRA FORT-23604

Change 2966083 on 2016/05/04 by Bob.Tellez

	#UE4 Adjusted material quality level for "Medium" settings to medium quality. High quality is still used in High and Epic scalability levels.

Change 2965669 on 2016/05/04 by Nicholas.Davies

	Change the restricted platform ID to PSN to prevent Fortnite > PS4 paragon whisper chat
	#OPP-5268 Integrate PS4 Chat block Social and OSS code to Fortnite, UT, and Launcher
	#RB Antony.Carter

Change 2965316 on 2016/05/03 by Ben.Zeigler

	#jira FORT-23600 Fix issue where stalled mcp queries never finished. This causes the query to properly fail
	Manual merge of CL #2907874:
	When MCP cancels a request due to its required auth failing, the http retry system would never kick off the complete delegates.
	This was due to the system only adding a request to its list once ProcessRequest was called, which does not happen in the above case.
	The fix is to add the request to the list when it is cancelled if we did not find it.

Change 2965164 on 2016/05/03 by Bob.Tellez

	#UE4 Fix for Crash in WmfMedia for when the player is destroyed while loading media. Thanks MaxP!

Change 2963754 on 2016/05/02 by Billy.Bramer

	- Switch ability system from binding to OnPostWorldCreation to PreLoadMap for its cleanup functions, as OnPostWorldCreation is called repeatedly with sublevels and can cause data loss
	- This is a bit of a stopgap, as where and when this happens should probably be configured per game (example: a long session game like an MMO would want to trigger these on something other than a map transition possibly)

Change 2962922 on 2016/05/02 by Lukasz.Furman

	fixed gameplay debugger in "simulate in editor" mode

Change 2959860 on 2016/04/28 by David.Nikdel

	#OGF #McpProfile
	- Add Profile Write Lock support to client API
	NOTE: Still need to finish backend support so haven't been able to test yet but this is enough for API hookup
	NOTE2: You may see a log message about "write lock unexpectedly released" when you do your first command after locking. This is expected because the backend isn't sending down the write lock timeout yet.
	#CodeReview: Ben.Zeigler

Change 2959810 on 2016/04/28 by Jonathan.Lindquist

	A few more saftey measures to warn the user of incorrect settings and faulty meshes. (In response a licensee's question)

Change 2959336 on 2016/04/28 by Bob.Tellez

	#UE4 Some improvements to asset save time: Added an early-out in PackageBackup to avoid inspecting files in cases where we don't care about the resutls. Also now using GetObjectsWithOuter when passing in a package list to GetObjectsInPackages (which probably should be renamed to GetAssetsInPackage)

Change 2958942 on 2016/04/28 by Jonathan.Lindquist

	Wrote a new portion of pivot painter 2 that unifies edge normals across multiple static meshes

Change 2958644 on 2016/04/27 by Jonathan.Lindquist

	lowering default recursive steps

Change 2956612 on 2016/04/26 by Jonathan.Lindquist

	A few new saftey measures

Change 2956197 on 2016/04/26 by Fred.Kimberley

	Fix a bug where a delegate won't be fired if the base value of an attribute has been changed and the attribute is the new type and doesn't have an aggregator.

	Fix a bug in gameplay effect tag matching where the deprecated tag is being checked but not the current one.

Change 2955386 on 2016/04/25 by Jonathan.Lindquist

	Fixed a ui bug related to the first time path geo generator is run
	Pivot painter 2 has a new feature. It duplicates each model in a hierarchy, combines them and then welds their verts.

Change 2955230 on 2016/04/25 by Billy.Bramer

	- Add a debug gameplay tag to string blueprint function, should only be used for debugging purposes

Change 2954899 on 2016/04/25 by Fred.Kimberley

	Added a new backing data type for gameplay attributes. The new type holds both the current and base values. Currently, this new type can coexist with numeric types for gameplay attributes.

Change 2953511 on 2016/04/22 by Bob.Tellez

	#UE4 Bumping up texture streaming pool allowance for min spec and redistributing mid an high to match. Also reduced mip bias at min spec.

Change 2953496 on 2016/04/22 by Chris.Gagnon

	When the console closes it now properly restores the viewports input state (both focus and capture).

Change 2952930 on 2016/04/22 by Lukasz.Furman

	fixed behavior tree getting stuck on instantly finished gameplay tasks
	#jira FORT-23041

Change 2951765 on 2016/04/21 by John.Abercrombie

	Removed unused code when initializing attribute sets

Change 2951617 on 2016/04/21 by Jonathan.Lindquist

	new elements to the grass shader to include wind influence

	also adding a test model

	and the latest version of canopy creator

Change 2950861 on 2016/04/21 by Jonathan.Lindquist

	Submitting a new material for grass so that it may react to the wind
	New wind test maps
	Functions to support global wind
	a new "fuzzy" mat functions
	Adding wind to the rift portals

Change 2950725 on 2016/04/20 by Bob.Tellez

	Fixups for non NewEC in GetLastSucceededCL

Change 2950695 on 2016/04/20 by Bob.Tellez

	Adding a small helper function to get the last succeeded CL of a given node.

Change 2950616 on 2016/04/20 by Maury.Mountain

	hook up the pivot (+ (0,-1,0)) section of material function that was causing offset motion from pivots

Change 2950207 on 2016/04/20 by Bob.Tellez

	#UE4 NoTimeouts is now respected even in the initial connection timeout. This fixes a bug where a large stall when starting pie causes you to transition to the entry map.

Change 2950162 on 2016/04/20 by Lukasz.Furman

	fixed processing of repath requests, added infinite loop protection
	#jira FORT-23090

Change 2949974 on 2016/04/20 by Lukasz.Furman

	another batch of fixes for hotspot tasks getting out of sync:
	abort move is now ignored if instigated by new task at goal, clearing hotspot data on dying while gameplay tasks are still accessible, ignoring move resume when controller is being destroyed

Change 2949923 on 2016/04/20 by Rob.Cannaday

	FOnlineIdentityMcp:  Cancel ClientAuthRequests and ExternalAuthRequests on shutdown
	#tests PIE start game / shutdown

Change 2949210 on 2016/04/19 by Bob.Tellez

	#UE4 Removing all local players from the game instance when it is shut down. This ensures that local players are properly torn down and events related to the lifespan of the player or controller are fired when exiting the game normally.

	#JIRA FORT-23024

Change 2947381 on 2016/04/18 by Rob.Cannaday

	Change XMPP presence, pubsub, messages, multi user chat, and chat's ref counting to be thread safe
	#jira FORT-22861
	#tests front end partying

Change 2945301 on 2016/04/15 by Michael.Trepka

	Reset SyncStatus in FAvfMediaVideoTrack::SeekToTime to fix issues with video not updating after rewind

Change 2944422 on 2016/04/14 by Michael.Trepka

	Fixed Mono compile errors in UAT

Change 2944375 on 2016/04/14 by Fred.Kimberley

	Changed how we handle missing gameplay tags so we now ensure once per missing tag instead of only ensuring on the first missing gameplay tag.

Change 2944040 on 2016/04/14 by Michael.Trepka

	Fixed a problem with CoreAudio AudioUnitGraph update caused by adding and deleting the same node in a single tick

Change 2943864 on 2016/04/14 by Lukasz.Furman

	fixed initialization order of gameplay debugger replicators on client
	#jira FORT-22885

Change 2943228 on 2016/04/13 by Bob.Tellez

	#UE4 Moved the addition of the IsDataOnly tag out of the if (ParentClass) block. Tags should not be dynamically added like this or else they can not be discovered by the editor which relies on asking the CDO for the tags relevant to an asset type.

Change 2942303 on 2016/04/13 by Daniel.Broder

	Added support to be able to set a CanvasRenderTarget2D NOT to clear to green whenever it's updated (so you can just draw pixels that have changed instead of always having to redraw everything.

	#RB Bob.Tellez

	#UE4

Change 2941919 on 2016/04/13 by Jonathan.Lindquist

	Adding a new maxscript that allows artists to procedurally generate trees.

Change 2941816 on 2016/04/13 by Saul.Abreu

	Demoted errors regarding widget-bound properties when first compling a new created widget blueprint - otherwise an ensure occurs.

Change 2941752 on 2016/04/12 by jonathan.lindquist

	adding a new function to optimize trees and fix a few issues

Change 2941519 on 2016/04/12 by Jonathan.Lindquist

	submitting a new warning regarding file unit types

Change 2940980 on 2016/04/12 by John.Abercrombie

	Turned Graphs off by default in the Visual Logger

Change 2940134 on 2016/04/11 by Billy.Bramer

	- Add support for new overrideable function OnPostDataImport to FTableRowBase; Can be override to perform custom parsing, fix-up, etc. per struct type whenever a data table is imported or reimported
	- Change row struct combo box on the data table importer to be sorted alphabetically

Change 2938828 on 2016/04/08 by David.Hunt

	#FN || Economy Rebuild
	Updating several code references to items and item paths that no longer exist, with Bob's help.

	This fixes FORT-22784 (hopefully for real) and several other build and item errors. It also indicates that the various redirector issues I have been experiencing were likely red herrings - they were C++ defaults that were showing up on items that had nothing set, as opposed to redirects that failed.

	#CodeReview Bob.Tellez, Ben.Zeigler, William.Ewen, Carlos.Cuello

Change 2938675 on 2016/04/08 by Lukasz.Furman

	fixed gameplay debugger displaying paths of killed pawns
	#fortnite

Change 2938426 on 2016/04/08 by Rob.Cannaday

	Implement new command line party invitation format into Fortnite
	#jira FORT-22685
	#tests launch with command line party invite
	Integrate CLs 2908339 and 2917498 from Orion

Change 2938367 on 2016/04/08 by Billy.Bramer

	- Mark the reimport data table factory with UNREALED_API for external use
	- Change CSVImportFactory to respect the class of existing data being reimported upon

Change 2937319 on 2016/04/07 by Lukasz.Furman

	improved gameplay task info in gameplay debugger tool

Change 2937178 on 2016/04/07 by Lukasz.Furman

	fixed aborting undermine tasks when player becomes reachable
	#jira FORT-22240, FORT-22077

Change 2937166 on 2016/04/07 by Saul.Abreu

	Fixed redundant typename in TPair that was causing clang compilation errors.

Change 2937093 on 2016/04/07 by Saul.Abreu

	#fortnite
	Made ElementSetType protected again in the Map family.

Change 2937044 on 2016/04/07 by Saul.Abreu

	Tweaked Set/Map family of data structures to expose the typedefs for their key, value, and pair types.

Change 2936940 on 2016/04/07 by Bob.Tellez

	#UE4 Fixed a bug that prevented the log summary from being printed after a blueprint compile.

Change 2936696 on 2016/04/07 by Bob.Tellez

	#UE4 Blueprint names are once again part of Blueprint compile log messages.

Change 2936572 on 2016/04/07 by Lukasz.Furman

	added more debug logs for tracking rare NaN error in player movement
	#jira FORT-19426

Change 2934892 on 2016/04/06 by Lukasz.Furman

	fixed updating hotspot information after all tasks instigated by it are finished
	#jira FORT-22515

Change 2933664 on 2016/04/05 by Michael.Trepka

	Fixed a rare crash in USoundNodeLooping::NotifyWaveInstanceFinished

Change 2933554 on 2016/04/05 by Lukasz.Furman

	fixed taker's portal move (priorities of gameplay tasks spawned by path following)
	#jira FORT-22482

Change 2933343 on 2016/04/05 by John.Abercrombie

	Changed FGameplayAbilityActorInfo's AnimInstance property to a SkeletalMeshComponent in case AnimInstances are ever changed on a SkeletalMeshComponent
	- AnimInstance can be used through an accessor

Change 2933300 on 2016/04/05 by Lukasz.Furman

	fixed number of spawned AI in FTests using PreSpawnDelay
	#fortnite

Change 2933171 on 2016/04/05 by Lukasz.Furman

	added PreSpawnDelay param to function test spawn sets
	#fortnite

Change 2931072 on 2016/04/01 by Lukasz.Furman

	changed pawn actions to gameplay tasks
	#jira FORT-21314

Change 2930987 on 2016/04/01 by Billy.Bramer

	- Add method to data table to get all rows as a type
	- Add metadata tag for data table rows to report columns as DataTableImportOptional, at which point they will not be warned against if missing during import (this allows games to do custom post-import fix-up or synthesis of data w/o expecting it to be imported)
	- Use new method for getting all tags to fix FORT-20563 "Gameplay tag table import checks by numerical row name for no reason"

Change 2929651 on 2016/03/31 by Nick.Cooper

	#Fortnite - Fixed Actor AttachmentReplication not being cleared on detachment, which would cause issues with the actor's location for clients joining in progress

	#jira FORT-21330
	#RB ben.zeigler

Change 2929360 on 2016/03/31 by Daniel.Broder

	Fixed bug where CanvasRenderTarget2D assets would crash on load in editor due to trying to update the asset during post-load.

	Thanks to Bob for what I needed to check to early-out and avoid the crash.

	#RB Bob.Tellez

	#UE4

Change 2928845 on 2016/03/31 by Nicholas.Davies

	Add fix for chat text not clearing
	#jira FORT-22049 Textbox does not clear when text is sent through chat

Change 2928574 on 2016/03/30 by Ben.Zeigler

	Fix issue with redirectors not working properly for blueprint function libraries. When a blueprint got regenerated it patched the old export, but failed to clear the "load failed" flag, so it would fail to find it when later pointed to by a redirect

Change 2928572 on 2016/03/30 by Ben.Zeigler

	#Jira FORT-20763
	Fix issue with "Server re-loading object" warning going off for deleted actors. It now only logs, and only for things that are going to successfully load

Change 2928436 on 2016/03/30 by Bob.Tellez

	#UE4 Added Canvas Render Target factory and asset type actions so you can create them in the content browser and search for them after they are created.

Change 2928372 on 2016/03/30 by Bob.Tellez

	#UE4 Added verbose message about animation assets that need to be resaved due to resetting the skeleton.

Change 2926805 on 2016/03/29 by Bob.Tellez

	#UE4 Made SetOverallScalabilityLevel virtual so game-specific features can be updated based on a single-value level.

Change 2926752 on 2016/03/29 by Bob.Tellez

	#UE4 Using DesiredScreenHeight is now optional. Often games use ResolutionQuality as purely a way to run better on slower machines so it should be controlled entirely by scalability.

Change 2926189 on 2016/03/29 by Rob.Cannaday

	Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
	#jira FORT-18947
	#jira OR-17695
	#tests golden path

Change 2924921 on 2016/03/28 by Lukasz.Furman

	removed log message showing as navmesh generation error when it skips over degenerated poly
	#fortnite

Change 2924843 on 2016/03/28 by Lukasz.Furman

	added more debug logs for navmesh's failed triangulate()
	#jira FORT-22186

Change 2924719 on 2016/03/28 by Lukasz.Furman

	fixed offmesh link connection issue causing path portal edges to have duplicated data and breaking hotspot detection traces
	#jira FORT-22132

Change 2921698 on 2016/03/24 by Lukasz.Furman

	fixed EQS instancing queries by debug name instead of using unique one, fixed debug name on asset duplication
	#fortnite

Change 2920395 on 2016/03/23 by Bob.Tellez

	#UE4 Added a call to FBaseServiceMcp::Shutdown() in FOnlineServiceAvailabilityMcp::Shutdown. The parent class doesnt do anything today, but this may fix a bug in the future.

Change 2920343 on 2016/03/23 by Ben.Zeigler

	In ConvertScalarUPropertyToJsonValue, move the execution of the custom callback up above the specific property types. This is needed to allow us to override the TextProperty export, and allows overriding in general. It can have a performance implication if the custom callback is very slow
	#RB josh.markiewicz

Change 2920310 on 2016/03/23 by Bob.Tellez

	#UE4 FOnlineServiceAvailabilityMcp::Init was not invoking the Superclass' Init

Change 2920254 on 2016/03/23 by Aaron.McLeran

	FORT-22090 Re-disabling reverb.

	Will add an ini-based disabling ability but this CL quickly re-disables to resolve volume issue on FN and (hopefully) bypass crash mentioned in FORT-22037

Change 2920249 on 2016/03/23 by Rob.Cannaday

	Fix for crash in FOnlinePartySystemMcp::InternalCleanUpPartyMember
	Don't trigger "member left" type events if we are leaving the party
	#jira FORT-20422
	#jira FORT-21726

Change 2920178 on 2016/03/23 by Bob.Tellez

	#UE4 Calling the platform-specific implementation of StackWalkAndDump when invoking StackWalkAndDumpEx. This fixes a bug in Windows where the first ensure does not produce a callstack.

Change 2919858 on 2016/03/23 by Bob.Tellez

	#UE4 Fix for ensure about accessing a CVar in UParticleModuleLight on a non-game thread using GetValueOnGameThread. I changed this to GetValueOnAnyThread.

Change 2919775 on 2016/03/23 by Bob.Tellez

	#UE4 Restoring enforced uniqueness in FUObjectAnnotationSparseSearchable and put all manipulations of InverseAnnotationMap in critical sections. This will make RemoveAnnotation fast again.

Change 2919233 on 2016/03/22 by Bob.Tellez

	#UE4 Removing a warning that is pretty chatty in our cooked logs.

Change 2919125 on 2016/03/22 by Bob.Tellez

	#UE4 Added ParticleLightQuality scalability setting since lower-end machines have trouble with particle lights. They are disabled on low and medium spec machines. HQ lights are only allowed on high-end machines.

Change 2918831 on 2016/03/22 by Bob.Tellez

	#UE4 Fixed a bug where WinInet response headers were not properly being trimmed.

	#JIRA FORT-22054

Change 2917722 on 2016/03/21 by Ben.Zeigler

	Remove FortniteServer module and move those classes to FortniteGame. The engine doesn't support classes that only exist on servers but not clients, so this fixes a lot of error spam bugs, and should improve compile times
	Resave assets that directly referenced FortniteServer

Change 2917588 on 2016/03/21 by Bob.Tellez

	#UE4 Fixed shadow variable that I introduced

Change 2914169 on 2016/03/17 by Ben.Zeigler

	Disable extra logging that was added to track down Auth issues, they look to be resolved

Change 2912626 on 2016/03/16 by Bob.Tellez

	#UE4 Success messages should not be warnings.

Change 2911171 on 2016/03/15 by Bob.Tellez

	#UE4 Minor fix to correctly display GetBulkDataSize in the warning in FUntypedBulkData::WaitForAsyncLoading

Change 2911170 on 2016/03/15 by Billy.Bramer

	#jira [FORT-6139]
	Trap models persist after destroying supporting structure in Outpost
	- Root issue was caused by error within network dormancy and queued bunches: If a dormant actor's open bunch ended up queued and a close bunch came in before the bunch was processed, the actor would never be properly destroyed client side as a result of not re-establishing the channel's actor pointer
	- Fix issue by changing close bunches to not be fully processed until their appropriate place in the queue. While this could cause superfluous execution (i.e. actor recreated just to be immediately destroyed), it should respect gameplay programming intent in regards to RPCs

Change 2911009 on 2016/03/15 by Bob.Tellez

	#UE4 Fixed a bug in UHierarchicalInstancedStaticMeshComponent where RemoveInstances would not rebuild the ClusterTree, causing SortedInstances to contain incorect indices in GetInstancesOverlappingBox. This is the behavior of the singular RemoveInstance so this is what should also be done in the plural RemoveInstances.

	#JIRA FORT-21605

Change 2910295 on 2016/03/15 by Bob.Tellez

	#UE4 World thumbnails no longer cull primitives. This is because the camera is very far away and if terrain pieces are culled, the level is not visible.

Change 2909324 on 2016/03/14 by Bob.Tellez

	#UE4 Since empty headers values cause GenerateHeaderBuffer to emit ERROR_HTTP_HEADER_NOT_FOUND, they are now omitted from the header buffer in WinInet.

Change 2905920 on 2016/03/11 by Lukasz.Furman

	fixed crowd simulation getting stuck with invalid velocity (moonwalking husks)
	#fortnite

Change 2905612 on 2016/03/11 by Bob.Tellez

	#UE4 Made the minimum quadtree size configurable in ProceduralFoliageSpawner. You need to reduce the minimum size a little if you are spawning very many small foliage meshes.

[CL 3027184 by Bob Tellez in Main branch]
2016-06-24 16:58:12 -04:00
Andrew Grant
a0ef617fd2 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2949393)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2949393 on 2016/04/20 by Graeme.Thornton

	Orion non-pak file security.
	 - Removed security bypass code from platform pak file
	 - Added a delegate to pak file code which allows the game to decide whether a file should be allowed or not
	 - Added an orion delegate which whitelists appropriate files

	#rb robert.manuszewski
	#tests win64 client + dedicated server. golden path.

Change 2949232 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: michael.noland
	Paragon: Added a distinct menu frame rate limit, currently set to 60 fps and not visible in settings (if the user sets a game frame rate limit of below 60, we also clamp the menu limit to that threshold, so they can go down but not up for menus)
	#jira OR-18017
	#rb marcus.wassmer
	#tests Ran paragon and switched between gameplay, menus, and replays, observing t.MaxFPS at different points

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

Change 2949032 on 2016/04/19 by Zak.Middleton

	#orion - Lower default NetUpdateFrequency for minions (10->6). Avoid excessive latency for some knockback/knockup abilities that would have noticeable lag by forcing an update sooner when they are triggered.

	This should have the following effects:
	1. Reduce server CPU cost (we tick minions at the net frequency).
	2. Reduce server bandwidth
	3. Reduce client CPU cost (we move character capsules and perform overlaps when new positions are received).

	#rb Bart.Bressler, John.Pollard
	#codereview Dmitry.Rekman
	#tests MultiPIE AI lane, Replays

Change 2948966 on 2016/04/19 by Lina.Halper

	Added log (check) of the asset info for Anim Per Track contains invalid format key

	#rb: Michael.Noland
	#code review: Martin.Wilson, Laurent.Delayen, Michael.Noland
	#tests: editor/ cooked and test with AI_Tests with 10 bots.

Change 2948876 on 2016/04/19 by Michael.Noland

	PS4: Validate that the texture pool size is not set to automatic (-1, which will crash later on as an attempt to allocate too much memory)
	#rb none
	#codereview marcus.wassmer
	#tests Ran Paragon on PS4

Change 2948765 on 2016/04/19 by Daniel.Lamb

	Removed AssetImportData tag from cooked asset registry builds.
	#rb Andrew.Grant
	#test Cook orion

Change 2948691 on 2016/04/19 by Marcus.Wassmer

	Fix copytoresolvetarget ensure
	#rb none
	#test pc agora

Change 2948633 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	[AUTOMERGE]

	Fix copytoresolve crash and change validation to ensure.
	#test PC editor / PC golden path
	#rb none

	--------
	Integrated using branch //Orion/Main_to_//Orion/Release-Next (reversed) of change#2948169 by Marcus.Wassmer on 2016/04/19 10:50:32.

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

Change 2948507 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: andrew.grant
	Merging 2937781 (Pak signing) using //Orion/Dev-General_to_Release
	#rb none
	#tests cooked client, checked game runs

	#ROBOMERGE-SOURCE: CL 2948497 in //Orion/Release-0.24.1/... via CL 2948506
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2948431 on 2016/04/19 by Steve.Robb

	CL#s 2919775 and 2942793 integrated to prevent annotation map performance problems on shutdown and asserts in PIE.

	#codereview robert.manuszewski,bob.tellez
	#rb bob.tellez
	#tests Ran editor

Change 2948408 on 2016/04/19 by Leslie.Nivison

	Adding .tps
	#rb none
	#test none

Change 2948185 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: chris.bunner
	Fix for HLOD visibility freeze.
	#tests Golden Path, Editor
	#rb rolando.caloca, michael.noland
	#lockdown andrew.grant
	#jira OR-19863

	#ROBOMERGE-SOURCE: CL 2948182 in //Orion/Release-0.24.1/... via CL 2948183
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2948149 on 2016/04/19 by Simon.Tovey

	Fixed crash. Collision rendering path was not dealing with mesh batch with 0 triangles where other paths do.

	#rb none
	#tests No more crash
	#codereview Marcus.Wassmer

Change 2948129 on 2016/04/19 by Lukasz.Furman

	fixed gameplay debugger getting stuck with outdated data pack on client,
	changed names of AI related debug cvars
	#rb none
	#tests game, PIE
	#codereview Mieszko.Zielinski

Change 2948027 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: graeme.thornton
	Fix for OR-20033 - CRASH:  Client will crash with FRCPassPostProcessCircleDOFSetup

	#rb none
	#tests checked game runs without crashing

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

Change 2947558 on 2016/04/18 by Matt.Kuhlenschmidt

	Fix compile error

	#rb none, #tests none

Change 2947509 on 2016/04/18 by Matt.Kuhlenschmidt

	Added more logging to track down

	https://jira.ol.epicgames.net/browse/OR-19841

	#rb none, #tests none

Change 2947412 on 2016/04/18 by Ryan.Gerleve

	Fix shadowed variable.

	#rb none
	#tests none

Change 2947377 on 2016/04/18 by Jamie.Dale

	Gather paths are now sorted by fuzzy-ness, so that more specific includes beat less specific excludes

	#rb Matt.Kuhlenschmidt
	#tests Built for Windows. Ran a gather, and confirmed that explicitly included heroes were now gathered, and that generically excluded heroes were absent from the gather.

Change 2947351 on 2016/04/18 by Ryan.Gerleve

	Allow overriding the demo.AsyncLoadWorld setting with a URL option when playing a replay.
	Store the entire URL in the demo net driver instead of just the map name, so that the options can be accessed later.

	#tests golden path, replays
	#rb john.pollard

Change 2947103 on 2016/04/18 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 24.1 @ CL 2947071

	#RB:none
	#Tests:none

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

Change 2947007 on 2016/04/18 by Zak.Middleton

	#ue4 - Improve linear smoothing in the presence of low net frequency updates.

	#rb Bart.Bressler
	#tests MultiPIE AI with lanes

Change 2946994 on 2016/04/18 by Mieszko.Zielinski

	Improvements to NavigationSystem's "abstract navigation data" support #UE4

	#rb Lukasz.Furman
	#test golden path

Change 2946760 on 2016/04/18 by Chris.Bunner

	Fixing up bad merge, recommit of CL 2819472 - ForceLOD now clamps to available LODs on primitive, i.e. use MinLOD rather than not drawing at all.
	#tests Editor
	#rb None

Change 2946745 on 2016/04/18 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 24.1 @ CL 2946637

	#RB:none
	#Tests:none

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

Change 2946645 on 2016/04/18 by Richard.Fawcett

	When promoting a buidl to staged, prevent enumeration of files already in S3

	Enumerating files in S3 is a slow process, and it turns out that simply uploading all chunks blindly is more efficient than enumerating existing chunks and selectively uploading only the new ones.

	#rb Leigh.Swift
	#tests This technique has already been used in launcher promotions for several months

Change 2946622 on 2016/04/18 by Richard.Fawcett

	By default, when enumerating chunks from a manifest file, skip checking they exist on disk at enumeration time.

	This will fail anyway further down the line if the files don't exist, but will improve speed of stage promotions by around five minutes. In practice, we have NEVER seen a job fail at this point because of the existence check.

	#rb Leigh.Swift
	#tests Ensure that output of ExtractDataFilenamesFromManifest method is identical both with and without bSkipExistsCheck specified.

Change 2945812 on 2016/04/15 by Daniel.Lamb

	Fixed error in diff cooked build commandlet.
	#rb ben.marsh
	#test Compile.

Change 2945110 on 2016/04/15 by Matt.Kuhlenschmidt

	Fix crash exporting actors with non-scene components to fbx

	#rb none, #tests full scene exporting on maps that crashed
	#codereview alexis.matte

Change 2945078 on 2016/04/15 by Simon.Tovey

	Fix for OR-19778

	When some pooled systems are reused, on init they have a non zero lod level but the emitter instances are created at LOD 0 initially.
	So the component did not think it had to update it's LOD but the emitters were not at the correct LOD.
	Have forced a LOD set on init when the component LOD is non-zero.

	#rb none
	#tests Works in editor and game.

	#codereview Olaf.Piesche

Change 2944664 on 2016/04/14 by Uriel.Doyon

	Fix to SM4 compilation issue
	#jira OR-19706
	#rb marcus.wassmer
	#tests tested editor in SM4 and SM5

Change 2944642 on 2016/04/14 by Lukasz.Furman

	changed waypoint switch conditions in meta nav paths
	#rb none
	#tests PIE
	#codereview Mieszko.Zielinski

Change 2944599 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: andrew.grant
	Added sha1 to UnrealPak list output
	#rb none
	#tests listed content of pakfile

	#ROBOMERGE-SOURCE: CL 2944595 in //Orion/Release-0.24/... via CL 2944597 via CL 2944598
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2944441 on 2016/04/14 by Marcus.Wassmer

	Duplicate change to output shader compiler errors.
	#rb none
	#test run PC and see errors.

Change 2944437 on 2016/04/14 by John.Pollard

	Possible fix for https://jira.ol.epicgames.net/browse/OR-19614

	#rb JoshM
	#codereview Josh.Markiewicz
	#tests Golden path matchmaking

Change 2944430 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: michael.noland
	Engine: Added support for more/fewer settings in individual categories to the editor scalability control widget
	#rb david.ratti
	#tests Tested in the editor

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

Change 2944198 on 2016/04/14 by David.Ratti

	Paragon - register for slow/stun/root/silence callbacks on any tag count  change, not just add/remove. This is so the UI will update if you get another stack of a stackable slow GE.

	Ability system - unify client stack count change code path with server. Client now properly update owner ASC's tag map and broadcasts all delegates there.

	#rb dayY
	#tests pie

Change 2944124 on 2016/04/14 by Wes.Hunt

	Change the TPS redirects for DX modules to point to the proper DX redist TPS which is what packaged games will need.
	#codereview:leslie.nivison
	#rb none
	#tests ran UAT ListThirdPartySoftware <for Orion>

Change 2944107 on 2016/04/14 by Wes.Hunt

	MeshUtilities now depends on new module nvTessLib to better track the third party dependency.
	#codereview:daniel.wright
	#rb none
	#tests build OrionClient/Editor for Win64

Change 2944102 on 2016/04/14 by Wes.Hunt

	Tweak to UBT -ListBuildFolders to do a distinct in a better place to cut down on duplicate module searches.
	#tests ran the UBT command
	#rb none

Change 2943851 on 2016/04/14 by Ryan.Gerleve

	Fix the ForEachNetDriver helper function to get the world context directly off the world instead of going through the game instance. Ensures the correct net drivers will be used when there are multiple worlds but only one game instance.

	#rb john.pollard
	#tests golden path, replays, PIE

Change 2943847 on 2016/04/14 by Ryan.Gerleve

	Fixes to support client replay recording & playback in another world:
	When recording a replay, only swap actor roles if the remote role is ROLE_Authority
	When loading a replay checkpoint, call NetworkRemapPath to make sure paths have the correct name in the GuidCache

	#rb john.pollard
	#tests golden path, replays, PIE

Change 2943691 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_24 - Fix for OR-19609, OR-19610, and OR-19611

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2943687 in //Orion/Release-0.24/... via CL 2943688
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2943508 on 2016/04/14 by Richard.Fawcett

	Automation: Add support for multipart file uploads to Amazon S3 to increase speed of large file uploads.

	#jira OPPBUILD-44
	#rb Leigh.Swift
	#tests Uploaded files to S3 using the new routines, downlaoded via AWS management console and ensured downloaded files identical to uploaded ones

Change 2943274 on 2016/04/13 by jason.bestimt

	#ORION_MAIN - Merge 24 @ CL 2943257

	#RB:none
	#Tests:none

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

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	#CodeReview: david.nikdel, jason.bestimt

Change 2943178 on 2016/04/13 by Olaf.Piesche

	Bumping size of the particle curve texture to 512x512

	#rb martin.mittring

	#tests PC Editor, Game

Change 2943174 on 2016/04/13 by Aaron.McLeran

	OR-19392 Ensure condition failed: (*RequiresInitialization == 0) on loading into PVP match

	- Removing ensure since there is a rare edge case where it's possible for a sound looping node may get ResetChildren called twice.
	- Condition is when a child random node o fa looping node has a blank entry and results in no sound chosen in a given frame (which results in ResetChildren getting called). Later in the frame, if a sound had previously been playing with an active sound, it will have stop called on it, which will call NotifyWaveInstanceFinished and hit the ensure. Simply using the branch to check if the looping node has been initialized will work fine in this and other cases.

	#codereview Bob.Tellez
	#rb Bob.Tellez
	#tests ran orion with this change testing problematic sound cue

Change 2943042 on 2016/04/13 by Rob.Cannaday

	Fix crash in HTTP completion delegates on shutdown
	Stop ticking HTTP retry manager after FOnlineSubsystemImpl::Shutdown has been called
	#rb josh.markiewicz
	#tests shutting down multiple times

Change 2942913 on 2016/04/13 by Lukasz.Furman

	added meta navmesh paths
	#orion
	#rb Mieszko.Zielinski
	#tests PIE

Change 2942132 on 2016/04/13 by Wes.Hunt

	Enable UBT -ListBuildFolders to operate on Mac and iOS platforms without having to fully set up the remote environment.
	#codereview:leslie.nivison
	#rb peter.sauerbrei
	#tests running UBT with and without -listbuildfolders

Change 2941651 on 2016/04/12 by Jason.Bestimt

	#ORION_DG - Merge MAIN @ CL 2941645

	#RB:none
	#Tests:none

Change 2941539 on 2016/04/12 by Laurent.Delayen

	FABRIK: Normalize outgoing rotations.
	Fixes Chains Q ability crashing.

	#rb none
	#tests Chains not crashing

Change 2941469 on 2016/04/12 by Wes.Hunt

	Fix UBT -ListBuildFolders to not prep target for deployment.
	#codereview:leslie.nivison
	#rb none
	#tests tested -ListBuildFolders for Android

Change 2941434 on 2016/04/12 by Leslie.Nivison

	Adding/cleaning up .tps files
	#rb none
	#test none

Change 2941241 on 2016/04/12 by Daniel.Lamb

	Removed shadername from the shader code to fix deterministic material cooking issue.
	#jira UE-29320
	#codereview Marcus.Wassmer
	#rb Marcus.Wassmer
	#test Running editor, cooking orion.

Change 2941046 on 2016/04/12 by Laurent.Delayen

	Added safety net for non state AnimNotifies having a non-zero EndTriggerTimeOffset.
	Fixes Twinblast double shot for the left primary attack.

	#rb benn.gallagher
	#codereview lina.halper, ray.arnett, aaron.eady
	#tests twinblast's LMB

Change 2941032 on 2016/04/12 by Jason.Bestimt

	#ORION_24 - Merge MAIN @ CL 2940950

	#RB:none
	#Tests:none

[CL 2952833 by Andrew Grant in Main branch]
2016-04-22 11:21:10 -04:00
Gareth Martin
daef2a0d7a Copying //UE4/Dev-Landscape to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden

[CL 2939548 by Gareth Martin in Main branch]
2016-04-11 11:17:04 -04:00
Bob Tellez
4b28d78a10 Copying up to CL#2909284 //UE4/Fortnite-Staging to //UE4/Main
This is CL#2904759 from //Fortnite/Main

#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2904398 on 2016/03/10 by Bob.Tellez

	#UE4 OnlineBeaconClients are now destroyed when net cleanup happens instead of normal destruction time so the behave more like PlayerControllers. Also added some low level protection from closing already closed beacons.

	#rb Josh.Markiewicz
	#codreview Josh.Markiewicz
	#JIRA FORT-20703

Change 2904339 on 2016/03/10 by Daniel.Broder

	Added support for allowing an actor to determine whether it is selectable or not (rather than relying purely on editor modes).

	One example use-case is a Transient actor created by WorldSettings for Fortnite which can otherwise be selected, edited, and even copied and pasted to a non-Transient form (which can be done accidentally and cause bugs).

	Change made after discussion with Bob.

	#CodeReview Bob.Tellez

	#UE4

Change 2903020 on 2016/03/10 by John.Abercrombie

	Added blueprint function to set named params for use when running an EQS query from BP
	- Phil is going to test this out for me.

	#rb me (Mieszko wrote this)
	#codereview Phil.Cole, Mieszko.Zielinski

Change 2902440 on 2016/03/09 by Ben.Zeigler

	#Jira FORT-20149
	Fix package map issue where if the client package map received a reference to a package that was already in the async loading queue due to an unrelated async load call, it would not register it correctly, which would lead to error messages and actors potentially not being initialized.
	#codereview john.pollard
	#RB bob.tellez

Change 2900138 on 2016/03/08 by Bob.Tellez

	#UE4 Updated the following Parameter value functions to respect the bOverride flag

	GetStaticSwitchParameterValue
	GetStaticComponentMaskParameterValue
	GetTerrainLayerWeightParameterValue

	#rb Nick.Penwarden

Change 2899839 on 2016/03/08 by Lukasz.Furman

	fixed navmesh projection on actors with overlap response to world channels
	#rb Mieszko.Zielinski
	#codereview Zak.Middleton

Change 2899743 on 2016/03/08 by Lukasz.Furman

	fixed handling multiple blocking hits in navwalking's geometry conforming
	blocking response was used in previous implementation accepting first hit, scoring mutliple points requires getting them all with overlap response
	#fortnite FORT-21546
	#rb Mieszko.Zielinski
	#codereview Zak.Middleton

Change 2898194 on 2016/03/07 by Chris.Gagnon

	Added the ability to filter DataTable Assets by their row using the metadata.
	meta = (RowType=MyRowName)

	#RB Saad.Nader
	#codereview Saad.Nader, Jamie.Dale

Change 2895102 on 2016/03/04 by Ben.Zeigler

	#JIRA FORT-20290
	Fix issue where if a server received a 408 on a verify auth call, it would get stuck in the "in progress" state, and would never try to verify auth again until the auth timed out
	Add additional logging to auth queries, to track this and other issues. The new log lines are permanent, but StartExtraLogging should be disabled before merging back to main
	#codereview josh.markiewicz

Change 2891302 on 2016/03/02 by Bob.Tellez

	#UE4 The spawned NavGraph actors in CreateNavigationDataInstance were getting immediately marked pending kill due to the existance of the FortNavGraph actors placed in the NavMeshBounds map. Marking an actor pending kill instead of calling destroy actor is dangerous since DestroyActor does many other things including removing the actor from the networked actors list. Failure to remove from this list caused FORT-21458. This change both removes the existing FortNavGraph actors from the registered list and better handles cleaning up NavigationData removed for this reason.

	#rb Ben.Zeigler
	#codereview Lukasz.Furman

Change 2887908 on 2016/03/01 by Chris.Gagnon

	Added Event Track to UMG Sequencer.
	Added PlayTo functionality for targeting the end point of a played animation.

	#RB Frank.Fella
	#codereview Frank.Fella, Nick.Darnell

Change 2887686 on 2016/03/01 by Joel.Crabbe

	Fixed issue with replication comparison object not necessarily being the correct, blueprint-defined, defaults-edited version. Changed GetClass()->GetDefaultObject to GetArchetype() for comparison value.

	#codereview Ben.Zeigler

Change 2886847 on 2016/02/29 by Bob.Tellez

	#UE4 Fixed a bug where pasting multiple lines of text into the property matrix would leave the \\r character in the string in windows platforms.

	#codereview Richard.TalbotWatkin

Change 2886414 on 2016/02/29 by Lukasz.Furman

	fixed start point of composite path's update
	#fortnite FORT-21380
	#rb Mieszko.Zielinski

Change 2886250 on 2016/02/29 by Bob.Tellez

	#UE4 Adding !IsInSlateThread to assert in SuspendLoading/ResumeLoading. I suspect this may be the cause of a race condition involving flushing async loading during startup.

	#codereview Robert.Manuszewski

Change 2885942 on 2016/02/29 by Bob.Tellez

	#UE4 Disabling per-instance mesh painting on instanced static mesh components.

	#rb Jack.Porter

[CL 2909292 by Bob Tellez in Main branch]
2016-03-14 21:21:09 -04:00
Gil Gribb
223aefa047 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden

[CL 2868391 by Gil Gribb in Main branch]
2016-02-16 05:48:48 -05:00
Bob Tellez
b51555abf7 Copying //UE4/Fortnite-Staging to //UE4/Main
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2806454 on 2015/12/16 by Bob.Tellez

	#UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive.

	#rb Ben.Zeigler

	#codereview Dmitry.Rekman

Change 2805502 on 2015/12/16 by Ben.Zeigler

	#UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time.
	As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569
	#codereview mike.beach, bob.tellez

Change 2805288 on 2015/12/16 by David.Nikdel

	#HTTP #HttpRetry
	- Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors.
	- Changed HTTP retry logic a little bit
	  * If a response was received, retry on service-specific explicit HTTP codes (defaults to empty)
	  * If a response was not received and we did not send a full request, automatically retry
	  * If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent)
	- Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible
	  * Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization)
	  * Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case.
	- Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally.
	  * Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis
	#RB: Sam.Zamani
	#CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro
	#Fixes: FORT-17804

Change 2803864 on 2015/12/15 by Bob.Tellez

	#UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server.

	#rb Dmitry.Rekman

	#codereview Nick.Darnell

Change 2803677 on 2015/12/15 by Billy.Bramer

	- Expose equality and inequality operators for gameplay attributes

	#rb Todd.Eckert

Change 2802881 on 2015/12/14 by Bob.Tellez

	#UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting.

	#rb Phillip.Kavan, Maciej.Mroz

	#codereview Phillip.Kavan, Maciej.Mroz

Change 2801636 on 2015/12/14 by Bob.Tellez

	#UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages.

	#codereview Graeme.Thornton

Change 2800400 on 2015/12/11 by Jonathan.Lindquist

	Submitting a new Pivot Painter Edition
	- now renders to textures
	- improved workflow
	- greater capabilities

Change 2799579 on 2015/12/11 by John.Abercrombie

	[AUTOMERGE]

	Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4

	Fixes FORT-18649 - Patrols don't spawn consistently
	- The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire

	#rb me (this code was written by MieszkoZ)
	(removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile)

	--------
	Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11.

Change 2799018 on 2015/12/10 by Bob.Tellez

	#UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag.

	#rb Fred.Kimberley

	#codereview Peter.Knepley

Change 2798926 on 2015/12/10 by Bob.Tellez

	#UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture.

	#jira FORT-18514

	#codereview Martin.Mittring

Change 2797758 on 2015/12/10 by Mark.Satterthwaite

	Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal.

Change 2781204 on 2015/11/25 by Dmitry.Rekman

	Linux: use jemalloc by default if available.

	- Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM.

	#rb Bob.Tellez
	#codereview Bob.Tellez, Ben.Zeigler

Change 2779398 on 2015/11/24 by Mark.Satterthwaite

	Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
2016-01-08 19:10:43 -05:00
Andrew Grant
c0452957a1 Merging latest engine code from Orion via //depot/UE4-To-//UE4/Main
[CL 2744667 by Andrew Grant in Main branch]
2015-10-28 08:58:16 -04:00
Martin Mittring
9cbca074a8 Merging
fixed r.MSAA.CompositingSampleCount warning on startup

[CL 2708246 by Martin Mittring in Main branch]
2015-09-28 15:33:47 -04:00
Bob Tellez
3ada927e44 [AUTOMERGE]
#UE4 Disabled DistanceFieldAO on High settings. It currently scales poorly with resolution and can be re-enabled once optimizations have been added to make it faster at high resolutions.

#codereview Daniel.Wright

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2703080 by Bob.Tellez on 2015/09/23 15:17:20.

[CL 2703084 by Bob Tellez in Main branch]
2015-09-23 15:17:58 -04:00
Bob Tellez
5a367f42ac [AUTOMERGE]
#UE4 Added weights to CPU/GPU perf index calculations. This will help distiguish between hardware that is faster/slower in ways that have a bigger impact on final framerate. A weight of 1 on a test is considered normal, <1 is considered less important and >1 is more important. I adjusted weights on existing tests according to current target PC hardware. Additionally I lowered the default "min spec" threshold to compensate for similarly performing low-end machines that are now better distiguished.

#rb Martin.Mittring

#platformnotify Josh.Adams

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2689035 by Bob.Tellez on 2015/09/11 17:59:01.

[CL 2692144 by Bob Tellez in Main branch]
2015-09-15 14:33:12 -04:00
Martin Mittring
1c98f07499 integrated from Orion
CL 2677907
optimized SSAO and exposed more low quality levels

also incldues som minor refarcot in Orion, will integrate into main

[CL 2678931 by Martin Mittring in Main branch]
2015-09-03 13:11:59 -04:00
Josh Markiewicz
81f3c8bfb9 #Integration FN->Main from CL#2642868
Engine Non Content/Source dirs

[CL 2645406 by Josh Markiewicz in Main branch]
2015-08-05 15:56:05 -04:00
Bob Tellez
1c752965c9 [AUTOMERGE]
#UE4 Made CPU/GPU perf index arrays configurable in Scalability.ini

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2622731 by Bob.Tellez on 2015/07/15 20:25:18.

[CL 2627566 by Bob Tellez in Main branch]
2015-07-21 12:08:11 -04:00
Guillaume Abadie
d11ab92b05 Replaces r.AmbientOcclusionSampleSetQuality by r.AmbientOcclusionMaxQuality exposing a lower quality level.
#code_review: Martin.Mittring

[CL 2622264 by Guillaume Abadie in Main branch]
2015-07-15 15:34:42 -04:00
Martin Mittring
ac43df7144 hooked up new bloom/gaussianblur setting to BaseScalability.ini
[CL 2583190 by Martin Mittring in Main branch]
2015-06-10 15:32:45 -04:00
Guillaume Abadie
55c1e35e33 UE-13256: Fixes SSAO flicker on small radius by building HZB only by downsampling per 2.
#code_review: Brian.Karis
#code_review: Martin.Mittring

[CL 2549592 by Guillaume Abadie in Main branch]
2015-05-13 16:37:56 -04:00
Daniel Wright
b99d773644 Distance Field AO is now evaluated on a screen grid and using a global distance field for far traces
* Screen grid resolution is 1/8th of primary resolution, but with 4x temporal supersampling through jittering subsample positions.  A longer history filter is required to hide the jittering which can increase ghosting.
* The main benefit of doing cone tracing on a screen grid instead of the previous surface cache is that it's performance is generally constant regardless of camera movement or noisy geometry (foliage)
* A global distance field is now used for cone traces after a certain distance, DFAO is 2-4x faster as a result.
* The global distance field is composed of 4 128^3 clipmaps that follow the camera around
* Clipmaps are scrolled so that only new or dirty regions are updated due to camera or object movement, with close to 0 average GPU cost.  Worst case update cost (camera teleport) is 5ms on 7870.
* The global distance field currently breaks Distance Field GI
* Overall with these changes DFAO in a Fortnite level is 3.4ms on a 7870 (3.8ms on PS4), and 4.0ms in the Kite demo on 7870.

[CL 2546300 by Daniel Wright in Main branch]
2015-05-11 20:04:15 -04:00
Stephan Delmer
6f7661f391 Merging using UE4-Fortnite-To-UE4 from CL 2403093
[CL 2407402 by Stephan Delmer in Main branch]
2015-01-15 11:57:16 -05:00