Commit Graph

7 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
Gil Gribb
80f6fa5fa7 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693)
#lockdown Nick.Penwarden
#rb none

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

Change 3219796 on 2016/12/02 by Rolando.Caloca

	DR - vk - Increase timeout to 60ms

Change 3219884 on 2016/12/02 by Daniel.Wright

	Assert to help track down rare crash locking capsule indirect shadow vertex buffer

Change 3219885 on 2016/12/02 by Daniel.Wright

	Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable'

Change 3219886 on 2016/12/02 by Daniel.Wright

	Don't create projected shadows when r.ShadowQuality is 0
	* Fixes crash in the forward path trying to render shadows
	* In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped

Change 3219887 on 2016/12/02 by Daniel.Wright

	Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing

Change 3219893 on 2016/12/02 by Daniel.Wright

	AMD AGS library with approved TPS
	Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below)

Change 3219913 on 2016/12/02 by Daniel.Wright

	Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded

Change 3220029 on 2016/12/02 by Daniel.Wright

	Async shader compiling now recreates scene proxies which are affected by the material which was compiled.  This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation).
	* A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials
	* Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials
	* FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet

Change 3220108 on 2016/12/02 by Daniel.Wright

	Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present

Change 3220504 on 2016/12/03 by Mark.Satterthwaite

	Metal Desktop Tessellation support from Unicorn.
	- Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4).
	- Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant.
	- Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation.
	- Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding.
	- Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default.
	- Epic: Various fixes to Layered Rendering for Metal.
	- Omits Mobile Tessellation support which needs further revision.

Change 3220881 on 2016/12/04 by Mark.Satterthwaite

	Compiles fixes for iOS & static analysis fixes from Windows.

Change 3221180 on 2016/12/05 by Guillaume.Abadie

	Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time.

Change 3221217 on 2016/12/05 by Chris.Bunner

	More NVAPI warning fixups.

Change 3221219 on 2016/12/05 by Chris.Bunner

	When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent.
	#jira UE-37792

Change 3221220 on 2016/12/05 by Chris.Bunner

	Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames.
	#jira UE-35132

Change 3221221 on 2016/12/05 by Chris.Bunner

	PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser)
	#jira UE-35760

Change 3221223 on 2016/12/05 by Chris.Bunner

	Default to include dev-code when compiling material preview stats.
	#jira UE-20321

Change 3221534 on 2016/12/05 by Rolando.Caloca

	DR - Added FDynamicRHI::GetName()

Change 3221833 on 2016/12/05 by Chris.Bunner

	Set correct output extent on PostProcessUpscale (allows users to extend chain correctly).
	#jira UE-36989

Change 3221852 on 2016/12/05 by Chris.Bunner

	32-bit/ch EXR screenshot and frame dump output.
	Fixed row increment bug in 128-bit/px surface format readback.
	#jira UE-37962

Change 3222059 on 2016/12/05 by Rolando.Caloca

	DR - vk - Fix memory type not found

Change 3222104 on 2016/12/05 by Rolando.Caloca

	DR - Lambdaize
	- Added quicker method to check if system textures are initialized

Change 3222290 on 2016/12/05 by Mark.Satterthwaite

	Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist.

Change 3222864 on 2016/12/06 by Rolando.Caloca

	DR - Fix mem leak when exiting

Change 3222873 on 2016/12/06 by Rolando.Caloca

	DR - vk - Minor info to help track down leaks

Change 3222875 on 2016/12/06 by Rolando.Caloca

	DR - Fix mem leak with VisualizeTexture
	#jira UE-39360

Change 3223226 on 2016/12/06 by Chris.Bunner

	Static analysis warning workaround.

Change 3223235 on 2016/12/06 by Ben.Woodhouse

	Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D

Change 3223343 on 2016/12/06 by Chris.Bunner

	Moved HLOD persistent data to viewstate to fix per-view compatability.
	#jira UE-37539

Change 3223349 on 2016/12/06 by Chris.Bunner

	Fixed HLOD with FreezeRendering command.
	#jira UE-29839

Change 3223371 on 2016/12/06 by Michael.Trepka

	Removed obsolete check() in FMetalSurface constructor

Change 3223450 on 2016/12/06 by Chris.Bunner

	Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward.

Change 3223638 on 2016/12/06 by Michael.Trepka

	Restored part of the check() in FMetalSurface constructor removed in CL 3223371

Change 3223642 on 2016/12/06 by Mark.Satterthwaite

	Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet).
	- Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs).
	- Enable with -metaledr command-line argument as it is off-by-default.
	- Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding.

Change 3223830 on 2016/12/06 by Rolando.Caloca

	DR - vk - Better error when finding an invalid Vulkan driver
	#jira UE-37495

Change 3223869 on 2016/12/06 by Rolando.Caloca

	DR - vk - Reuse fences

Change 3223906 on 2016/12/06 by Guillaume.Abadie

	Fix alpha through TempAA artifact causing a small darker edge layouts.

Change 3224199 on 2016/12/06 by Mark.Satterthwaite

	Fix a dumb copy-paste error from the HDR changes to Metal.

Change 3224220 on 2016/12/06 by Mark.Satterthwaite

	Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects.
	- Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering.

Change 3224236 on 2016/12/06 by Mark.Satterthwaite

	IWYU CIS compile fix for iOS.

Change 3224366 on 2016/12/06 by Mark.Satterthwaite

	Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears.
	- If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted.
	- This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo.

Change 3224416 on 2016/12/06 by Uriel.Doyon

	New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds.
	Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives).

	Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData.

	Fix for material texture streaming data not being available on some cooked builds.

	Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible).
	This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting.
	Forced residency are now loaded in two steps (visible, then forced), improving reactiveness.

	Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them,
	and also "LastRenderTimeMips" which related to timed primitives.
	Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency.

	"Texture Streaming Build" now updates the map check after execution.

	Removed Orphaned texture logic as this has  become irrelevant with the latest retention priority logic.

	Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements.

Change 3224532 on 2016/12/07 by Uriel.Doyon

	Integrated CL 3223965 :

	Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore.
	Added more options to allow the user to cancel this build also.

Change 3224714 on 2016/12/07 by Ben.Woodhouse

	Cherry pick CL 3223972 from //fortnite/main:

	Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms)

Change 3224715 on 2016/12/07 by Ben.Woodhouse

	New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version

Change 3224975 on 2016/12/07 by Rolando.Caloca

	DR - vk - Dump improvements

Change 3225012 on 2016/12/07 by Rolando.Caloca

	DR - Show warning if trying to use num samples != (1,2,4,8,16)

Change 3225126 on 2016/12/07 by Chris.Bunner

	Added 'force 128-bit rendering pipeline' to high-res screenshot tool.
	#jira UE-39345

Change 3225449 on 2016/12/07 by Chris.Bunner

	Updated engine rendering defaults to better match current best practices.
	#jira UE-38081

Change 3225485 on 2016/12/07 by Chris.Bunner

	Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases.
	#jira UE-19394

Change 3225486 on 2016/12/07 by Chris.Bunner

	Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled.

Change 3225505 on 2016/12/07 by Daniel.Wright

	Fixed exponential height fog disappearing with no skybox

Change 3225655 on 2016/12/07 by Benjamin.Hyder

	Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting.

Change 3225668 on 2016/12/07 by Chris.Bunner

	Dirty owning packages when user manually forces regeneration of all reflection captures.
	#jira UE-38759

Change 3226139 on 2016/12/07 by Rolando.Caloca

	DR - Fix recompute tangents disabling skin cache
	- Make some macros into lambdas
	#jira UE-39143

Change 3226212 on 2016/12/07 by Daniel.Wright

	Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false

Change 3226213 on 2016/12/07 by Daniel.Wright

	Scene Capture 2D can specify a global clip plane, which is useful for portals
	* Requires the global clip plane project setting to be enabled

Change 3226214 on 2016/12/07 by Daniel.Wright

	Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass
	* If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used
	* Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing
	* Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost
	* Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall

Change 3226258 on 2016/12/07 by Rolando.Caloca

	DR - Typo fix

Change 3226259 on 2016/12/07 by Rolando.Caloca

	DR - compile fix
	#jira UE-39143

Change 3226932 on 2016/12/08 by Chris.Bunner

	Re-saved Infiltrator maps to update reflection captures.
	#jira UE-38759

Change 3227063 on 2016/12/08 by Mark.Satterthwaite

	For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia.
	#jira UE-37436

Change 3227120 on 2016/12/08 by Gil.Gribb

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

Change 3227211 on 2016/12/08 by Arne.Schober

	DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant.

Change 3227257 on 2016/12/08 by Marc.Olano

	Extension to PseudoVolumeTexture for more flexible layout
	Change by ryan.brucks

Change 3227286 on 2016/12/08 by Rolando.Caloca

	DR - Fix crash when using custom expressions and using reserved keywords
	#jira UE-39311

Change 3227376 on 2016/12/08 by Mark.Satterthwaite

	Must not include a private header inside the MenuStack public header as that causes compile errors in plugins.

Change 3227415 on 2016/12/08 by Mark.Satterthwaite

	Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering.

Change 3227516 on 2016/12/08 by Daniel.Wright

	Implemented UWidgetComponent::GetUsedMaterials

Change 3227521 on 2016/12/08 by Guillaume.Abadie

	Fixes post process volume's indirect lighting color.

	#jira UE-38888

Change 3227567 on 2016/12/08 by Marc.Olano

	New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask

Change 3227628 on 2016/12/08 by Daniel.Wright

	Removed redundant ResolveSceneDepthTexture from the merge

Change 3227635 on 2016/12/08 by Daniel.Wright

	Forward renderer supports shadowing from movable lights and light functions
	* Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed
	* Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned

Change 3227660 on 2016/12/08 by Rolando.Caloca

	DR - vk - Fix r.MobileMSAA on Vulkan
	- r.MobileMSAA is now read-only (to be fixed on 4.16)
	- Show time for PSO creation hitches
	#jira UE-39184

Change 3227704 on 2016/12/08 by Mark.Satterthwaite

	Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms.

Change 3227705 on 2016/12/08 by Daniel.Wright

	Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426)

Change 3227787 on 2016/12/08 by Chris.Bunner

	Added extent clear to motion blur pass to catch misized buffers bringing in errors.
	Added early out to clear call when excluded region matches RT region.
	#jira UE-39437

Change 3228177 on 2016/12/08 by Marc.Olano

	Fix DCC sqrt(int) error

Change 3228285 on 2016/12/08 by Chris.Bunner

	Back out changelist 3225449.
	#jira UE-39528

Change 3228680 on 2016/12/09 by Gil.Gribb

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

Change 3228940 on 2016/12/09 by Mark.Satterthwaite

	Editor fixes for 4.15:
	- PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again.
	- Don't start render-passes without a valid render-target-array in MetalRHI.

Change 3228950 on 2016/12/09 by Mark.Satterthwaite

	Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11.
	- Fixed the Skeleton editor tree trying to access a widget before it has been constructed.
	- Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation.
	#jira UE-39256

Change 3229013 on 2016/12/09 by Mark.Satterthwaite

	Further tidy up in SSkeletonTreeView as suggested by Nick.A.

Change 3229101 on 2016/12/09 by Chris.Bunner

	Log compile error fix and updated cvar comments.

Change 3229236 on 2016/12/09 by Ben.Woodhouse

	XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles

Change 3229430 on 2016/12/09 by Ben.Woodhouse

	PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov)

	Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster)

Change 3229580 on 2016/12/09 by Marcus.Wassmer

	DepthBoundsTest for AMD.

Change 3229701 on 2016/12/09 by Michael.Trepka

	Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2

Change 3229706 on 2016/12/09 by Chris.Bunner

	Added GameUserSettings controls for HDR display output.
	Removed Metal commandline as this should replace the need for it.

Change 3229774 on 2016/12/09 by Michael.Trepka

	Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit.

Change 3229819 on 2016/12/09 by Chris.Bunner

	Updated engine rendering defaults to better match current best practices.
	#jira UE-38081

Change 3229948 on 2016/12/09 by Rolando.Caloca

	DR - Fix d3d debug error
	#jira UE-39589

Change 3230341 on 2016/12/11 by Mark.Satterthwaite

	Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled.
	#jira UE-39613

Change 3230860 on 2016/12/12 by Marcus.Wassmer

	Experimental Nvidia AFR support.

Change 3230930 on 2016/12/12 by Mark.Satterthwaite

	Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function.

Change 3231252 on 2016/12/12 by Marcus.Wassmer

	Fix NumGPU detection. (SLI only crash)

Change 3231486 on 2016/12/12 by Mark.Satterthwaite

	Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers.

Change 3231661 on 2016/12/12 by Mark.Satterthwaite

	Retain the RHI samplers in MetalRHI to guarantee lifetime.

[CL 3231696 by Gil Gribb in Main branch]
2016-12-12 17:47:42 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Marcus Wassmer
1eabdaf700 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none

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

Change 3148067 on 2016/10/01 by Daniel.Wright

	Support for ReflectionEnvironment and light type show flags with ForwardShading

Change 3149085 on 2016/10/03 by Daniel.Wright

	Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead

Change 3162206 on 2016/10/13 by Chris.Bunner

	Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
	Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
	Added CustomEyeTangent to material attributes.
	Resolved some hard-coded attribute typing and other minor fixes.

Change 3186067 on 2016/11/03 by Daniel.Wright

	Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved

Change 3186069 on 2016/11/03 by Daniel.Wright

	Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high

Change 3186084 on 2016/11/03 by Mark.Satterthwaite

	Duplicate 3172511:
	Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
	#jira UE-37481

Change 3186089 on 2016/11/03 by Mark.Satterthwaite

	Duplicate CL #3169764:
	Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
	#jira FORT-27627

Change 3186113 on 2016/11/03 by Mark.Satterthwaite

	Duplicate CL #3183807:
	Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
	- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
	- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
	#jira FORT-31649

Change 3186116 on 2016/11/03 by Mark.Satterthwaite

	Duplicate CL #3183823:
	Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.

	Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
	#jira FORT-31649

Change 3186818 on 2016/11/04 by Chris.Bunner

	PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).

Change 3186979 on 2016/11/04 by Rolando.Caloca

	DR - Misc minor cleanup

Change 3187169 on 2016/11/04 by Uriel.Doyon

	Incremental insertion of level data between PostLoad and AddToWorld

Change 3187205 on 2016/11/04 by Mark.Satterthwaite

	Compile fixes for iOS.

Change 3187389 on 2016/11/04 by Uriel.Doyon

	Fix for possible stall when loading hidden level

Change 3187598 on 2016/11/04 by Michael.Trepka

	MetalViewport compile fix

Change 3187678 on 2016/11/04 by Uriel.Doyon

	Fix for landscape grass textures not being streamed in correctly.

Change 3187731 on 2016/11/04 by Rolando.Caloca

	DR - Start making type safe some cross compiler enums

Change 3187824 on 2016/11/04 by Rolando.Caloca

	DR - clang compile fix

Change 3187953 on 2016/11/04 by Rolando.Caloca

	DR - vk - Mac compile fix

Change 3188696 on 2016/11/07 by Mark.Satterthwaite

	Another iOS compile fix for new MetalViewport validation code.

Change 3188906 on 2016/11/07 by Rolando.Caloca

	DR - Show permutation of LUTBlender

Change 3189094 on 2016/11/07 by Chris.Bunner

	Fix RemoveAAJitter from projection matrix.
	#jira UE-37701, UE-38003

Change 3189134 on 2016/11/07 by Daniel.Wright

	Fix for CreateRenderTarget2D called in construction script during cooking

Change 3189145 on 2016/11/07 by Chris.Bunner

	Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.

Change 3189239 on 2016/11/07 by Daniel.Wright

	Added show flag for Contact Shadows, disabled in planar reflections

Change 3189252 on 2016/11/07 by Daniel.Wright

	Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading

Change 3189406 on 2016/11/07 by Mark.Satterthwaite

	Really fix the last of the iOS compile errors from changes to the MetalViewport code.

Change 3190854 on 2016/11/08 by Ben.Woodhouse

	XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
	#jira UE-34264
	#fyi james.golding
	#fyi keith.judge

Change 3190962 on 2016/11/08 by Olaf.Piesche

	Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues

Change 3191959 on 2016/11/09 by Uriel.Doyon

	Removed some static primitives from the dynamic primitive handler for texture streaming.

Change 3193122 on 2016/11/10 by Chris.Bunner

	Always update non-preview material resources for use in code preview.
	#jira UE-38223

Change 3193190 on 2016/11/10 by Gil.Gribb

	UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
	#jira UE-36379

Change 3193523 on 2016/11/10 by Uriel.Doyon

	Fixed incorrect section bounds used for texture streaming.

Change 3193962 on 2016/11/10 by Uriel.Doyon

	Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.

Change 3193974 on 2016/11/10 by Uriel.Doyon

	New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.

Change 3194109 on 2016/11/10 by Uriel.Doyon

	Another patch on material bounds used for texture streaming.

Change 3194665 on 2016/11/11 by Chris.Bunner

	Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.

Change 3194734 on 2016/11/11 by Rolando.Caloca

	DR - vk - Simplified some texture casting

Change 3194867 on 2016/11/11 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3195176 on 2016/11/11 by Chris.Bunner

	Fixed incorrectly updated NVAPI error.

Change 3195425 on 2016/11/11 by Uriel.Doyon

	Fixed possible invalid level reference in the texture streamer

Change 3196512 on 2016/11/14 by Gil.Gribb

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

Change 3196750 on 2016/11/14 by Marcus.Wassmer

	Fix ordering problem with GPU cache transitions

Change 3196815 on 2016/11/14 by Daniel.Wright

	Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS

Change 3196818 on 2016/11/14 by Daniel.Wright

	Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory

Change 3196819 on 2016/11/14 by Daniel.Wright

	Volume lighting samples are allowed outside of the importance volume if their influence affects the volume.  Fixes black indirect lighting on movable components in maps with small importance volumes.
	Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers

Change 3197243 on 2016/11/14 by Uriel.Doyon

	Async Task For Updating static component LastRender time
	#jira UE-24268

Change 3197359 on 2016/11/14 by Daniel.Wright

	Added Inscattering Texture controls to ExponentialHeightFog
	* When InscatteringColorCubemap is specified, directional light inscattering is disabled
	* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
	* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
	* Fog shader permutations based on what feature is enabled

Change 3198419 on 2016/11/15 by Chris.Bunner

	PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
	HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition,  refactoring common functions.
	Exposed RHICreateTargetableShaderResource3D.
	Moved some (translucent) volume rendering helpers to allow access in Slate.

Change 3198822 on 2016/11/15 by Daniel.Wright

	Mac compile fix

Change 3199509 on 2016/11/15 by Uriel.Doyon

	Added support for viewmode param asset name (and note just param value).
	Used to investigate texture streamer behavior.

Change 3199578 on 2016/11/15 by Rolando.Caloca

	DR - Add some shader resource tables to SCW when running with -directcompile

Change 3199698 on 2016/11/15 by Rolando.Caloca

	DR - vk - Refactor shader & descriptor bindings

Change 3199712 on 2016/11/15 by Rolando.Caloca

	DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader

Change 3199717 on 2016/11/15 by Rolando.Caloca

	DR - vk - Show hitching PSO info again

Change 3199750 on 2016/11/15 by Rolando.Caloca

	DR - SCW clang compile fixes

Change 3200353 on 2016/11/16 by Rolando.Caloca

	DR - vk - Mac fix

Change 3200358 on 2016/11/16 by Chris.Bunner

	Only allow UI composition on platforms we currently use it.

Change 3200823 on 2016/11/16 by Chris.Bunner

	Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
	#jira UE-38699

Change 3200947 on 2016/11/16 by Mark.Satterthwaite

	Fix UE-38695 by not trying to resize the viewport on the wrong thread.
	#jira UE-38695

Change 3201069 on 2016/11/16 by Daniel.Wright

	Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors

Change 3201346 on 2016/11/16 by Brian.Karis

	Temporal AA fix for correct edge gradients.

	Filtering now combined with importance sampling.
	Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
	Fixed antighosting. Will yet require a dilation to be perfect.
	Optimized bicubic filtering to 5 taps instead of 9.
	Cleaned out unused code.

Change 3201369 on 2016/11/16 by Brian.Karis

	Bicubic texture sample

Change 3201522 on 2016/11/16 by Rolando.Caloca

	DR - vk - Fix static analysis issues

Change 3201878 on 2016/11/17 by Chris.Bunner

	Temporarily disable Nvapi HDR error logging.
	#jira UE-38529

Change 3202108 on 2016/11/17 by Simon.Tovey

	Assets with easy repro for flickering particles bug

Change 3202181 on 2016/11/17 by Rolando.Caloca

	DR - vk - CIS android fix

Change 3202325 on 2016/11/17 by Ben.Woodhouse

	Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
	 Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
	 #jira UE-34264

Change 3204394 on 2016/11/18 by Guillaume.Abadie

	PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)

	#br Ben.Woodhouse

Change 3204428 on 2016/11/18 by Guillaume.Abadie

	Fixes a couple of issues in decals:

	* Crash in FDecalDrawingPolicyFactory::DrawMesh()
	* ActorPostion material expression
	* PixelNormalWS material expression
	* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE

	#jira UE-38327, UE-38158, UE-37818, UE-37350

Change 3204429 on 2016/11/18 by Uriel.Doyon

	Darker default undefined accuracy.
	Reenabled the texture streaming build in the build all.

Change 3204458 on 2016/11/18 by Chris.Bunner

	Shader truncation warnings fix.

Change 3204459 on 2016/11/18 by Chris.Bunner

	Engine 'Passthrough' material fuction fix. V4 is now actually a V4.

Change 3204460 on 2016/11/18 by Chris.Bunner

	Correctly handle some known Nvapi warnings.
	#jira UE-38529

Change 3204653 on 2016/11/18 by Marc.Olano

	Helper functions for tiled textures

	Checking in for Ryan Brucks

Change 3204863 on 2016/11/18 by Arne.Schober

	DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation

Change 3204939 on 2016/11/18 by Arne.Schober

	DR - Make clang happy

Change 3204968 on 2016/11/18 by Arne.Schober

	DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.

Change 3206293 on 2016/11/21 by Uriel.Doyon

	New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
	Set to true when the streamer can possibly load a mip in the near future.
	#jira UE-37787

Change 3206551 on 2016/11/21 by Chris.Bunner

	Added material update context when forcing all shaders to recompile.
	#jira UE-38481

Change 3206644 on 2016/11/21 by Benjamin.Hyder

	Updating Planar Reflection example in TM-Shadermodels.

Change 3206899 on 2016/11/21 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3206900 on 2016/11/21 by Rolando.Caloca

	DR - Added missing strings for shader formats

Change 3206983 on 2016/11/21 by Rolando.Caloca

	DR - vk - Support for SV_Coverage

Change 3207237 on 2016/11/22 by Simon.Tovey

	Exporting particle module base and a couple of child classes as it's commonly requested.

	#test compiles

Change 3207241 on 2016/11/22 by Gil.Gribb

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

Change 3207520 on 2016/11/22 by Ben.Woodhouse

	Cherry picked from //Fortnite/Main@3206301
	Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
	#jira FORT-31616
	#code_review keith.judge

Change 3207541 on 2016/11/22 by Ben.Woodhouse

	Cherry picked from //fortnite/Main@3207422
	* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
	* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
	* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
	#jira UE-38609

Change 3207654 on 2016/11/22 by Chris.Bunner

	Don't flag 16-bit PNG/JPG textures as sRGB on import.
	#jira UE-30279

Change 3208434 on 2016/11/22 by Rolando.Caloca

	DR - vk - UAV transitions

Change 3208490 on 2016/11/22 by Chris.Bunner

	Break material code sharing when we detect an unresolvable loop.
	By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
	Unified IsResultMA detection across switch nodes.

Change 3208860 on 2016/11/23 by Rolando.Caloca

	DR - vk - Fix some format issues

Change 3209265 on 2016/11/23 by Arne.Schober

	DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
	We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
	One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
	And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
	Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
	Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)

Change 3209305 on 2016/11/23 by Guillaume.Abadie

	Fix contact shadow's assemption on objects thickness

Change 3209334 on 2016/11/23 by Brian.Karis

	Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.

Change 3209903 on 2016/11/24 by Guillaume.Abadie

	Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL

Change 3209973 on 2016/11/24 by Ben.Woodhouse

	Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)

Change 3210023 on 2016/11/24 by Uriel.Doyon

	Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
	#jira UE-37210

Change 3210026 on 2016/11/24 by Ben.Woodhouse

	Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing

Change 3210049 on 2016/11/24 by Ben.Woodhouse

	Fix mac build

Change 3210071 on 2016/11/24 by Uriel.Doyon

	Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
	#jira UE-37542

Change 3210374 on 2016/11/25 by Ben.Woodhouse

	* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)

	* Move Decal rendertarget manager function implementations out of the header.
	#jira UE-38879

Change 3210390 on 2016/11/25 by Uriel.Doyon

	Fixed cubemap resourcesize not taking into account mipgen settings
	#jira UE-37045

Change 3210407 on 2016/11/25 by Uriel.Doyon

	"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
	That can be used in combination with -buildlighting.

Change 3210563 on 2016/11/27 by Rolando.Caloca

	DR - vk - Integrate cached memory fixes and PF_D24 format fix
	#jira UE-39025
	PR #2974

Change 3210564 on 2016/11/27 by Rolando.Caloca

	DR - Fix for GL linker
	PR #2975
	#jira UE-39029

Change 3210592 on 2016/11/27 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3210597 on 2016/11/27 by Rolando.Caloca

	DR - vk - Prep for staging UB copies to GPU memory

Change 3210600 on 2016/11/27 by Rolando.Caloca

	DR - vk - Extract generic range code

Change 3210613 on 2016/11/27 by Rolando.Caloca

	DR - vk - Added r.Vulkan.SubmitOnDispatch

Change 3211054 on 2016/11/28 by Rolando.Caloca

	DR - vk - Missing reference

Change 3211330 on 2016/11/28 by Chris.Bunner

	Shader compile error for max texture coordinate count on skinned meshes.

Change 3211384 on 2016/11/28 by Arne.Schober

	DR - Enforce move on EnqueueRenderCommand Lambda

Change 3211431 on 2016/11/28 by Gil.Gribb

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

Change 3211738 on 2016/11/28 by Gil.Gribb

	IWYU fixes after merge

Change 3212231 on 2016/11/28 by Richard.Wallis

	Fix build errors

Change 3212253 on 2016/11/28 by Richard.Wallis

	Remove MacGraphicsSwitching plugin.

	#jira UE-37640

Change 3212310 on 2016/11/28 by Rolando.Caloca

	DR - vk - Update glslang to 1.0.33.0

Change 3212446 on 2016/11/28 by Guillaume.Abadie

	Implements PreviousFrameSwitch material expression

Change 3212594 on 2016/11/28 by Arne.Schober

	DR - Fix missing include

Change 3212681 on 2016/11/29 by Rolando.Caloca

	DR - vk - Auto flush for compute shader

Change 3213000 on 2016/11/29 by Gil.Gribb

	temp fix for PF_MAX

Change 3213161 on 2016/11/29 by Ben.Woodhouse

	Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714

	Using:
	 - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
	 - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
	 - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...

	Changes from UE4-DX12:

	*** CL 3183818 ***
	Update D3D12 RHI to 4.14:
	 - Merged changes from Epic up until 10/20/16
	 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.

	I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.

	I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.

	-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.

	-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.

	-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.

	-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.

	-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.

	I improved and cleaned up high freqency call stacks like:
	 - RHISetShaderTexture
	 - RHISetShaderResourceViewParameter
	 - RHISetShaderParameter
	 - RHISetUAVParameter

	In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.

	-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.

	-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.

	This work involved a couple changes:
	1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
	2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).

	-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.

	-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.

	-Delay load D3D12.dll and add root signature 1.1 support.

	-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.

	*** CL 3183824 ***
	Fix the D3D12 RHI after integrating UE 4.14 updates:
	- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
	- Fixed a spelling error
	- Removed the need for bForceState, we use dirty bits now

	*** CL 3183830 ***
	- GetDebugFlags RHI extension, needed by XB1 movie player.
	- Only query memory info if stats are enabled
	- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
	- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.

	*** CL 3183837 ***
	Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.

	*** CL 3183931 ***
	Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)

	*** CL 3183978 ***
	Update UBT Windows build settings:
	- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.

	-Delay load D3D12.dll and add root signature 1.1 support.

	*** CL 3184132 ***
	Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.

	*** Changelist 3211714 ***
	Update D3D12 RHI with fixes:
	 - Check if we can reserve slots in GatherUniqueSamplerTables
	 - DirtyState more often in StateCache
	 - Remove InternalSetSamplerState. The alternate function isn't used.
	 - Allow MRTClear for arrays with holes in them
	 - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
	 - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
	 - Resource transitions: go through Common between queues (3D <--> Compute)
	 - Fix initial state for placed resources.
	 - Merging epic

Change 3213250 on 2016/11/29 by Chris.Bunner

	GBufferHints tooltip fix.
	#jira UE-39103

Change 3213345 on 2016/11/29 by Gil.Gribb

	more IWYU fallout

Change 3213676 on 2016/11/29 by Rolando.Caloca

	DR - Fix incorrect texture getting cleared

Change 3213728 on 2016/11/29 by Rolando.Caloca

	DR - Lambda-ize

Change 3214461 on 2016/11/29 by Ben.Woodhouse

	Rollout August QFE4 XDK (required for latest DX12 changes on XB1)

Change 3215317 on 2016/11/30 by Daniel.Wright

	PS4 compile fix

Change 3216343 on 2016/11/30 by Arne.Schober

	DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.

Change 3216844 on 2016/12/01 by Ben.Woodhouse

	Fix for static analysis warnings after discussion with Microsoft

Change 3216916 on 2016/12/01 by Gil.Gribb

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

Change 3217385 on 2016/12/01 by Arne.Schober

	DR - UE-39218, UE-39221, UE-39224  and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass

Change 3217464 on 2016/12/01 by Ben.Woodhouse

	Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
	#jira UE-39225

Change 3217534 on 2016/12/01 by Arne.Schober

	DR - Fix Merge conflict

Change 3217581 on 2016/12/01 by Rolando.Caloca

	DR - Fix assert on debug

Change 3217741 on 2016/12/01 by Benjamin.Hyder

	Duplicate audio fix.

Change 3217890 on 2016/12/01 by Rolando.Caloca

	DR - Fix widget not rendering properly when hidden
	#jira UE-39221

Change 3218129 on 2016/12/01 by Arne.Schober

	DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.

Change 3218759 on 2016/12/02 by Guillaume.Abadie

	Fixes editor compositing bug caused by alpha through post processing change 3209903

	#jira UE-39221

[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
Matthew Griffin
c323066b91 Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3182951)
#lockdown Nick.Penwarden
#rb none

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

Change 3182951 on 2016/11/02 by Luke.Thatcher

	[RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
	 - Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).

	#jira UE-38017

Change 3182892 on 2016/11/02 by Luke.Thatcher

	[RELEASE] [PS4] [!] Fix incorrect identity API implementation in PS4 OSS.
	 - System events directly drive the login state of a user. This also removes the blocking call to sceNpGetState().
	 - GetAuthToken is only called if the engine calls IOnlineIdentity::Login().

	#jira UE-38017

Change 3182767 on 2016/11/02 by Luke.Thatcher

	[RELEASE] [PS4] [!] Fix PS4 session invitations.
	 - Was calling old Web API with SceNpOnlineId where SceNpAccountId is needed.
	 - Replaced with NpToolkit2's session invitation API.

	#jira UE-38020

Change 3182766 on 2016/11/02 by Luke.Thatcher

	[RELEASE] [PS4] [!] Fix assert in FUniqueNetIdPS4::FindOrCreate. We were assuming an online-only ID could never become a local ID. This isn't the case in the following scenario:

	 - Two users join a session on two separate PS4s.
	 - One user signs into the other user's PS4 with the same account, with a second controller. PSN logs him out of the first PS4.
	 - That user's Net ID has now migrated from being online-only, to local-with-online. This is a case that was not handled.

	#jira UE-38017 UE-38020

Change 3182765 on 2016/11/02 by Luke.Thatcher

	[RELEASE] [PS4] [~] Additional logging for PS4 OSS "Play Together".

	#jira UE-38017 UE-38020

Change 3182633 on 2016/11/01 by Jack.Porter

	Fix crash sculpting a landscape with grass that uses the landscape's lightmap, when lighting has not been built
	#jira UE-38042

Change 3182332 on 2016/11/01 by Mieszko.Zielinski

	Added a sanity check to UNavigationSystem::AddElementToNavOctree to guard agains DirtyElement.NavInterface being null #UE4

	#jira UE-37588

Change 3182321 on 2016/11/01 by Dmitry.Rekman

	Updated READMEs for 4.14 (UE-38059).

	#jira UE-38059

Change 3182231 on 2016/11/01 by Mitchell.Wilson

	Adding Is Valid node in Retargeting_WorldInteractionBP to resolve warning.
	#jira UE-38079

Change 3182164 on 2016/11/01 by Matt.Kuhlenschmidt

	Fix alll collision being disabled if you dont auto-generate a simple hull when importing an FBX

	#jira UE-38091

Change 3182017 on 2016/11/01 by Chris.Babcock

	Disable glVertexAttribIPointer on PowerVR Rogue
	#jira UE-38074
	#ue4
	#android

Change 3181942 on 2016/11/01 by Mitchell.Wilson

	Resolving multiple warnings in CIS for Elemental Demo.
	#jira UE-38075

Change 3181941 on 2016/11/01 by Nick.Shin

	PhysX Bulid Automation script update

	#jira UE-37329  'Compile UE4Game HTML5' - 300 Warnings

Change 3181939 on 2016/11/01 by Ryan.Vance

	#jira UE-38072

	We need to add a hook that can be called after native present has finished for SteamVR.

	PostPresentHandoff should be called when using the interleaved compositor immediately after we've submitted our eye buffers and called present for the mirror window. This unblocks the compositor process so it can do it's re-projection work. Otherwise it will block until we call WaitGetPoses which is a ways into the next frame.

Change 3181849 on 2016/11/01 by Nick.Shin

	jukka's (Mozilla) fixes to SSE2 and GL issues for HTML5
	jukka's (Mozilla) python scripts to build ThirdParty HTML5 libs

	the python scripts will need tweaking - they were moved from their original locations from:
	fd48bc0e4a

	the CMakeLists.txt (and one configure.ac) files are defiinitely used from the (bash) shell build script (to build thirdparty libs for HTML5)...

	update existing (bash shell script and UE4 c#) build files to use the new "incoming" emsdk

	#jira UE-37329 -'Compile UE4Game HTML5' - 300 Warnings

Change 3181848 on 2016/11/01 by Nick.Shin

	update compiled ThirdParty HTML5 libs using new emscripten tool chain (CL:#3180924)

	#jira UE-37329 - //UE4/Main: Step 'Compile UE4Game HTML5' - 300 Warnings

Change 3181838 on 2016/11/01 by Nick.Shin

	new emscripten tool chain configured by jukka from Mozilla

	see Engine/Extras/ThirdPartyNotUE/emsdk/emscripten/incoming/EPIC_VERSION for details on where did this version come from

	#jira UE-37329 - //UE4/Main: Step 'Compile UE4Game HTML5' - 300 Warnings

Change 3181611 on 2016/11/01 by Allan.Bentham

	Recreate vulkan swapchain after a pause/resume on android.
	#jira UE-36454

Change 3181451 on 2016/11/01 by Chris.Wood

	CrashReportClient no longer attempts to restart Launcher-run Editors via IPC with the Launcher. They are now restarted directly.
	[UE-37794] - Send and Restart from Crash Reporter Opens Project Browser

	Launcher can't accept command line args when restarting an application so it can't restart the editor with the right project.
	Also fixes broken SlateReflector in CRC (switched off in checked in version)

	#jira UE-37794

Change 3181117 on 2016/11/01 by Dmitriy.Dyomin

	Fixed: Text Actors not Rendering on Mobile
	PowerVR based devices were rendring opaque objects twice
	#jira UE-37949

Change 3181102 on 2016/11/01 by Jack.Porter

	Fix for editor crash during Landscape sculpting on pressing Ctrl+z (Subdivision enabled in material)
	#jira UE-36050

Change 3180851 on 2016/10/31 by Daniel.Wright

	Ray Traced Distance Field shadows must be projected last, since they overlap the depth range as Far CSM.  Fixes Kite demo medium-distance shadowing.
	#jira UE-37793

Change 3180844 on 2016/10/31 by Michael.Trepka

	Disabled high-DPI in Mac CrashReportClient

	#jira UE-37697

Change 3180803 on 2016/10/31 by Michael.Trepka

	Setup Mac Metal layer on the main thread to solve issues with empty game window when showing a separate log window.

	#jira UE-37998

Change 3180764 on 2016/10/31 by zachary.wilson

	Checkking in content for Lighting scenarios test, currently incomplete but needed for bug repro

	#jira UE-29618

Change 3180666 on 2016/10/31 by Dmitry.Rekman

	Fix Linux client & server hang when decoding voice chat (UE-36108).

	- break out of voice channel while loop if unable to serialize the voice packet data.
	- fixed by JoshM

	#jira UE-36108

Change 3180428 on 2016/10/31 by Mitchell.Wilson

	Rebuilt lighting in all Content Examples levels and saved to resolve warnings.
	#jira UE-37880

Change 3180399 on 2016/10/31 by Dmitry.Rekman

	Linux: revert to old commandline switch -binnedmalloc (UE-38001).

	#jira UE-38001

Change 3180298 on 2016/10/31 by Steve.Robb

	Extra information about which class has failed to have its CppStructOps initialized.

	#jira UE-37921

Change 3180289 on 2016/10/31 by John.Pollard

	Fix crash in FCurlHttpRequest::DebugCallback
	+ Specify the string length to FString's constructor as the result from StringCast is not null terminated if the string's length is specified (instead of assuming null termination).
	#jira UE-36658

Change 3180200 on 2016/10/31 by Benjamin.Hyder

	Updating QA-Materials to include BuiltData

	#jira UE-29618

Change 3180173 on 2016/10/31 by Nick.Whiting

	Fixing up static analysis warning about array size in GoogleVRHMD code

	#jira UE-38007

Change 3180123 on 2016/10/31 by ryan.brucks

	#jira UE-35977
	hooked up missing transform node inside of newly added function so that it works with variable rotations.

Change 3180108 on 2016/10/31 by Benjamin.Hyder

	Updating QA-Effects map to include BuiltData

	#jira UE-29618

Change 3180104 on 2016/10/31 by Marc.Audy

	Don't recreate the render state if the component got unregistered in the interim.
	#jira UE-37968

Change 3180084 on 2016/10/31 by Allan.Bentham

	Use glVertexAttribIPointer for ES3.
	Enable SupportsTextureMaxLevel for ES3.
	ensure GL_HALF_FLOAT is used for vertex half float format on ES3 (instead of GL_HALF_FLOAT_OES)
	Fix assert when previewing ES3.1 with PC OpenGL.
	#jira UE-37472

Change 3180082 on 2016/10/31 by Luke.Thatcher

	[RELEASE] [PS4] [-] Back out PS4 OSS warnings filter in UBT output (original CL 3150360).
	 - We weren't relying on this anyway, since the build machines are filtering based on a perl script (See CL 3151027)

	#jira UEPLAT-1424

Change 3180044 on 2016/10/31 by Michael.Trepka

	Don't create additional autorelease pool for Metal context on the game thread.

	#jira UE-37894

Change 3180023 on 2016/10/31 by Luke.Thatcher

	[RELEASE] [PS4] [^] Merge (as edit) PlayStation 4 Online Subsystem refactor for Sony SDK 4.008.061 (CL 3178249) from //UE4/Dev-Platform to OrionGame in //UE4/Release-4.14

	Original CL description:
	[~] Upgrade PlayStation 4 Online Subsystem to be compliant with Sony's new APIs in SDK 4.008.061.
	 - Replaced deprecated APIs with new ones.
	 - Replaced NpToolkit with NpToolkit2.
	 - Refactor of FUniqueNetIdPS4 and related code. FUniqueNetIdPS4 is now immutable and immovable.
	 - Added online ID cache system, which calls out to Sony's new ID Mapper Web API.

	Contains a breaking change in FUniqueNetId
	 - FUniqueNetId::ToString() now returns the SceNpAccountId string of a user, rather than the SceNpOnlineId string.
	 - Custom backends which rely on this string to identify users will need to support SceNpAccountIds, and map them to existing accounts.

	#jira UEPLAT-1424

Change 3179973 on 2016/10/31 by Sam.Deiter

	#Jira UEDOC - 3957
	#UE4 Docs: Fixing typos in the landscape tutorials for bug UEDOC - 3957
	#Code_Review lauren.ridge, jeff.wilson, ian.shadden, wes.bunn, chase.mcallister, robert.gervais

Change 3179930 on 2016/10/31 by Luke.Thatcher

	[RELEASE] [PS4] [^] Merge (as edit) PlayStation 4 Online Subsystem refactor for Sony SDK 4.008.061 (CL 3178249) from //UE4/Dev-Platform to //UE4/Release-4.14

	Original CL description:
	[~] Upgrade PlayStation 4 Online Subsystem to be compliant with Sony's new APIs in SDK 4.008.061.
	 - Replaced deprecated APIs with new ones.
	 - Replaced NpToolkit with NpToolkit2.
	 - Refactor of FUniqueNetIdPS4 and related code. FUniqueNetIdPS4 is now immutable and immovable.
	 - Added online ID cache system, which calls out to Sony's new ID Mapper Web API.

	Contains a breaking change in FUniqueNetId
	 - FUniqueNetId::ToString() now returns the SceNpAccountId string of a user, rather than the SceNpOnlineId string.
	 - Custom backends which rely on this string to identify users will need to support SceNpAccountIds, and map them to existing accounts.

	#jira UEPLAT-1424

Change 3179539 on 2016/10/31 by Jack.Porter

	Fix crash when Toggling Landscape Mode with Hidden Sub-Level containing a Landscape
	#jira UE-37954

Change 3179309 on 2016/10/29 by Benjamin.Hyder

	Re-Saving Foliage asset in Tm-DistanceFields

	#jira UE-29618

Change 3179308 on 2016/10/29 by Benjamin.Hyder

	updating AutoLOD settings for foliage example in TM-Shadermodels

	#jira UE-29618

Change 3179135 on 2016/10/28 by Chris.Babcock

	Only use alternative event flow for Daydream packaged applications
	#jira UE-37847
	#ue4
	#android

Change 3178995 on 2016/10/28 by JohnHenry.Carawon

	Adding test content for the World Origin Rebasing feature

	#jira UE-29618

Change 3178994 on 2016/10/28 by Chris.Babcock

	Disable ARM64 Google Play Games - need new library to fix crash
	#jira UE-37972
	#ue4
	#android

Change 3178955 on 2016/10/28 by Marc.Audy

	Don't worry about clearing from world's end of frame update frame if being GC'd
	#jira UE-37928

Change 3178921 on 2016/10/28 by Daniel.Wright

	[Copy] Scene captures and planar reflections force a scene color alpha channel to be used when they are capturing (does not affect the scene color format for the main views).  Fixes planar reflections with r.SceneColorFormat=3.
	Setup scissor for scene depth resolves, helps with passes using screenpercentage to reduce resolution.  Planar reflection depth resolves .8ms -> .2ms on 970
	#jira UE-37970

Change 3178919 on 2016/10/28 by Daniel.Wright

	[Copy] Fixed planar reflections in forward shading.  The change to disable checkerboard SSS caused scene color alpha to be non-zero for opaque / masked pixels in forward, but there's no SSS pass run later to correct it, since this is the forward rendering path.
	#jira UE-37970

Change 3178905 on 2016/10/28 by Max.Chen

	Sequencer: Fix fade track instance compile

	#jira UE-37939

Change 3178808 on 2016/10/28 by Dmitry.Rekman

	Linux: fix crash on exit (UE-37536).

	- Base virtual function (PostRun()) was called due to thread being stopped at the moment when the subclass destructor has already run.

	#jira UE-37536

	(Edigrating 3175651 from Dev-Platform to Release-4.14)

Change 3178707 on 2016/10/28 by Marc.Audy

	Fix inverted null check that caused load game from slot to fail if using a BP generated class
	#jira UE-37774

Change 3178664 on 2016/10/28 by Alexis.Matte

	Fix the fbx automation tests
	#jira UE-37960

Change 3178617 on 2016/10/28 by Bart.Hawthorne

	Fix issue where changing the world origin in a single player game would try to access the FNetworkPredictionData_Client_Character on character movement components

	#jira UE-37692
	#tests ran QA game and tested that assert no longer fired in debug

Change 3178615 on 2016/10/28 by Max.Chen

	Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter

	Copy from Dev-Sequencer

	#jira UE-37328
	#2864

Change 3178553 on 2016/10/28 by Michael.Trepka

	Don't wait for the main thread in FMacWindow::Show()

	#jira UE-37915

Change 3178526 on 2016/10/28 by Alexis.Matte

	Clean unused material when importing a skeletal mesh. Its possible to have a material reference in a fbx node and not have any face referencing this material.
	#jira UE-37923

Change 3178451 on 2016/10/28 by Mitchell.Wilson

	Limit the max angle the cannon tower can be rotated when manually aiming.
	When max rotation is reached, debug line turns red to be consistent with the arrow tower.
	#jira UE-36512

Change 3178420 on 2016/10/28 by Lina.Halper

	Fix build issue
	#jira: UE-37911

Change 3178390 on 2016/10/28 by mason.seay

	Enabling follow on certain notifies to help catch issues

	#jira UE-29618

Change 3178325 on 2016/10/28 by Zak.Middleton

	#ue4 - (4.14) - Fix crash when player is destroyed and server PlayerController checks to see if it needs to force a network update. Also fix crash when calling ACharacter::SetReplicateMovement when not on the server.

	Mirror CL 3178247 and CL 3178256 in Dev-Framework.

	#jira UE-37902

Change 3178312 on 2016/10/28 by Max.Chen

	Sequencer: Fade only oin the current player context, not on all worlds.

	#jira UE-37939

Change 3178267 on 2016/10/28 by Lina.Halper

	Fix issue with anim editor sound play notify doesn't work with follow option

	#jira: UE-37946

Change 3178146 on 2016/10/28 by Lina.Halper

	#fix crash with thumbnail update when there is no animation, and so on.
	#code review: Benn.Gallagher
	#jira: UE-37911

Change 3178145 on 2016/10/28 by Matthew.Griffin

	Fixed Clean process during a Hot Reload
	Prevent engine build products, intermediates and exe/dlls from being deleted during Hot Reload and make sure Hot Reload state is preserved
	#jira UE-37616

Change 3178143 on 2016/10/28 by Mitchell.Wilson

	Updating BP_Spinning_Logo to stop spinning when disabled instead of finishing the rotation.
	#jira UE-36269

Change 3178110 on 2016/10/28 by Mitchell.Wilson

	Rebuilt lighting and saved levels.
	#jira UE-36913

Change 3178070 on 2016/10/28 by Mitchell.Wilson

	Adjusted trigger ragdoll time in shooter character so the character does not appear to float while in death animation.
	#jira UE-37124

Change 3178034 on 2016/10/28 by Jon.Nabozny

	Add missing Super::Tick call to ATP_TopDownCharacter::Tick.

	#jira UE-37914

Change 3178021 on 2016/10/28 by Max.Chen

	Sequence Recorder: Disable auto possess player for recorded pawns. This fixes a bug where if you record a third person template character, when you open the sequence, the recorded character will possess the viewport.

	Copy from Dev-Sequencer

	#jira UE-35342

Change 3177992 on 2016/10/28 by Matt.Kuhlenschmidt

	Fix outlined text accumulating error due to measuring the outlines for each text run rather than the entire string

	#jira UE-37935

Change 3177981 on 2016/10/28 by Nick.Darnell

	UMG - Fixing how the virtual window calculates desired size.  It was including scale again, which is fine for SWindow, but isn't what we want on the SVirtualWindow, should probably consider making a new SWindowBase class they can both share in the future.

	#jira UE-36861

Change 3177888 on 2016/10/28 by Matthew.Griffin

	Back out revision 4 from //UE4/Release-4.14/Engine/Source/Runtime/Engine/Private/InheritableComponentHandler.cpp

Change 3177881 on 2016/10/28 by Matthew.Griffin

	Added guards to WITH_EDITOR only static initialisation

Change 3177871 on 2016/10/28 by Matt.Kuhlenschmidt

	Fix crash import fbx scenes if objects contain procedural textures (not supported)

	#jira UE-37917

Change 3177856 on 2016/10/28 by Matthew.Griffin

	Adding THIRD_PARTY_INCLUDES macros around Google VR includes to fix static analysis warnings

Change 3177815 on 2016/10/28 by Graeme.Thornton

	Non-editor build fix

	#jira UE-37929

Change 3177812 on 2016/10/28 by Graeme.Thornton

	Fix for COTF crash with EDL. Manually copied from CL 3174743 in Dev-Core

	#jira UE-37810

Change 3177737 on 2016/10/28 by Guillaume.Abadie

	Brings over 3141695 and 3173310 from //Odin/Main: Fixes particle collision in the forward renderer.

	#jira UE-37927

Change 3177703 on 2016/10/28 by Phillip.Kavan

	[UE-37852] Ensure that we create a unique template object in a child class's ICH when overriding an inherited SCS default scene root node.

	change summary:
	- added UInheritableComponentHandler::SCSDefaultSceneRootOverrideNamePrefix
	- modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to special-case SCS default scene root node overrides when determining the new template name
	- modified UInheritableComponentHandler::PostLoad() to special-case SCS default scene root node overrides during template name fixup
	- modified SSCSEditor::RemoveComponentNode() to skip renaming the component template away from the variable name for the default scene root node, since we don't actually recreate it when it gets re-added

	#jira UE-37852

Change 3177600 on 2016/10/27 by Chris.Babcock

	Pass through the intent action from splash screen
	#jira UE-37925
	#ue4
	#android

Change 3177436 on 2016/10/27 by Mike.Beach

	Guarding against a top crash that could occur when pasting a select node (unknown how) - now using an unchecked accessor to get a specific pin, and guarding again a null (instead of asserting).

	#jira UE-37910

Change 3177365 on 2016/10/27 by Daniel.Wright

	Fixed access of FPrecomputedLightVolumeData after it has been deleted (causes crash on exit with USE_MALLOC_STOMP enabled)
	#jira UE-37903

Change 3177236 on 2016/10/27 by Mitchell.Wilson

	Updated UVs on M_FloorTiles1 to resolve precision issues with the material's normal on mobile devices.
	Fixed reflection captures in the level and rebuilt lighting.
	#jira UE-36624

Change 3177235 on 2016/10/27 by mason.seay

	Vehicle Assets

	#jira UE-29618

Change 3177036 on 2016/10/27 by Mitchell.Wilson

	Inverted throttle control for controller Right Joystick Up, Down, Y-Axis to be consistent with the info from our template wiki
	#jira UE-37881

Change 3176996 on 2016/10/27 by mason.seay

	Missed node link

	#jira UE-29618

Change 3176993 on 2016/10/27 by mason.seay

	Test AnimBP for crash

	#jira UE-29618

Change 3176992 on 2016/10/27 by Mitchell.Wilson

	Adding [EditoronlyBP] to DefaultEditor.ini of projects that were missing it.
	#jira UE-37846

Change 3176946 on 2016/10/27 by Alexis.Matte

	We recompile the material only if there is a material expression node that ask for a shader recompile when the texture is change with no specified property.
	#jira UE-37705

Change 3176939 on 2016/10/27 by Alexis.Matte

	Check the pointer before using it
	#jira UE-37853

Change 3176927 on 2016/10/27 by mason.seay

	Rebuilt Lighting

	#jira UE-29618

Change 3176883 on 2016/10/27 by Steve.Robb

	Fix for crash when an array property changes while instancing subobjects.
	Fix for StrStr running off the end of a non-null-terminated string and a tidy up with TUniquePtr.
	Fix for accessing a deleted StaticClass() in FInputBindingEditorModule::ShutdownModule.

	#fyi matt.kuhlenschmidt, alex.fennell
	#jira UE-37752

Change 3176811 on 2016/10/27 by Chris.Bunner

	Rework of previous commit to avoid potential confusion moving forward.
	#jira UE-37424

Change 3176783 on 2016/10/27 by Chris.Bunner

	Default scalability settings to Epic, not Cinematic.
	Duplicated default render resolution scale fix (CL 3170020).
	#jira UE-37424

Change 3176692 on 2016/10/27 by Mike.Beach

	Fixing up a mistake where we weren't reading all [EditoronlyBP] settings (which are now deprecated). Was causing certain settings to default to off, and caused an inaccurate deprecation warning.

	#jira UE-37848

Change 3176635 on 2016/10/27 by mason.seay

	Setting up skeleton for retargeting testing

	#jira UE-29618

Change 3176586 on 2016/10/27 by Marcus.Wassmer

	Fix crash on D3D12 editor when selecting objects
	#jira UE-37861

Change 3176479 on 2016/10/27 by Robert.Manuszewski

	Fix for a rare crash when loading into Orion match. Made sure the Skeleton asset is loaded before PostLoad is called on it.

	#jira UE-37297
	#jira UE-37711

Change 3176107 on 2016/10/27 by Phillip.Kavan

	[UE-37690] AddComponent node template names now use a  counter to avoid a potential component data cache mismatch with an existing instance of an old AddComponent node template.

	change summary:
	- added UBlueprint::ComponentTemplateNameIndex as a way to to map component class names to an incremental counter (saved).
	- UK2Node_AddComponent::MakeNewComponentTemplateName() is now public, non-static, and uses an internal index map to generate unique component template names.

	#jira UE-37690

Change 3176105 on 2016/10/27 by Phillip.Kavan

	[UE-37686] Fix naming for archetype objects associated with new AddComponent nodes.

	change summary:
	- switched UK2Node_AddComponent::MakeNewComponentTemplateName() to be a public API.
	- modified UBlueprintComponentNodeSpawner::Invoke() to call UK2Node_AddComponent::MakeNewComponentTemplateName() in place of MakeUniqueObjectName().
	- modified UBlueprintGeneratedClass::FindArchetype() to better handle old AddComponent node template names. These were based on the UClass display name, and thus it was possible for the non-index form of that FName to collide with SCS variable names after the initial switch to use the non-indexed (base) FName for archetype matching in all cases. As a result I've reverted back to using the given ArchetypeName value for the SCS variable case.

	#jira UE-37686

Change 3176009 on 2016/10/26 by Dmitriy.Dyomin

	Fixed: Editor crash on changing sub-level visbility under certain conditions
	#jira UE-34740

Change 3175807 on 2016/10/26 by Daniel.Wright

	Fixed the editor thinking a lighting build is still active after you discard the results from one
	#jira UE-37834

Change 3175777 on 2016/10/26 by Jon.Nabozny

	#jira UT-6263
	Fix crash when running ServerTravel on a client
	Dupe of CL #3175731 on UT, checked in on behalf of ben.zeigler

Change 3175695 on 2016/10/26 by Ryan.Gerleve

	Don't clear level collections in UWorld::CleanupWorld unless bCleanupResources is true.

	#jira UE-37336

Change 3175628 on 2016/10/26 by Chad.Garyet

	Added -Build vstream from 4-14 to allow checkins from physx
	altered build script and json to reflect new changes
	#JIRA UE-37085

Change 3175612 on 2016/10/26 by Martin.Wilson

	Fix crash when running an in-editor cook on the fly server with unsaved virtual bone changes

	#jira UE-37785

Change 3175552 on 2016/10/26 by Brian.Karis

	Twinblast bust changes

	#jira UE-0

Change 3175543 on 2016/10/26 by Marc.Audy

	Allow audio thread on PS4 to use 7th core as opposed to being pinned to it
	#jira OR-30447

Change 3175538 on 2016/10/26 by Matt.Kuhlenschmidt

	Fixed a crash when clicking Apply when using the Brush Clip tool

	#jira UE-37838

Change 3175502 on 2016/10/26 by Mitchell.Wilson

	Enabled modulated shadows on lights in rolling template levels.
	#jira UE-37047

Change 3175485 on 2016/10/26 by mason.seay

	Test Map for virtual bones

	#jira UE-29618

Change 3175469 on 2016/10/26 by mason.seay

	Test assets for Virtual Bones testing

	#jira UE-29618

Change 3175428 on 2016/10/26 by Marc.Audy

	Possibly fix crash in Autosave due to dereferencing a world pointer which is freed memory
	#jira UE-37590

Change 3175414 on 2016/10/26 by Michael.Trepka

	Fixed mouse position calculations for secondary monitors on Mac

	#jira UE-37822

Change 3175382 on 2016/10/26 by Yannick.Lange

	VR Editor: - Fix: Landscape UI Elements are not visible #jira UE-36843
	- Fix: First-time switch to Landscape tab in VREditor causes UI Errors #jira UE-37410
	- Fix: Enabling Foilage Mode in VR Editor breaks the pointer #jira UE-37214
	- Fix: Landscape sculpting when attempting to move menu panels in VREditor #jira UE-37581
	#jira UE-36843 #jira UE-37410 #jira UE-37214 #jira UE-37581

Change 3175349 on 2016/10/26 by Chad.Garyet

	Changing physx build agents to compile workspaces instead of full ones
	#JIRA UE-37085

Change 3175267 on 2016/10/26 by Martin.Wilson

	Fix retarget crash

	#jira UE-37781

Change 3175205 on 2016/10/26 by Rolando.Caloca

	UE4.14 - Remove erroneus assert
	#jira UE-37584

Change 3175188 on 2016/10/26 by Chris.Babcock

	Fix out of spec GLSL operations (contributed by JeffRous)
	#jira UE-37800
	#PR #2886
	#ue4
	#android

Change 3175156 on 2016/10/26 by Mitchell.Wilson

	Adding missing iOS app icons to SunTemple project
	#jira UE-36991

Change 3175095 on 2016/10/26 by Daniel.Wright

	Fixed stationary skylight reflections using an inverted mask on materials without high quality reflections with Forward Shading
	#jira UE-37783

Change 3175075 on 2016/10/26 by Daniel.Wright

	[Copy] Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear)
	#jira UE-36497

Change 3175050 on 2016/10/26 by Jamie.Dale

	FTextRenderComponentMIDCache now marks MIDs as stale when the font parameters available in the parent material changes

	#jira UE-37819

Change 3175039 on 2016/10/26 by Daniel.Wright

	Fixed Duplication mode
	#jira UE-37231

Change 3174996 on 2016/10/26 by Mitchell.Wilson

	Removing [EditoronlyBP] changes made to DefaultEditor.ini. EDL is now disabled by default in ShooterGame.
	#jira UE-37648

Change 3174987 on 2016/10/26 by Jon.Nabozny

	Fix crash when moving InstancedStaticMeshComponent in editor when it had no mesh set, but had instances.

	#jira UE-37594

Change 3174803 on 2016/10/26 by Ori.Cohen

	Fix world origin shifting causing a crash inside physx.

	#JIRA UE-37745

Change 3174776 on 2016/10/26 by Allan.Bentham

	Work around broken depth reads on Galaxy S4.
	#jira UE-35481

Change 3174723 on 2016/10/26 by Robert.Manuszewski

	Changing the criteria for UBL to ignore the event driven loader flag to IsEngineInstalled() just like at runtime.

	#jira UE-37617

Change 3174650 on 2016/10/26 by Matthew.Griffin

	Ensured that Online Subsystem Oculus plugin is precompiled successfully for Android

Change 3174644 on 2016/10/26 by Matthew.Griffin

	Fixing GoogleVR compile issues

Change 3174352 on 2016/10/25 by Daniel.Wright

	Rename map build data along with the world - fixes lighting lost on map rename / save as.
	Duplicate map build data along with the world - fixes lighting lost on map duplicate in the content browser, or save as when the source already exists.
	Save map build data packages in SaveWorld - fixes lighting being lost on save as.
	#jira UE-37231

Change 3174335 on 2016/10/25 by Chris.Babcock

	Corrected Proguard issue with Codeworks for Android 1R5 installers
	#jira UE-37680
	#ue4
	#android

Change 3174318 on 2016/10/25 by Marcus.Wassmer

	Duplicate 3174187
	#jira UE-37020

Change 3174263 on 2016/10/25 by patrickr.donovan

	Test content updates and additions. Lighting Channel map added to TM-VRLoader.
	#jira UE-29618

Change 3174120 on 2016/10/25 by Daniel.Wright

	UObject::PostDuplicate with DuplicateMode
	* Allows differentiating between being duplicated as part of a world duplication vs duplication within a level
	* This is needed when generating a guid that needs to be unique within a level, but constant across instances of that level, like a light component
	#jira UE-37231

Change 3174113 on 2016/10/25 by Daniel.Wright

	Fixed log spam
	#jira UE-37522

Change 3174010 on 2016/10/25 by Jamie.Dale

	Fixed several crashes in the Session Frontend when viewing profiles

	- SFiltersAndPresets wasn't being cleared when the profile data was changed back to a live instance.
	- SFiltersAndPresets could crash if it was updated when no profile was selected.
	- SDataGraph could cause a crash if you clicked on it when there was no data (passed a range of -1, 0).
	- A session update message would clobber any loaded profile data, resetting to the current instance.

	#jira UE-37597

Change 3173982 on 2016/10/25 by mason.seay

	Deleting unneeded asset

	#jira UE-29618

Change 3173912 on 2016/10/25 by Ori.Cohen

	Fix divide by 0 crash when torque curve is 0

	#JIRA UE-37737

Change 3173866 on 2016/10/25 by Ben.Marsh

	Remove setting forcing UnrealCEFSubProcess to compile using Visual Studio 2013.

	#jira UE-37678

Change 3173824 on 2016/10/25 by Ben.Marsh

	Fix trying to recompile UBT in Rocket builds when cleaning a build target.

	#jira UE-37616

Change 3173812 on 2016/10/25 by Nick.Darnell

	XBoxOne - The Vertex and Index buffers are now allocated with the right nextwriteoffset to prevent stomping old data on future writes.

	#jira UE-37757

Change 3173808 on 2016/10/25 by Ben.Marsh

	Fix batch files detecting MSBuild install locations for Visual Studio "15" preview 5.

	#jira UE-37627

Change 3173711 on 2016/10/25 by Ori.Cohen

	Fix linux compiler issues for physx

	#JIRA UE-37085, UE-37114, UE-37116

Change 3173704 on 2016/10/25 by James.Cobbett

	Import test assets for Alembic Conversion test
	#jira UE-29618

Change 3173694 on 2016/10/25 by Matt.Kuhlenschmidt

	Fixed Zip project not working in binary builds

	#jira UE-37655

Change 3173692 on 2016/10/25 by James.Cobbett

	Test content for Alembic Conversion options

	#jira UE-29618

Change 3173666 on 2016/10/25 by Matt.Kuhlenschmidt

	Fixed array refreshing in the details panel not functioning properly for sub-object properties

	#jira UE-37652

Change 3173619 on 2016/10/25 by Robert.Manuszewski

	Making the cooker ignore EDL ini setting in binary engine build.

	#jira UE-37617

Change 3173616 on 2016/10/25 by Nick.Whiting

	Merging update to Google VR 1.01 SDK, which fixes multiple initialization errors

	#jira UE-37440, UE-37236

Change 3173606 on 2016/10/25 by Jamie.Dale

	Removed invalid assert

	We're already passed the collection to modify, so the assert isn't needed.

	#jira UE-37761

Change 3173604 on 2016/10/25 by Keli.Hlodversson

	Work around an issue where the SteamVR plugin will fail to initialize if SteamVR was not already running before launching.
	#jira UE-37623

Change 3173502 on 2016/10/25 by Matt.Kuhlenschmidt

	Fixed more cases of undoing causing selections to become out of sync

	#jira UE-37300

Change 3173475 on 2016/10/25 by Ori.Cohen

	Critical 4.14 physx fixes

	#JIRA UE-37085, UE-37114, UE-37116

Change 3173445 on 2016/10/25 by Robert.Manuszewski

	Disabling the Event Driven Loader in ShooterGame. Making sure the EDL can't be enabled in binary engine distributions.

	#jira UE-37394

Change 3173401 on 2016/10/25 by Matt.Kuhlenschmidt

	Guard against crashes when textures or materials are explicitly marked as pending kill and then passed to slate for rendering

	#jira UE-36261

Change 3173245 on 2016/10/25 by Allan.Bentham

	Remove incorrect assert.
	#jira UE-37699, UE-37707

Change 3173232 on 2016/10/25 by Jurre.deBaare

	Post Processing Settings do not update in Persona when the values are changed in Preview Scene Settings
	#fix make sure we also pick up vector4 fields
	#jira UE-37656

Change 3173183 on 2016/10/25 by Matthew.Griffin

	Added Shipping configs to BootstrapPackagedGame (Duplicating CL#3150210 from Main)

Change 3173065 on 2016/10/25 by Dmitriy.Dyomin

	Fixed: Disabling 'Use Landscape Lightmap' option Skewing Procedural Foliage Instances
	#jira UE-37736

Change 3172929 on 2016/10/24 by Ryan.Vance

	#jira UE-37742
	Adding SceneViewExtension hooks that are called right after init views completes. It might be advantageous to do the work we're currently doing in PreRenderViewFamily_RenderThread and PreRenderView_RenderThread after init views is called with the way SteamVR's running start is implemented.

Change 3172915 on 2016/10/24 by Rolando.Caloca

	UE4.14 - Fix compile issues on CCT
	#jira UE-37722

Change 3172762 on 2016/10/24 by Brian.Karis

	#jira UE-37369

Change 3172742 on 2016/10/24 by Daniel.Lamb

	Fixed issue with file-> cook error when you haven't built the exe which you are trying to cook for.
	#jira UE-36796
	#test Cook shootergame

Change 3172690 on 2016/10/24 by Maciej.Mroz

	DynamicClass gives now, as componet-archetype, objects with non-exact name.
	Manually merged cl#3171563

	#jira UE-37480

Change 3172663 on 2016/10/24 by Daniel.Lamb

	Stopped cooker from handling modification requests when they are PIE requests.
	#test PIE shootergame
	#jira UE-21572

Change 3172629 on 2016/10/24 by Mitchell.Wilson

	Reconnected some material functions to resolve warnings which caused characters to render with default materials, and resolving 'Top Material' warnings.
	Reimported SM_GodRay_Plane to resolve PhysX warning
	Rebuilt lighting for the level.
	#jira UE-37728

Change 3172523 on 2016/10/24 by Nick.Shin

	update physx cmakefiles and automation build scripts for release-414 stream (as per request)

	#jira UEFW-106   Add HTML5 support to PhysX CMake & automation scripts

Change 3172515 on 2016/10/24 by Nick.Shin

	remove old emsdk (1.35.0)

	#jira UEPLAT-1324  Update HTML5 PhysX to CMake

Change 3172511 on 2016/10/24 by Mark.Satterthwaite

	Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
	#jira UE-37481

Change 3172461 on 2016/10/24 by Cody.Albert

	Added check for pointer validity to prevent crash in ShooterGame

	#jira UE-37433

Change 3172329 on 2016/10/24 by Peter.Sauerbrei

	fix for remote notification method misspelling
	#jira ue-37720

Change 3172322 on 2016/10/24 by Marc.Audy

	Fix unreferenced variable the brute force to unblock QA
	#jira UE-37718

Change 3172191 on 2016/10/24 by Mitchell.Wilson

	Clearing preivew meshes on some materials to resolve warnings.
	#jira UE-37713

Change 3172186 on 2016/10/24 by Matt.Kuhlenschmidt

	Fix non-editor compile error

	#jira UE-37695

Change 3172159 on 2016/10/24 by Dmitry.Rekman

	Update GitDependencies.exe (UE-37530).

	- Binary needs to be updated to support LINUX_MULTIARCH_ROOT variable.

	#jira UE-37530

Change 3172132 on 2016/10/24 by Keith.Judge

	Xbox One - Fix corrupted screenshots. Needed a GPU/CPU sync point, which legacy D3D11.x used to do for us, but now we have to do manually. Copied from Dev-Platform CL 3156872

	#jira UE-37038

Change 3172131 on 2016/10/24 by Keith.Judge

	Xbox One - Disable engine analytics on XB1 shipping games, as per XRs. Verified http requests from devkit with Fiddler. Copied from CL 3153176 in Dev-Platform.

	#jira UE-36364

Change 3172106 on 2016/10/24 by Mitchell.Wilson

	Updated reference to a material in VehicleMenu.umap to resolve warning
	#jira UE-29748

Change 3172036 on 2016/10/24 by Steve.Robb

	TEnumAsByte can be switchably deprecated for enum classes, and is currently not deprecated (reverting a change in behavior).

	#jira UE-37706

Change 3172020 on 2016/10/24 by Marc.Audy

	Child Actor should be created at registration, not creation. Otherwise attachment hierarchies can not be set up and thus, world positions incorrect
	#jira UE-37615

Change 3171966 on 2016/10/24 by Dmitry.Rekman

	Linux: fix Setup.sh on Ubuntu 16.10 (UE-37621)

	#jira UE-37621

	(Edigrating 3171266 from Dev-Platform to Release-4.14)

Change 3171964 on 2016/10/24 by Dmitry.Rekman

	Linux: fix always rebuilding FixDeps (UE-37625).

	#jira UE-37625

	(Edigrating 3153471 from Dev-Platform to Release-4.14)

Change 3171957 on 2016/10/24 by Matt.Kuhlenschmidt

	Guard against property editor crash happening when focused is lost on an object which has been GC'd due to PIE running

	#jira UE-37636

Change 3171943 on 2016/10/24 by Matt.Kuhlenschmidt

	Added mesh simplifcation plugin picker to the project settings under Editor - Mesh Simplification
	 The menu to pick simplification plugins also contains a link to find other plugins in the launcher marketplace.  The launcher navigates to "/ue/marketplace/content-cat/assets/codeplugins" for now

	#jira UE-37695

Change 3171928 on 2016/10/24 by Max.Chen

	Sequencer: Revert CL#3162724. Fix time dilation in level sequence player because it's causing a regression. Will revisit the fix for UE-37277.

	#jira UE-37589

Change 3171924 on 2016/10/24 by James.Cobbett

	Test content 'preroll.abc'. Has empty frames at the start of animation. For alembic importer testing.
	#jira UE-29618

Change 3171867 on 2016/10/24 by Lina.Halper

	- Back out revision 2 from //UE4/Release-4.14/Engine/Source/Runtime/Engine/Private/Components/SkeletalMeshComponent.cpp
	- Empties override materials before setting preview mesh in animation editor

	#jira: UE-37610
	#code review: Thomas.Sarkanen

Change 3171789 on 2016/10/24 by Allan.Bentham

	Resolve depth on appropriate mobile devices when the view contains materials that read from the depth.
	#jira UE-35023

Change 3171776 on 2016/10/24 by Robert.Manuszewski

	Increasing the initial memory allocation size for FLargeMemoryWriter to reduce the number of allocations when saving or cooking

	#jira UE-37599

Change 3171728 on 2016/10/24 by Dmitriy.Dyomin

	Fix origin rebasing to work with precomputed lighting data stored in separate package
	#jira UE-37693

Change 3171634 on 2016/10/24 by Dmitriy.Dyomin

	Added commenets to 3171621
	#jira UE-36449

Change 3171621 on 2016/10/23 by Dmitriy.Dyomin

	Fixed: Editor crash when compiling the character blueprint after a PIE session with World Composition enabled
	Actually disabled use of world composition with multiplayer PIE using separate processes
	#jira UE-36449

Change 3171424 on 2016/10/22 by Jack.Porter

	Remove unused exec command causing logspam

	#jira UE-37661

Change 3171259 on 2016/10/21 by Ryan.Vance

	Mobile multi-view update

	#jira UE-37603

	Removed dependence on shader name for determining if we need to enable multi-view, now relies on the presence of gl_ViewID_OVR
	Worked around unsigned/signed integer driver issues. Some shader compilers were choking on the unsigned postfix
	Attempted to clean up some of the code duplication in MobileBasePassRendering.cpp
	Made a few design concessions which allows the feature to run on Mali devices in the wild right now:
	  Allow the feature to be enabled with ES2 rather than just ES3.1. Mali drivers have a bug preventing shader io blocks and multi-view from working together
	  Passing the view id from the vertex shader. Mali devices don't allow referencing gl_ViewID_OVR in a pixel shader

Change 3171165 on 2016/10/21 by Peter.Sauerbrei

	revert out the memory changes for platform file cache for mobile
	#jira UE-36835

Change 3171112 on 2016/10/21 by Matt.Barnes

	Updating TM-Material_BP_Nodes to facilitate test UEQATC-2969.

	#jira UEQATC-2969

Change 3171111 on 2016/10/21 by Mike.Beach

	Mirroring CL 3171084 form Dev-BP
	Guarding against a unrepro'able top-10 crash in SGraphPin. Making sure we're not operating on a null/pending-kill/transient pin.

	#jira UE-37642

Change 3170980 on 2016/10/21 by patrickr.donovan

	Motion controller test content update - further updates to combat thumbstick noise.

	#jira UE-29618

Change 3170965 on 2016/10/21 by Mitchell.Wilson

	Moved panner in M_Frame3_BG material to Custom UV0 to resolve issue with material rendering white on tvOS
	#jira UE-37105

Change 3170905 on 2016/10/21 by Marc.Audy

	Fix AActor::Serialize crash if a null in the owned components array
	#jira UE-37641

Change 3170838 on 2016/10/21 by Ben.Woodhouse

	Integrate crash fix from main CL3162008
	Fix for crash in GPU profiler. This was caused by the RHIThread getting too far behind the renderthread. This change adds a fence wait on the renderthread in RHIEndDrawingViewport to ensure that the renderthread is never more than a frame ahead.
	#jira UE-37216

Change 3170815 on 2016/10/21 by Jamie.Dale

	Fixed a potential race-condition in FTextRenderComponentMIDCache, and updated it to detect "stale" MIDs

	FMIDData was shared between the game and render threads, but used non-thread-safe shared pointers.

	This also marks MIDs as "stale" if the number of MIDs no longer matches the number of pages in the font (which may happen if the font is edited). These "stale" MIDs are kept as a weak pointer in a separate array so that we can still keep the MID object alive as long as something is still using it (as it may still be used by a FTextRenderSceneProxy for a short while). This array of weak pointers is purged of unreferenced instances during the normal cache purge cycle.

	#jira UE-37519

Change 3170784 on 2016/10/21 by Mitchell.Wilson

	Changing a material in TM-Reflections level
	#jira UE-29618

Change 3170668 on 2016/10/21 by Mitchell.Wilson

	Updated defaulteditor.ini to resolve cook failure for UBlueprint.
	#jira UE-37648

Change 3170595 on 2016/10/21 by Chris.Wood

	Added "Vanilla" Editor detection and reporting it to analytics, MTBF and Crash Reporter.
	[UE-37132] - Detect "Vanilla" Editor and report it to MTBF analytics and Crash Reporter

	#jira UE-37132

Change 3170395 on 2016/10/21 by Robert.Manuszewski

	UBT will now respect -remoteini command line param when looking for ini files for build settings. Fixes a crash when launching BP-only project from the Editor with EDL enabled.

	#jira UE-37617

Change 3170367 on 2016/10/21 by Allan.Bentham

	Prevent overflow of bright pixels during DoF calc.
	#jira UE-31755

Change 3170363 on 2016/10/21 by Robert.Manuszewski

	Fixing crashes when cancelling async loading

	#jira UE-37634

Change 3170362 on 2016/10/21 by Robert.Manuszewski

	Fixing MallocBinned2 crashes on 32-bit platforms.

	#jira UE-37326

Change 3170280 on 2016/10/21 by Jack.Porter

	Fix for landscape not rendering in Player Collision view mode after toggling G.

	#jira UE-37576

Change 3170202 on 2016/10/21 by Dmitriy.Dyomin

	Fixed: CustomDepth is incorrect when used in Custom PostProcess after Tonemapping
	#jira UE-37628

Change 3170160 on 2016/10/20 by Aaron.McLeran

	#jira UE-37596 Making detail customizations and experimental setting for sound base showing audiomixer-only features

	Implementing CL 3169422 in 4.14

Change 3170029 on 2016/10/20 by Aaron.McLeran

	#jira UE-37004
	#jira UE-37005
	Fixing stat soundwaves

	Implementing 3154264 from Dev-Framework

Change 3170024 on 2016/10/20 by Aaron.McLeran

	#jira UE-37024 Set Sound Mix Class Override still Playing Sounds in Certain Conditions

	Implementing the CL from Dev-Framework

Change 3169869 on 2016/10/20 by Arne.Schober

	duplicated:
	CL 3169845
	#jira UE-35937

Change 3169810 on 2016/10/20 by Steve.Cano

	Moving change from CL 3169642 to 4.14 - fix a library issue that was causing Kindle Fire 1st edition to crash when trying to run QA game, may be causing issues on other devices as well

	#ue4
	#android
	#jira UE-22440

Change 3169635 on 2016/10/20 by Mike.Beach

	Mirroring CL 3169443 from Dev-BP

	Deprecating the [EditoronlyBP] config settings (which are super old, and support legacy functionality, allowing users to export editor-only UBlueprint objects on cook). This is in support of the new event-driven loader (EDL), which is incompatible with these exports. We will be removing support for these settings promptly in 4.15 (hence the choice to deprecate them for 4.14).

	#jira UE-37605

Change 3169618 on 2016/10/20 by Mitchell.Wilson

	rebuilt lighting for all levels in Content Examples
	#jira UE-37570

Change 3169447 on 2016/10/20 by Peter.Sauerbrei

	fix for double quotes causing arguments to not be sent correctly to rsync
	#jira UE-37018

Change 3169362 on 2016/10/20 by tim.gautier

	Updated TM-UMG Level Blueprint - mouse-clicks outside of UMG assets no longer take focus from the set Display Widget

	#jira abc-123

Change 3169244 on 2016/10/20 by Chris.Babcock

	Update to new CodeWorks for Android 1R5
	#jira UE-37554
	#ue4
	#android

Change 3169240 on 2016/10/20 by Jon.Nabozny

	#rn Fixup GameModeClassAliases in Engine.ini files. These must be prefixed with either /Game/ or /Script/ otherwise the asset may fail to resolve and an empty name will be used instead (and cause weird behavior).

	#jira UE-37488

Change 3169155 on 2016/10/20 by Peter.Sauerbrei

	fix for incorrect characters in bundle id when project has underscores in the name
	#jira UE-36436

Change 3169127 on 2016/10/20 by Allan.Bentham

	Fix android vulkan compile error with dev builds
	#jira abc-123

Change 3169058 on 2016/10/20 by Allan.Bentham

	Flush command buffer during init to fix vulkan crash when rendering thread is enabled.
	Fix FDeferredDeletionQueue's resource handle storage on 32 bit platforms.
	#jira UE-36452

Change 3169049 on 2016/10/20 by Peter.Sauerbrei

	fix for minimum ios version in base ini file
	#jira UE-37034

Change 3168910 on 2016/10/20 by Jack.Porter

	Fix occasional race condition crash in FTcpMessageTransportConnection on editor shutdown
	#jira UE-36944

Change 3168906 on 2016/10/20 by Dmitriy.Dyomin

	Fixed: Black rendering on Galaxy S4 PowerVR
	#jira UE-37567

Change 3168858 on 2016/10/20 by Richard.TalbotWatkin

	Made BSP rendering more robust so that out-of-range array accesses trigger an 'ensure' rather than a crash (with a view to identifying the cause of this issue). Also fixed non-editor builds.
	#jira UE-37267 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::GetDynamicMeshElements() [modelrender.cpp:322]

Change 3168826 on 2016/10/20 by Richard.TalbotWatkin

	Duplicated from //UE4/Dev-Editor, CL 3156473

	Attempt to make geometry render / rebuild more robust in the hope of catching UE-36265.
	#jira UE-36265 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::HasSelectedSurfaces() [modelrender.cpp:538]

Change 3168335 on 2016/10/19 by Michael.Trepka

	Restored previous version of FMacWindow::IsPointInWindow function to solve issues with window dragging.

	#jira UE-37418

Change 3168307 on 2016/10/19 by Rolando.Caloca

	UE4.14 - Integrate changes from 3051720 and 3057522

	[RENDERING] [!]
	Revert fix in GPU skin cache (original CL 2722034)
	 - Waiting on shader compilation with the GPU skin update will destroy/recreate render state, causing a crash in the GPU skin cache.

	#jira UE-37545

Change 3168201 on 2016/10/19 by Peter.Sauerbrei

	fix for urls with queries not working correctly
	#jira UE-35090

Change 3168200 on 2016/10/19 by Mitchell.Wilson

	Re-saved multiple cloth assets to resolve building adjacency information warnings.
	Replaced deprecated SetText and GrabComponent blueprint nodes with new SetText and GrabComponentAtLocation.
	Re-saved multiple assets to resolve empty engine version warnings.
	#jira UE-37537

Change 3168174 on 2016/10/19 by Alan.Noon

	#jira UE-37534
	deleted unnecessary files from Photorealistic Character project

Change 3168160 on 2016/10/19 by Arne.Schober

	duplicated:
	fixes for velocity render pass
	CL 3166370
	CL 3166799
	#jira UE-37362

Change 3168136 on 2016/10/19 by Alan.Noon

	#jira UE-37534
	Initial add of Photorealistic Character Sample project

Change 3168127 on 2016/10/19 by Peter.Sauerbrei

	fix for IOS_7 not being found
	#jira UE-37034

Change 3167886 on 2016/10/19 by patrickr.donovan

	#jira UE-37242

	TLDR; Test content updates.
	Bug entered due to finicky hardware returning noise values that weren't accounted for in test contet. Fortified test content against this edge case, no code change necessary.

Change 3167882 on 2016/10/19 by samuel.proctor

	Updating asset for Profiler Heatmap testing

	#jira UE-29618

Change 3167868 on 2016/10/19 by Dmitry.Rekman

	Linux: disable XGE on Windows (UE-37446).

	- XGE does not seem to handle new clang 3.9.0 toolchain well, with very reproducible crashes.

	Also fix build breakage with clang 3.8.1.

	- always_inline was still applied to debug builds and as such was ignored.

	#jira UE-37446

	(Edigrating CL 3166330, 3166456 from Dev-Platform to Release-4.14)

Change 3167832 on 2016/10/19 by Mitchell.Wilson

	Reconnected 'TopMaterial' in multiple materials to resolve warnings.
	Rebuilt lighting and saved levels.
	#jira UE-37529 UE-37535

Change 3167688 on 2016/10/19 by Mitchell.Wilson

	Removing preview mesh from multiple materials to resolve warnings.
	Rebuilt lighting and saved all levels.
	#jira UE-29678 UE-37526

Change 3167616 on 2016/10/19 by Marc.Audy

	Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656.
	#jira UE-37517

Change 3167585 on 2016/10/19 by Jamie.Dale

	Re-enabled all-cultures upload to OneSky so we prime translations correctly

	#jira UE-37518

Change 3167579 on 2016/10/19 by Jamie.Dale

	Fixed text render component regression with custom MIDs

	#jira UE-37305

Change 3167501 on 2016/10/19 by Matt.Kuhlenschmidt

	Fixed realtime rendering in editor viewport being disabled when simulating in editor

	#jira UE-37466

Change 3167498 on 2016/10/19 by Mitchell.Wilson

	Re-saving multiple blueprints with nodeguid warnings.
	Cleared preview mesh for materials with string asset reference warnings.
	Rebuilt lighting and added _BuildData to resolve lighting rebuild warnings.
	#jira UE-30840

Change 3167492 on 2016/10/19 by Matt.Kuhlenschmidt

	Fix for disappearing menus in lastest windows 10 build

	#jira UE-36752

Change 3167311 on 2016/10/19 by Mieszko.Zielinski

	Fixed EQS template cache issues with multiple query run modes #UE4

	#jira UE-37496

Change 3167206 on 2016/10/19 by Matthew.Griffin

	Moved Github promotion earlier in build script and added 'After' dependencies so that we can guarantee the order of the nightly build/prevent unimportant jobs from running before binary build is completed

Change 3167205 on 2016/10/19 by Matthew.Griffin

	Changed CommandUtils.UnzipFiles to use system unzip tool when running on mono, as there has been issues with Ionic not being able to decompress those created by the zip tool

Change 3167010 on 2016/10/19 by Dmitriy.Dyomin

	Fix for LevelStreaming getting stuck, and World->PersistentLevel null assert
	Contributed by Funcom: https://udn.unrealengine.com/questions/312900/fix-for-levelstreaming-getting-stuck-and-world-per.html
	#jira UE-36397

[CL 3189774 by Matthew Griffin in Main branch]
2016-11-08 02:45:19 -05:00
Nick Whiting
919caf08f2 Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3145687)
#lockdown Nick.Penwarden
#rb Merge

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

Change 3094167 on 2016/08/18 by Jeff.Fisher

	UEVR-97 Morpheus HMD tracking needs to wait until HMD is fully tracked.
	-Morpheus CALIBRATING/NOT_TRACKED tracking state hmd orientation update disabled and delegates added to present instructions to the user.  This behavior is controlled by morpheus ini setting bDisableHMDOrientationUntilHMDHasBeenTracked, but defaulted to true to avoid subtly bad user experiences.
	#review-3094106 @chad.taylor
	#jira UEVR-97

Change 3104799 on 2016/08/29 by Jeff.Fisher

	UEVR-178 Morpheus HMD Black crescents
	-Switched reprojection frame time for 60/120 mode from 120hz to 60hz so we much better predict where the hmd will be pointing when the frame we are about to render is actually displayed, and are run off the edge of it less often and less severely.  This makes the black crescent artifacts only just visible during very fast head turning.  The kWrapModeMirror change, which will be submitted separately, makes the left and right crescents invisible to me.
	-Renamed the functions for setting the prediction info in the PS4Tracker.
	-Added render frame parameters to sony reprojection functions, these can help with debugging reprojection.
	-Added commented out sce call to get the reprojection debug data.  Not allowed to submit an executable that calls it, but its nice to at least know where one can put it.  May improve this later.
	-Wrapped PS4Tracker->Synchronize call in a check that the tracker handle is valid, because I managed to get it called when it wasn't (probably during hmd power off testing, but I don't remember now).  It should be fine to not do it if the tracker is not functioning.
	#review-3104780 chad.taylor
	#jira UEVR-178

Change 3108423 on 2016/08/31 by Jeff.Fisher

	Morpheus Config Improvements.
	-UEVR-138 Morpheus HMD reprojection wrap mode config setting
	-Can now switch between wrap mode Mirror and ClampToBorder.  Mirror is the default.
	-Made bDisableHMDOrientationUntilHMDHasBeenTracked editable in UE4Editor project settings.
	-Using generic project setting for bStartInVR, removed the morpheus specific one.
	#jira UEVR-138
	#review-3106999 @nick.whiting

Change 3111231 on 2016/09/01 by Jeff.Fisher

	Fixed bStartInVR ini setting.
	-Initial implementation worked via a generic EnableStereo call, which worked, but happened after the hmd setup dialog, which is not what I wanted.
	-Also fixed a tracking frame mismatch assert that hit when I powered the hmd off once, causing it to lose tracking.  Its ok that it doesn't update in that circumstance.
	#review-3111211 @ryan.vance

Change 3115196 on 2016/09/06 by Keli.Hlodversson

	#jira UEVR-128
	Map move controller Select button to Invalid, as it is always handled by the system

Change 3116425 on 2016/09/07 by Chad.Taylor

	PSVR: stereo layers implementation

Change 3116593 on 2016/09/07 by Jeff.Fisher

	UEVR-126 Morpheus HMD connect dialog cancel reactions
	-VR only apps can't allow the player to cancel out of the hmd setup dialog, so lets just pop the dialog up again (sony were ok with a licencee doing this) if an ini setting says to do that.
	-VR/2D apps might want to switch to 2d if the player cancels out of the hmd setup dialog, so there is an ini setting for that.
	-A delegate only implementation is also provided for apps that want to do something else.  This leaves the game rendering in VR mode, and fires the delegate.
	-Refactored to better separate successful HMD acquisition from stereo rendering.  This was necessary to support the delegate only option on startup.  If you start in vr mode with your hmd off and cancel the dialog stereo rendering now starts with default values for the hmd hardware stats (as read from my pvt) instead of crashing trying to use uninitialized data.  When an hmd is connected its values will be read.
	-Refactored to ensure reprojection starts immediately when we call StartReprojection.
	#jira UEVR-126
	#review-3116221

Change 3116754 on 2016/09/07 by Keli.Hlodversson

	bPixelDensityAdaptive is a bool and not a float property

Change 3117692 on 2016/09/08 by Jeff.Fisher

	UEVR-135 Morpheus HMD recent feature error reporting
	UEVR-173 2DVR flexibility (UTexture)
	-Error log for sceHmdReprojectionSetOutputMinColor failure.
	-Made the parameter for 2dVR a UTexture* instead of a UTexture2D*, so it can be a rendertarget, etc.
	-Added error logs for missing texture, invalid texture, wrong texture format to 2DVR.
	#jira UEVR-135
	#jira UEVR-173
	#review-3116955 @keli.hloedversson

Change 3117990 on 2016/09/08 by Jeff.Fisher

	UEVR-127 Morpheus HMD removal reaction
	-Added VRHeadsetPutOnHead and VRHeadsetRemovedFromHead delegates, and implemented them for Morpheus.
	#jira UEVR-127
	#review-3117968 @keli.hlodversson

Change 3120198 on 2016/09/09 by Jeff.Fisher

	MorpheusReprojector frame complete wait error log
	-Now log a warning if the sceKernalWaitEqueue returns an error.  It not a problem if this happens rarely, but something is very broken if it starts happening continuously.

Change 3121754 on 2016/09/12 by Keli.Hlodversson

	#jira UE-21878 - Also emit VR initialization analytics events in the editor.

Change 3122311 on 2016/09/12 by Nick.Whiting

	Merging fix for Adreno devices rendering black from 4.13.1

Change 3123057 on 2016/09/13 by Keli.Hlodversson

	#jira UE-30097 Use the current value of r.ScreenPercentage on Occulus Rift if it's explicitly set.

	* If the SetBy part of the flags for the console var is SetBy_Constructor, then ignore the value.
	* If it's SetBy_Scalability, then ignore it if it equals 100
	* Else, call SetScreenPercentage using the current value

	The obsolete HMD SCREENPERCENTAGE console command is still available and will override the setting until r.ScreenPercentage is modified the next time.

Change 3123200 on 2016/09/13 by Chad.Taylor

	PS4 Stereo Layer double buffering. Since the overlays are reprojected at 120hz but rendered at 60hz we need to render to a separate buffer than the one being used by reprojection.

Change 3125845 on 2016/09/14 by Keli.Hlodversson

	#jira UE-33996 Add hmd=<name> command line option to allow overriding which HMD module is used.

	Renamed GetModulePriorityKeyName to simply GetModuleKeyName, as this name is now also used to match against the command line options.

Change 3127293 on 2016/09/15 by Jeff.Fisher

	UEVR-225 Morpheus HMD top and bottom black crescents
	-The hidden and visible area meshes for morpheus were too restrictive.  Nudged them out a bit, no black crescents at the top and bottom of the screen.  We are rendering a few more pixels now though.
	#review-3127145 @ryan.vance
	#jira UEVR-225

Change 3130635 on 2016/09/19 by Jeff.Fisher

	UEVR-226 Morpheus HMD mirrored fill wrong on outer edges
	-The setting was never being used, leaving the wrap mode at 0 aka kWrapModeWrap.
	-Refactored how the setting is applied so it works, and is less convoluted.
	#jira UEVR-226
	#review-3129403

Change 3131615 on 2016/09/19 by Keli.Hlodversson

	#jira UE-29341. Update Chaperone bounds when SteamVR tells us they have changed

Change 3136527 on 2016/09/22 by Keli.Hlodversson

	Don't depend on the current state of the VR subsystem when exiting PIE mode to decide whether the main window should be restored. Instead always restore it if it was minimized at the start.

Change 3136652 on 2016/09/22 by Keli.Hlodversson

	Allow shutting down Steam VR subsystem without shutting down the Steam VR plugin completely in response to quitting from the SteamVR overlay. Enabling stereo rendering again will reinitialize SteamVR. This is useful when using PIE in VR mode as it allows entereing it again without restarting the editor. Also fixes crashes by first disabinge stereo rendering a short while before shutting down the VR subsystem.

	#jira UE-35940

Change 3138901 on 2016/09/23 by Ryan.Vance

	Merging 3138521 using OdinToDevVR to bring over temporary forward lighting ISR changes for 4.14

Change 3141614 on 2016/09/27 by Keli.Hlodversson

	Implement GetNumOfTrackingSensors and GetTrackingSensorProperties on SteamVR.

	#jira UE-32994

Change 3141948 on 2016/09/27 by Jeff.Fisher

	UEVR-242 Is AddControllerYawInput not allowed when morpheus is enabled?
	-Indeed it did not work.  Looks like morpheus would not accumulate the yaw, so it would be reset every frame.  I made the implementation of ApplyHmdRotation very similar to the one used for occulus (also similar to other platforms) to fix this.
	#jira UEVR-242
	#review-3141933 keli.hlodversson

Change 3143484 on 2016/09/28 by Nick.Whiting

	Integrating Oculus 1.8 SDK support, includes support for cylinder and cubemap stereo layers

Change 3143517 on 2016/09/28 by Chad.Taylor

	Merging PS4Tracker fixes from  Release-4.13 into Dev-VR

Change 3143805 on 2016/09/28 by Keli.Hlodversson

	#jira UE-36478 Workaround to make world to meters scale apply correctly to Occulus controllers while running in PIE

Change 3143943 on 2016/09/28 by Nick.Whiting

	Merging latest drop from OSVR

Change 3144221 on 2016/09/28 by Keli.Hlodversson

	Implement GetTrackingSensorProperties on PS4
	#jira UE-32994

Change 3144352 on 2016/09/28 by Ryan.Vance

	Initial implementation of mobile multi-view.
	This is non-functioning and requires a lot more work, but enough of the framework exists to make the 4.14 branch for an experimental release.

Change 3144585 on 2016/09/29 by Jeff.Fisher

	UEVR-14 PSVR Support for 90Hz to 90Hz, and 120Hz to 120Hz
	-Enum setting added for the three frame sequences.
	-90Hz mode is trying to run camera updates at 90hz, but they can only run at 60 so every third one fails.  This works, but its dubious.
	-Feature marked as experimental for now because of that 90hz tracking issue, and the lack of testing.
	-Defaulting to 60/120.
	#jira UEVR-14
	#review-3143486 chad.taylor nick.whiting

Change 3145263 on 2016/09/29 by Nick.Whiting

	Fix for constructor initialization order in StereoLayerComponent, which threw a warning on Clang

Change 3145536 on 2016/09/29 by Nick.Whiting

	Fixes for project files to prevent mystery pop up from CAPI

Change 3145663 on 2016/09/29 by Keli.Hlodversson

	PSVR: Make sure the camera orientation returned from GetTrackingSensorProperties points in the right direction.

Change 3145670 on 2016/09/29 by Keli.Hlodversson

	For some reason the orientation of the Oculus tracking sensor is reported as pointing backwards. This flips it around to face front

Change 3145687 on 2016/09/29 by Chad.Taylor

	VR splash screen support

[CL 3146243 by Nick Whiting in Main branch]
2016-09-30 01:16:13 -04:00
Gil Gribb
cbeb7d3bfe Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3109293)
#lockdown Nick.Penwarden
#rb none

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

Change 3091951 on 2016/08/17 by Chris.Bunner

	(Duplicate) CL 3090919: Fixed edge case interactions in HLOD ray rejection logic in Lightmass.

Change 3093162 on 2016/08/18 by Ben.Woodhouse

	Fix minor memory leak (missing delete of RT Heartbeat thread)

Change 3093470 on 2016/08/18 by Ben.Woodhouse

	Fix minor leak in FMonitoredProcess - the Thread member would get leaked if the FMonitoredProcess was cancelled, because it gets NULLed without deleting it.  Fix is to add a bool to keep track of whether the thread is running, rather than using the Thread pointer.
	Also fixes a race condition where the FMonitoredProcess::Thread member could get initialized after the thread had completed. This would cause IsRunning to never return false, even if the thread has completed, and the editor would hang on startup (this was fixed by setting bIsRunning to true before creating the thread)

Change 3093698 on 2016/08/18 by Daniel.Wright

	Translucent lighting volume draw event cleanup

Change 3093700 on 2016/08/18 by Daniel.Wright

	Clamp on box reflection capture transition distance visualizer

Change 3093755 on 2016/08/18 by Ryan.Vance

	Merging stereo planar reflections from Odin.

Change 3094060 on 2016/08/18 by Daniel.Wright

	Fully featured base pass reflection captures with blending and parallax correction
	* Used in the forward renderer when materials opt-in to 'High Quality Reflections'
	* Used in the deferred renderer for translucent 'Surface ForwardShading' materials
	* Reflection captures are culled to a frustum space grid using the same reverse linked-list method as lights in the forward renderer
	* Fixed grid culling in stereo / splitscreen
	* The ReflectionEnvironment compute shader used in the deferred path also uses the culled grid now which reduces its cost from .93ms -> .70ms on 970 GTX.  PS4 cost is about the same.
	* Capsule indirect self-shadowing is now reduced in the forward path to match deferred, and both are controlled by r.CapsuleIndirectShadowSelfShadowIntensity
	* SetupHZB is now skipped when SSAO / SSR / HZB are all disabled

Change 3094160 on 2016/08/18 by Daniel.Wright

	CIS fixes

Change 3094899 on 2016/08/19 by Ben.Woodhouse

	Batching optimization for dragging components onto blueprints, reported on UDN. Adding 2300 static mesh actors now takes 3 seconds instead of 40 minutes.
	https://udn.unrealengine.com/questions/305821/suspected-rhi-uniform-buffer-leak-when-adding-stat.html

	#jira UE-34937

Change 3095256 on 2016/08/19 by Daniel.Wright

	Disabled ISR warning spamming CIS

Change 3095468 on 2016/08/19 by Daniel.Wright

	Fixed refcounting on hit proxy render targets

Change 3095470 on 2016/08/19 by Daniel.Wright

	Added bVisibleInReflectionCaptures to primitive component, which is useful for hiding objects too close to the capture point

Change 3096274 on 2016/08/22 by Rolando.Caloca

	DR - vk - added missing BC4

Change 3096291 on 2016/08/22 by Rolando.Caloca

	DR - vk - Fix image views for some rendertarget formats
	- Fix ImageViews on sub mips

Change 3096579 on 2016/08/22 by Rolando.Caloca

	DR - vk - Fix rendering for shaders with no descriptors

Change 3096584 on 2016/08/22 by Rolando.Caloca

	DR - vk - Fix 3d texture update

Change 3096813 on 2016/08/22 by Rolando.Caloca

	DR - Fix GL linking errors
	PR #2615

Change 3097062 on 2016/08/22 by Rolando.Caloca

	DR - vk - Added unified mem flag
	- Added Mip index into UAV
	- Switched compute descriptor set index 0

Change 3097065 on 2016/08/22 by Rolando.Caloca

	DR - vk - Framebuffer barriers now wait on STAGE_FRAGMENT_SHADER instead of STAGE_BOTTOM_OF_PIPE

Change 3097084 on 2016/08/22 by Daniel.Wright

	Enabled r.VertexFoggingForOpaque by default to match other forward renderer choices (fast by default)

Change 3097086 on 2016/08/22 by Rolando.Caloca

	DR - vk - Missed file

Change 3097943 on 2016/08/23 by Rolando.Caloca

	DR - hlslcc - Remove duplicated definitions out into a common header

Change 3098166 on 2016/08/23 by Rolando.Caloca

	DR - Custom Renderer callback after getting SceneColor

Change 3098418 on 2016/08/23 by Olaf.Piesche

	Moving vertex factory dirtying to always happen in-editor for mesh emitters on dynamic data reinitialization; there are several cases in which this needs to happen (some material changes, mesh reimports...) which are difficult to track, so in-editor we just always recreate the mesh particle vertex factory with the dynamic data.

	#jira UE-34838

Change 3098448 on 2016/08/23 by Rolando.Caloca

	DR - vk - fixes for depth/stencil descriptors
	- Minor debug dump improvement

Change 3098463 on 2016/08/23 by Daniel.Wright

	Static lights with MinRoughness = 1.0 don't get their source shapes drawn into reflection captures, since they are being used as virtual area lights

Change 3098556 on 2016/08/23 by Daniel.Wright

	Lightmass area shadows only mark texels as mapped inside the light's influence, which fixes multiple stationary lights with bUseAreaShadowsForStationaryLight interfering.

Change 3098672 on 2016/08/23 by Rolando.Caloca

	DR - vk - Fixed crash when using vertex shaders with no descriptors

Change 3099173 on 2016/08/24 by Ben.Woodhouse

	Fixed various issues with subsurface profile, for checkerboard and non-checkerboard code paths

	- Re-enable non-checkerboard skin by default

	- Checkerboard issues fixed:
	    - Emissive lighting was being applied twice due to not taking checkerboard pattern into account
	    - Emissive lighting was modulated by basecolor in the recombine
	    - Metallic materials were contributing specular lighting to the diffuse channel

	 - Non-checkerboard fixes:
	    - Fix write mask during SkyLightDiffuse so alpha is updated correctly
	    - Metallic specular lighting was broken (specularColor was lerping to white instead of baseColor)

	 - Optimisation: Fall back to default lit for pixels where the opacity is 0.
	    - For non-checkerboard, this gives better handling of metallic/emissive for pixels where SSS is not required (non-CB RGBA encoding for diffuse/spec doesn't cope well with colored specular or emissive)
	    - For checkerboard, this gives similar results in terms of shading, but we get full-resolution shading on non SSS pixels

	#jira UE-34561

Change 3099673 on 2016/08/24 by Daniel.Wright

	Removed unused reflection shape variables

Change 3099674 on 2016/08/24 by Daniel.Wright

	Fixed translucent materials not working in DrawMaterialToRenderTarget (fallout from cl 3089208)
	Fixed ensure with FRendererModule::DrawTile in the forward renderer, trying to bind light attenuation texture

Change 3099700 on 2016/08/24 by Daniel.Wright

	Disabled log spam when a Rift is connected but not being used

Change 3099730 on 2016/08/24 by Daniel.Wright

	MSAA depth resolve uses depth of closest surface, hides some artifacts with dynamic shadowing against the skybox

Change 3099789 on 2016/08/24 by Brian.Karis

	FloatRGB  is now always supported.

	If 11:11:10 isn't supported by hardware this format by definition will map to a different format meaning it is always supported.

Change 3099987 on 2016/08/24 by Daniel.Wright

	Fixed light grid debug asserts on PS4
	* Always creating the local light buffer, even if it won't be used by the shader
	* Transition ViewState FRWBuffers to writable at the beginning of a new frame

Change 3100120 on 2016/08/24 by Rolando.Caloca

	DR - vk - Use 256MB pages for GPU memory

Change 3100151 on 2016/08/24 by Daniel.Wright

	PS4 gracefully falls back to Temporal AA when MSAA is requested, as the GNM RHI doesn't support MSAA yet

Change 3100302 on 2016/08/24 by Rolando.Caloca

	DR - vk - Mem system changes
	- Now allocates a readback heap from GPU->CPU
	- Removed bad total memory on heap/type
	- Added fallback to another mem type if it's OOM

Change 3101110 on 2016/08/25 by Rolando.Caloca

	DR - vk - Remove r.Vulkan.UseGLSL

Change 3101121 on 2016/08/25 by Rolando.Caloca

	DR - vk - Initial support for HiResShot

Change 3101450 on 2016/08/25 by Rolando.Caloca

	DR - vk - Remove imagelayout from textures; renamed a method for clarity

Change 3101462 on 2016/08/25 by Daniel.Wright

	Planar reflections no longer update GPU particles, fixes Scene Depth particle collision

Change 3101525 on 2016/08/25 by Frank.Fella

	Niagara - Remove public include modules from niagara, and remove the public include dependency on niagara from UnrealEd, and fix up fallout.

Change 3101613 on 2016/08/25 by Rolando.Caloca

	DR - vk - Fix static analysis warning

Change 3101686 on 2016/08/25 by Frank.Fella

	Niagara - Move asset type actions into the niagara module.

Change 3101865 on 2016/08/25 by Rolando.Caloca

	DR - vk - Fix compile issue when enabling dump layer

Change 3101946 on 2016/08/25 by Frank.Fella

	Orion - Fix include error caused by niagara include fixup.

Change 3101999 on 2016/08/25 by Frank.Fella

	Fortnite - Fix include error caused by niagara include fixup.

Change 3102035 on 2016/08/25 by Frank.Fella

	Ocean - Fix include error caused by niagara include fixup.

Change 3102047 on 2016/08/25 by Frank.Fella

	UnrealTournament - Fix include error caused by niagara include fixup.

Change 3102627 on 2016/08/26 by Frank.Fella

	Niagara - Move stats group declaration to the niagara module and move the stats declarations in the niagara module into the cpp files.

Change 3102654 on 2016/08/26 by Ben.Woodhouse

	Fix for D3D error with mismatched vertex/pixel shader registers for SV_POSITION input. Remove unused PixelPosition attribute from interpolators
	#jira UE-33424

Change 3102780 on 2016/08/26 by Ben.Woodhouse

	Make shadow culling take FOV into account, via LODDistanceFactor
	Also set the LODDistanceFactorSquared member of the view, which was previously uninitialized
	#jira UE-33873

Change 3102930 on 2016/08/26 by Rolando.Caloca

	DR - vk - Do not require backbuffer at start, like Metal

Change 3103061 on 2016/08/26 by Rolando.Caloca

	DR - vk - More debug dump to help track down issues

Change 3103143 on 2016/08/26 by Rolando.Caloca

	DR - vk - Added partial image view for each texture for Depth/Stencil
	- Removed some unused members from textures

Change 3104162 on 2016/08/29 by Gil.Gribb

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

Change 3104491 on 2016/08/29 by Rolando.Caloca

	DR - vk - Fix merge issue

Change 3104500 on 2016/08/29 by Rolando.Caloca

	DR - Rebuilt hlslcc libs after merge

Change 3104978 on 2016/08/29 by John.Billon

	-Moved Particle Cutouts to the Required Module
	-Pre-existing SubUVAnimation data is automatically moved to required on Init.
	-Added Default Particle Cutouts project setting that will attempt to find and use a texture on a particle's material for a cutout by default.

Change 3105249 on 2016/08/29 by John.Billon

	Fixing non-editor compile error.

Change 3105326 on 2016/08/29 by Zabir.Hoque

	SIMD Movie Player on XB1

Change 3105813 on 2016/08/30 by John.Billon

	Fixing static analysis warning.

Change 3106322 on 2016/08/30 by Matt.Kuhlenschmidt

	Removed duplicated view uniform shader parameters initialization between slate and scene rendering.  Moved all the duped initialization into a single shared method.  The shared method should be where new parameters are initialized if they are required for the view to work properly.

Change 3106350 on 2016/08/30 by Rolando.Caloca

	DR - vk - Added missing texture formats
	- Added texture debug name

Change 3106547 on 2016/08/30 by Rolando.Caloca

	DR - Added ESimpleRenderTargetMode::EExistingColorAndClearDepth

Change 3106631 on 2016/08/30 by Uriel.Doyon

	Dirty Texture Streaming Build do not dirty maps anymore.
	#jira UE-35241

Change 3106919 on 2016/08/30 by Rolando.Caloca

	DR - Temp workaround to get Vulkan up & running, might require hlslcc fix

Change 3106974 on 2016/08/30 by Uriel.Doyon

	Changed lightmass exports version from GUID to INT in order to shorten filenames.

Change 3106988 on 2016/08/30 by Uriel.Doyon

	New project specific config value r.Streaming.CheckBuildStatus used to specify whether the engine should check if the "Texture Streaming Build" is dirty (false by default).
	#jira UE-35227

Change 3107927 on 2016/08/31 by John.Billon

	-Duplicating OpenGL4 ClearUAV Implementation from 4.13
	-Fixed uav clear format.
	#Jira UE-35345

Change 3108095 on 2016/08/31 by Marc.Olano

	Restore initialization of noise textures, accidentally removed in @3106322

	#jira UE-35369

Change 3108557 on 2016/08/31 by John.Billon

	Fixing HTML5 compile error

[CL 3109297 by Gil Gribb in Main branch]
2016-08-31 21:22:32 -04:00