Commit Graph

101 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
Marc Audy
03d64a49e8 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3293188)
#rb none
#lockdown Nick.Penwarden

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

Change 3203880 on 2016/11/18 by Ori.Cohen

	Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)

Change 3207429 on 2016/11/22 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3207285

Change 3252627 on 2017/01/10 by Lukasz.Furman

	removed duplicated entries from visual logger shape rendering
	#ue4

Change 3252675 on 2017/01/10 by Ori.Cohen

	Add support for tagged memory regions (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))

Change 3252686 on 2017/01/10 by Ori.Cohen

	Refactor BodySetup to make it easier to reuse shape creation (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))

Change 3252833 on 2017/01/10 by Ori.Cohen

	Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))

Change 3252887 on 2017/01/10 by Dan.Reynolds

	Increased modes to include:
	Harmonic minor
	Melodic minor (going up)
	Pentatonic (Major)
	Pentatonic (minor)
	Whole Tone
	Diminished (WH)
	and Blues

Change 3252895 on 2017/01/10 by Aaron.McLeran

	update to music utilities.

Change 3253060 on 2017/01/10 by Aaron.McLeran

	Updates to synthesis plugin and some new features to DSP objects

Change 3253061 on 2017/01/10 by Aaron.McLeran

	Updates to music maps

Change 3253078 on 2017/01/10 by Aaron.McLeran

	Removing pragma optimization code accidentally checked in

Change 3253110 on 2017/01/10 by Ori.Cohen

	First iteration of immediate mode ragdoll node (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))

Change 3253315 on 2017/01/10 by Aaron.McLeran

	Fixing a few bugs in DSP objects

	- Added a new types file EpicSynth1 and EpicSynth1 component can share enums

Change 3253577 on 2017/01/11 by Aaron.McLeran

	Checking in updates to assets for music -- celestial manager for rotating objects like planets, new ambient map

Change 3254052 on 2017/01/11 by Ori.Cohen

	Fix build.

Change 3254059 on 2017/01/11 by Ori.Cohen

	Turn off html5 trying to build apex.

Change 3254095 on 2017/01/11 by Ori.Cohen

	Fix build

Change 3254200 on 2017/01/11 by Jon.Nabozny

	Make vectorized FTransform Accumulate (with blend) and AccumulateWithAdditive (with blend) consistent with the non-vectorized version and comments.

	#JIRA UE-40469

Change 3254334 on 2017/01/11 by Marc.Audy

	Put in missing virtual

Change 3254397 on 2017/01/11 by dan.reynolds

	Updates to OtonOkeMap

Change 3254410 on 2017/01/11 by Marc.Audy

	Cleanup autos

Change 3254420 on 2017/01/11 by Marc.Audy

	PR #3110: Add missing IsInAudioThread check (Contributed by projectgheist)

	Modified somewhat, but based on what PR indicated as a problem.

	#jira UE-40369

Change 3254423 on 2017/01/11 by Marc.Audy

	Optimize GetDefaultSubobjectByName and GetDefaultSubobjects
	Remove autos

Change 3254826 on 2017/01/11 by Aaron.McLeran

	Bringing optimizations to dev-framework

Change 3254831 on 2017/01/11 by dan.reynolds

	Modified MidiSynthTestBP to use Program Change events to pull a Preset from a Preset Bank--added a Data Blueprint Object ES1Bank_Default (containing Preset arrays) with children classes for different classifications of Presets.

Change 3254833 on 2017/01/11 by dan.reynolds

	Updating MidiSynthTestBP's default SynthPreset pan value.

Change 3254851 on 2017/01/11 by dan.reynolds

	Updating ES1Bank_Bass

	Updating OtonOkeMap

Change 3254854 on 2017/01/11 by Aaron.McLeran

	Some fixups for pan modulation

Change 3255682 on 2017/01/12 by aaron.mcleran

	Turning the bass down a bit on OtonOkeMap

Change 3255721 on 2017/01/12 by Marc.Audy

	Fix spelling error

Change 3255790 on 2017/01/12 by Marc.Audy

	Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)

Change 3256263 on 2017/01/12 by Ori.Cohen

	Refactor immediate mode api to take PxD6Joint and PxRigidActor instead.

Change 3256288 on 2017/01/12 by Ori.Cohen

	Undo constraint refactor as we found a way around it and it made the code much harder to read/debug

Change 3256360 on 2017/01/12 by Ori.Cohen

	Make sure physx actors passed into immediate mode are done so with proper locks (can probably improve this in the case where the actor is not even in the scene)

Change 3256846 on 2017/01/13 by Marc.Audy

	Deprecate FBox/FBox2D int32 constructor because it makes no sense if you pass in a non 0 value. Use ForceInit instead.

Change 3256954 on 2017/01/13 by Marc.Audy

	Fix missed fixup of deprecated constructor use

Change 3257167 on 2017/01/13 by Jon.Nabozny

	Fix check in FBodyInstance::SetCollisionEnabled.
	Create convenience methods for HasPhysics and HasQuery.

	#jira UE-39633

Change 3257181 on 2017/01/13 by Zak.Parrish

	Adding input map and some testing content to Xenakis

Change 3257183 on 2017/01/13 by Mieszko.Zielinski

	Implemented an improved navigation projection BP function that retrieves both projected locaiton as well as a boolean indicating if the projection succeeded #UE4

	Also, did similar changes to GetRandomReachablePointInRadius and GetRandomPointInNavigableRadius

	#jira UE-40368

Change 3257211 on 2017/01/13 by Jon.Nabozny

	Fix CIS issue caused by 3257167.

Change 3257220 on 2017/01/13 by Marc.Audy

	Additional FBox constructor deprecation fixups

Change 3257236 on 2017/01/13 by zak.parrish

	Fixed error on Xenakis input pawn

Change 3257242 on 2017/01/13 by zak.parrish

	Update to InputListener

Change 3257273 on 2017/01/13 by Marc.Audy

	No reason to pass simple types by reference

Change 3257418 on 2017/01/13 by Ori.Cohen

	Attempt to turn android physx libs back to static libs.

Change 3257445 on 2017/01/13 by Ori.Cohen

	Turn android libs back to OBJ and removed unreal side linking as it seems we are now just merging into a single physx lib

Change 3257903 on 2017/01/14 by Aaron.McLeran

	Additions to synth module and updates to dsp objects

	- Adding ability to create arbitrary modular patches from modulating sources to modulation destinations
	- DSP objects define their default depths but patches can override
	- Creating new SynthesisEditor module for synthesis plugin so we can create synthesis preset assets
	- Adding a preset bank type so we can store a bank of presets (aka factory presets)

Change 3258179 on 2017/01/15 by Seth.Weedin

	Duplicating input test map for some FX work

Change 3258181 on 2017/01/15 by Seth.Weedin

	Modify skybox in test map to be dark and spooky

Change 3258183 on 2017/01/15 by aaron.johnson

	substituted classes, changed wind speed and adjusted level lighting

Change 3258190 on 2017/01/15 by aaron.johnson

	substituted triplet pawn and motion controller classes, enabled grabbing animations

Change 3258191 on 2017/01/15 by Aaron.McLeran

	Getting source effects working for GDC demo

	- Added new synthesis editor module to create instances of user-created source effects
	- Added code to do source effects
	- Modified old design to a newer, more simpler design for calling into client code to set parameters. No longer using the complex struct reflection design and instead just pass in the uobject preset the user created. They'll then cast it to the type that has the actual settings.
	- Tweaks and fixes to existing dsp objects to get source effects working
	- Modified existing engine code to allow for playing out source effect tails
	- Only supporting mono and stereo assets for source effect processing. Multi-channel effect processing is overly complex for this feature though we may extend the capabilities in the future.
	- Fixed issue of pitching with stereo delay effect on setting first interpolated param
	- Moving synth/dsp stuff in synthesis plugins into appropriate public/private folders in plugin/module
	- Deleting some cruft files no longer needed

Change 3258201 on 2017/01/15 by Seth.Weedin

	C++ and BP classes for managing grid cells. Initial grid mapping tests. #rb none

Change 3258206 on 2017/01/15 by aaron.johnson

	map push, triplets interface created, debug widget placed in level

Change 3258222 on 2017/01/15 by Aaron.McLeran

	Fixing crash when there's a null entry in the source effect chain

	Fixed some zippering introduced by applying volume twice.

Change 3258225 on 2017/01/15 by aaron.johnson

	Interface changes, pawn output values wip

Change 3258228 on 2017/01/15 by aaron.johnson

	Pawn should be outputting all correct values for Tripletsinterface

Change 3258242 on 2017/01/15 by Stanley.Hayes

	Edge lights and Spherical Density Materials

Change 3258251 on 2017/01/16 by Seth.Weedin

	More progress on grid FX. Add curve strength modifiers, begin hooking up interaction. #rb none

Change 3258284 on 2017/01/16 by Aaron.McLeran

	Fixing CIS build error

	Surprised that MSVC allows that...

Change 3258525 on 2017/01/16 by Mieszko.Zielinski

	Made UGameplayTask::ResourceOverlapPolicy configurable via ini files #UE4

Change 3258537 on 2017/01/16 by Lukasz.Furman

	fixed duplicated & undo operations not updating navigation area in nav link proxy and nav link component
	#ue4

Change 3258595 on 2017/01/16 by Marc.Audy

	Fix static analysis warning

Change 3259364 on 2017/01/16 by Mieszko.Zielinski

	BTTask_RotateToFaceBBEntry comment spelling fix #UE4

	#jira UE-40669

Change 3259683 on 2017/01/16 by dan.reynolds

	Updated Preset Bank System implemented in MidiSynthTestBP and 4 Preset Banks have been started

Change 3260244 on 2017/01/17 by Lina.Halper

	#anim

	- optimize layer blend node to not create mask weights in run-time but in compile time.

	#code review: Martin.Wilson

Change 3260617 on 2017/01/17 by Ori.Cohen

	Immediate mode spawns its own actors.

Change 3260701 on 2017/01/17 by Ori.Cohen

	Don't bother blending physics with animation when physics is QueryOnly

Change 3260796 on 2017/01/17 by Ori.Cohen

	EndPhysics tick will no longer be scheduled if QueryOnly is used on a ragdoll.

Change 3261207 on 2017/01/17 by Ori.Cohen

	First iteration of contact enabling/disabling for immediate mode.

Change 3262010 on 2017/01/18 by Marc.Audy

	Remove some autos

Change 3262525 on 2017/01/18 by Lina.Halper

	Fix crash with required bones index not using property indexing

	#jira: UE-40786

Change 3263658 on 2017/01/19 by Martin.Wilson

	Add AnimTechDemo to dev-framework (base third person + feng mao)

Change 3263684 on 2017/01/19 by Lina.Halper

	#anim : layer node - fix allocation change I made by mistake

Change 3264523 on 2017/01/19 by Ori.Cohen

	Immediate mode can now add static geometry it finds in the world. Also improve contact gen by caching iteration order

Change 3264701 on 2017/01/19 by Ori.Cohen

	Make it so that immediate mode ragdolls collide with the ground in persona.This is a bit of an editor only hack which allows immediate mode to find non-static actors

Change 3264980 on 2017/01/19 by Ori.Cohen

	Make sure physics asset collision disabled works in immediate mode.

Change 3265011 on 2017/01/19 by Ori.Cohen

	Added the ability to override physics asset for immediate mode

Change 3265030 on 2017/01/19 by Ori.Cohen

	Added override gravity for immediate mode.

Change 3265650 on 2017/01/20 by Benn.Gallagher

	NvCloth Source

Change 3265652 on 2017/01/20 by Benn.Gallagher

	NvCloth Lib
	#rnx

Change 3265653 on 2017/01/20 by Benn.Gallagher

	NvCloth Bin
	#rnx

Change 3266195 on 2017/01/20 by Danny.Bouimad

	Initial ClothTest Assets for NCloth Before and after comparison TM-MultiClothTest (Under Maps>Framework>Cloth)

Change 3266377 on 2017/01/20 by Marc.Audy

	Ensure that OrphanedDataOnly and TrashClass blueprint generated classes are correctly considered a blueprint class for disregard for GC purposes.

Change 3267873 on 2017/01/23 by Jon.Nabozny

	Fix SceneProxy shadowing in UGeometryCacheComponent.

Change 3268025 on 2017/01/23 by Benn.Gallagher

	IWYU change, platform PCH generation seemed to hide this one.

Change 3268026 on 2017/01/23 by Benn.Gallagher

	Fixed LOCTEXT_NAMESPACE being inconsistently scoped in an #if block
	#rnx

Change 3268630 on 2017/01/23 by Zak.Parrish

	Updating to add MIGS shooter content, as well as audio interaction Blueprints

Change 3268663 on 2017/01/23 by Ori.Cohen

	Ragdoll animnode uses raw physics asset pointer to ensure it makes a hard reference.

Change 3268811 on 2017/01/23 by Ori.Cohen

	Added component space sim for immediate mode

Change 3269369 on 2017/01/24 by Benn.Gallagher

	Copying //Tasks/UE4/Dev-UEFW-11-NewClothingPipeline to Dev-Framework (//UE4/Dev-Framework)

	Replaced clothing with new simulation framework

Change 3269417 on 2017/01/24 by danny.bouimad

	Minor Update to cloth map for test

Change 3269420 on 2017/01/24 by Benn.Gallagher

	Removed APEX simulation from clothing framework (used in testing, not fully complete)

Change 3269421 on 2017/01/24 by danny.bouimad

	Small tweaks

Change 3269515 on 2017/01/24 by Lukasz.Furman

	enabled gameplay debugger's OnSelectionChanged event support for both PIE and SIE modes
	fixed GameplayAbility debugger's category not using IAbilitySystemInterface
	#ue4

Change 3269595 on 2017/01/24 by mason.seay

	Break apart physics asset for crash bug

Change 3269819 on 2017/01/24 by Ori.Cohen

	Make the possibly kinematic actor the first actor in the immediate mode joint. This is consistent with physx vanilla solver.

Change 3270364 on 2017/01/24 by Josh.Stoddard

	upgrade to the latest version of v-HACD:
	https://github.com/kmammou/v-hacd/tree/master/src/VHACD_Lib
	commit: 7a09f9d
	NOTE: only updated windows binaries
	  mac and linux still using old binaries until they can be tested
	#jira UE-40124 #rb josh.stoddard

Change 3271188 on 2017/01/25 by Jurre.deBaare

	Post-import script support
	#jira UEFW-80

Change 3271249 on 2017/01/25 by Thomas.Sarkanen

	Move soundwave-internal curve tables to advanced display

	Exposing it was confusing to audio people

Change 3271586 on 2017/01/25 by Marc.Audy

	Don't rerun construction scripts twice on a level that has been hidden and reshown
	#jira UE-40306

Change 3272048 on 2017/01/25 by Ori.Cohen

	Fix for immediate mode sim when root body is the same as the root bone.

Change 3272083 on 2017/01/25 by Ori.Cohen

	Make sure to warn when component space sim and collision are used together. Also handle it gracefully.

Change 3272300 on 2017/01/25 by Ori.Cohen

	Fix incorrect collision generation when a shape's local pose is not identity.

Change 3273195 on 2017/01/26 by Jurre.deBaare

	Fix for Anim import script crash in GetBonePosesForTime

Change 3273204 on 2017/01/26 by Ben.Marsh

	Ignore PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS and PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS macros between include directives. Fixes CIS warning with IncludeTool.

Change 3273378 on 2017/01/26 by James.Golding

	In AnimBP editor, call CopyNodeDataToPreviewNode when properties are edited, not just pin defaults changed

Change 3273381 on 2017/01/26 by James.Golding

	Big refactor to PoseDriver
	  - RBF logic now moved into its own class/file
	  - Allow editing of transform and radial scaling per-target
	  - Add support for different falloff functions (not just Gaussian)
	  - Allow driving curves directly, rather than always poses
	  - Add details customization for pose driver node
	  - Edits to PoseDriver settings now take immediate effect, don't need to recompile

Change 3273826 on 2017/01/26 by Josh.Stoddard

	modify VHACD to improve quality of hulls generated by convex decomposition
	NOTE: mac libs not included - mac editor will use legacy libs for now

Change 3273902 on 2017/01/26 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3273433

Change 3274018 on 2017/01/26 by Ori.Cohen

	Added immediate physics preview in phat.

Change 3274165 on 2017/01/26 by Ori.Cohen

	PhAT now depends on immediate mode plugin. Fix build

	#JIRA UE-41179

Change 3275001 on 2017/01/27 by Jurre.deBaare

	Fix for crash in Persona with Anim Modifiers

Change 3275297 on 2017/01/27 by Ori.Cohen

	Big refactor to iterate over shapes instead of bodies (allows multiple shape per body collision)

Change 3275340 on 2017/01/27 by Benn.Gallagher

	Fixed Paragon clothing crashes during clothing upgrade step, fixed bone mapping not getting updated on reimport with different hierarchy
	#jira UE-41025
	#jira UE-41039

Change 3275383 on 2017/01/27 by Benn.Gallagher

	Blacklisted double promotion warning on ps4 NvCloth build
	#rnx

Change 3275426 on 2017/01/27 by Benn.Gallagher

	Removed CUDA dependencies from NvCloth cmake files

Change 3275670 on 2017/01/27 by Ori.Cohen

	Fix phat ragdoll in immediate mode updating sketal mesh component transform

Change 3275673 on 2017/01/27 by Ori.Cohen

	Add position/velocity iteration to immediate mode

Change 3276001 on 2017/01/27 by Alan.Noon

	Migrated Immediate Mode Minion Ragdoll Content to GDC AnimTech Project. Updated DefaultInput.ini
	none

Change 3276596 on 2017/01/28 by Aaron.McLeran

	Removing unused #ifdef

Change 3276597 on 2017/01/28 by Aaron.McLeran

	Getting rid of static analysis warning

Change 3277354 on 2017/01/30 by Lukasz.Furman

	fixed custom navlink Id collisions
	#ue4

Change 3277356 on 2017/01/30 by Lukasz.Furman

	fixed comments in GameplayDebugger.h
	#jira UE-41103

Change 3277371 on 2017/01/30 by mason.seay

	Test map for spawn sound/force feedback bug.

Change 3277445 on 2017/01/30 by Lukasz.Furman

	fixed compilation warning
	#ue4

Change 3277560 on 2017/01/30 by Danny.Bouimad

	Made checkin to Fix Crash that occured due to bad content.

Change 3277567 on 2017/01/30 by Ori.Cohen

	Fix immediate mode crashing when joint is empty.

	#JIRA UE-41026

Change 3277928 on 2017/01/30 by Ori.Cohen

	Turn on immediate mode plugin by default

Change 3278433 on 2017/01/30 by Ori.Cohen

	Immediate mode supports heightfield collision.

Change 3278449 on 2017/01/30 by Ori.Cohen

	Fix immediate mode cache not being initialized properly.

Change 3278787 on 2017/01/31 by James.Golding

	Fix CIS error in ImmediatePhysicsSimulation.cpp

Change 3279303 on 2017/01/31 by mason.seay

	Assets for RigidBody node bug

Change 3279352 on 2017/01/31 by Benn.Gallagher

	Fixed inertia blends on self collision cloth assets as we now only have local space simulation and these values weren't used before

Change 3279377 on 2017/01/31 by Alan.Noon

	GDC AnimTech Demo: adjusted minion physics assets
	none

Change 3279425 on 2017/01/31 by james.cobbett

	Updating QA-Physics map.

	Made one of the simulated physics objects more user-friendly, able to enable/disable physics on key-press now.

Change 3279436 on 2017/01/31 by Benn.Gallagher

	Fixed inertia scales on Owen mesh

Change 3279480 on 2017/01/31 by Benn.Gallagher

	Fixes for clothing behavior changes
	#jira UE-41092

Change 3279495 on 2017/01/31 by Ori.Cohen

	Remove unneeded cache clearing when contact pairs are not skipped, but there is no collision.

Change 3279579 on 2017/01/31 by james.cobbett

	Added new scenario to QA-Physics map.

	Moving platforms (up/down, left/right) with physics objects on them.

Change 3279695 on 2017/01/31 by mason.seay

	RigidBody node test asset

Change 3280105 on 2017/01/31 by Ori.Cohen

	Prevent query only ragdolls from simulating if their bodysetup is marked as simulated. Also remove slow check in term body for owning components. This is not true for destructibles or immediate mode

Change 3280148 on 2017/01/31 by mason.seay

	First round of assets for force feedback testing

Change 3280860 on 2017/02/01 by James.Golding

	Merge CL 3280853 to Dev-Framework
	Fix crash with null CurrentSkeleton on AnimInstance when using Re-import button in SkelMesh Editor

Change 3281172 on 2017/02/01 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3281156

Change 3281210 on 2017/02/01 by james.cobbett

	Updated QA-Physics map

	Added cube that starts off with physics enabled, then disables. Made physics toggleable on that and another cube.

Change 3281211 on 2017/02/01 by James.Golding

	Details customization for editing PoseDriver targets list

Change 3281332 on 2017/02/01 by Marc.Audy

	Fix bad merge
	Fix file types

Change 3281388 on 2017/02/01 by mason.seay

	Updated Force Feedback asset

Change 3281396 on 2017/02/01 by mason.seay

	moving asset

Change 3281987 on 2017/02/01 by Benn.Gallagher

	Fixed project generation failing after main merge

Change 3282047 on 2017/02/01 by Marc.Audy

	Fix up Target and build cs files after changes from Dev-Build

Change 3282214 on 2017/02/01 by Ori.Cohen

	Expose radial forces to immediate mode

Change 3282221 on 2017/02/01 by Alan.Noon

	Immediate Mode GDC demo content: development on minion anim B, refined Orbital Laser Pawn controls, tweaked laser parameters
	none

Change 3282273 on 2017/02/01 by Ori.Cohen

	Fix crash when recompiling animbp of immediate mode due to null pointer.

Change 3282368 on 2017/02/01 by Ori.Cohen

	Quick iteration on minion demo

Change 3282824 on 2017/02/02 by James.Golding

	Fix for CIS in RBFSolver.h

Change 3282829 on 2017/02/02 by James.Golding

	Fix CIS in PoseDriverDetails.cpp
	Fix list UI not refreshing after copying targets from PoseAsset

Change 3282834 on 2017/02/02 by Danny.Bouimad

	Adding Pose driver additive assets

Change 3282863 on 2017/02/02 by James.Golding

	Add Mambo mesh and Skeleton

Change 3282892 on 2017/02/02 by James.Golding

	Copy Aurora (Ice) and Mambo meshes/materials/some anims from Dev-General to AnimTechDemo project in Dev-Framework

Change 3283157 on 2017/02/02 by Mieszko.Zielinski

	Cook Orion Win64 fix #UE4

	Had to change the Extent param of K2_ProjectPointToNavigation. Updated the error causing Orion BP

Change 3283159 on 2017/02/02 by Marc.Audy

	Additional CIS fixes

Change 3283179 on 2017/02/02 by Marc.Audy

	More CIS fixes

Change 3283197 on 2017/02/02 by Jurre.deBaare

	Fix for issues importing Fornite geometry cache assets
	#fix Use actual import number of frames instead of total number of frames in the Alembic Cache

Change 3283201 on 2017/02/02 by Marc.Audy

	Keep fixing CIS

Change 3283270 on 2017/02/02 by James.Golding

	Merging CL 3276013 to Dev-Framework
	- fix issue with additive pose preview applying twice

Change 3283499 on 2017/02/02 by Marc.Audy

	More CIS fixes

Change 3283543 on 2017/02/02 by Jon.Nabozny

	Update comment on AActor::GetActorBounds to properly reflect ChildActorComponents aren't included in the calculation.

Change 3283663 on 2017/02/02 by Ori.Cohen

	Fix potential null dereference in ragdoll node

Change 3283757 on 2017/02/02 by Marc.Audy

	May fix remaining CIS issues

Change 3283984 on 2017/02/02 by Marc.Audy

	Fix linux CIS

Change 3284039 on 2017/02/02 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3283913

Change 3284067 on 2017/02/02 by Marc.Audy

	Fixup mistakes in converting redirects

Change 3284187 on 2017/02/02 by Ori.Cohen

	Immediate mode works with radial force (not just radial impulse)

Change 3284358 on 2017/02/02 by Ori.Cohen

	Update arcblade phys asset for immediate mode

Change 3284667 on 2017/02/02 by Marc.Audy

	Arguments is an array not a string now. Fixing commented out code.

Change 3284684 on 2017/02/02 by Marc.Audy

	Move AVIWriter out in to its own module to avoid any possible unity build issues where xwindows.h got indirectly included through the DirectShow third party library and caused FGenericWindow::IsMaximized and IsMinimized to conflict with a macro.

Change 3284707 on 2017/02/02 by Marc.Audy

	Fix AVIWriter module compilation on Mac

Change 3285012 on 2017/02/03 by Benn.Gallagher

	Fixes for Dx NvCloth shader warnings

Change 3285016 on 2017/02/03 by Marc.Audy

	Fix missing include

Change 3285048 on 2017/02/03 by Benn.Gallagher

	Fixed Persona needing a restart when changing number of clothing assets (import/delete)
	#jira UE-41323

Change 3285325 on 2017/02/03 by Marc.Audy

	Properly implement AVIWriter module

Change 3285538 on 2017/02/03 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3285499

Change 3285735 on 2017/02/03 by Jon.Nabozny

	Add IsInAir method to UVehicleWheel.

	#jira UE-38369

Change 3285862 on 2017/02/03 by Aaron.McLeran

	UE-41435 Fixing PIE audio

	- Fixing PIE audio. Recent change to editor preferences from Dev-Editor branch (CL 3234495) caused all audio to be muted in PIE.

Change 3285914 on 2017/02/03 by danny.bouimad

	RecomputeTangents Test Assets

Change 3286246 on 2017/02/03 by Mieszko.Zielinski

	Changes to game-specific BPs containing calls to deprecated NavigationSystem functions #UE4

	#jira UE-41527
	#jira UE-41518

Change 3286308 on 2017/02/03 by Ori.Cohen

	Make sure physx trimesh scale is never too small. Fix box clamping being ignored. Fixes cook warnings for Odin.

	#JIRA UE-41529

Change 3286396 on 2017/02/03 by Ori.Cohen

	Fix CIS

Change 3286479 on 2017/02/03 by Ori.Cohen

	Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)

Change 3287421 on 2017/02/06 by James.Golding

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3286819

Change 3287427 on 2017/02/06 by James.Golding

	Fix PoseBlendNode to 'pass through' if no poses are activated

Change 3287430 on 2017/02/06 by James.Golding

	- Add support to PoseDriver for evaluating source bone in the space of a different bone
	- Fix driven bone adding a scale of 1
	- Fix posedriver values 'sticking' (reset all weights to zero each frame)
	- Move CopyTargetsFromPoseAsset and AutoSetTargetScales from FAnimNode_PoseDriver to UAnimGraphNode_PoseDriver (not required outside editor)
	- Tranlsation targets now draw larger when selected
	- 'Copy from pose asset' now also auto-sets radius for you
	- Remove spammy warnings for missing poses/curves
	- Add UPoseAsset::GetNumTracks and ::GetFullPose
	- Remove unused ExtractionContext from UPoseAsset::GetBaseAnimationPose
	- Remove bIncludeRefPoseAsNeutralPose option (not really useful since we no longer always normalize weights to 1.0)

Change 3287496 on 2017/02/06 by Chad.Garyet

	fixing busted quotes around defaultvalues

Change 3287569 on 2017/02/06 by Mieszko.Zielinski

	Orion BP fixed after deprecating NavigationSystem's BP API #Orion

Change 3287595 on 2017/02/06 by Benn.Gallagher

	BuildPhysX.Automation: Deploying PhysX & NvCloth Win64 Win32 PS4 libs.
	Built for new NvCloth upgrade

Change 3287598 on 2017/02/06 by Benn.Gallagher

	NvCloth Upgrade to 21604115
	Added Linux+Mac support

Change 3287710 on 2017/02/06 by Lukasz.Furman

	added option to disable navlink polys at the end of generated paths
	#ue4

Change 3287857 on 2017/02/06 by Benn.Gallagher

	Fixed NvCloth module files to correctly set up linux and mac hopefully

Change 3287894 on 2017/02/06 by Benn.Gallagher

	Another fix to NvCloth build files, didn't get picked up in VS for some reason.

Change 3287917 on 2017/02/06 by Lina.Halper

	Copy from CharacterRigging to Dev-Framework

	#code review:Thomas.Sarkanen, Martin.Wilson, James.Golding, Andrew.Rodham

Change 3287938 on 2017/02/06 by Thomas.Sarkanen

	Fix crash opening a media sound wave

	#jira UE-41582 - Editor crashes when running Automation test

Change 3287942 on 2017/02/06 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3287682

Change 3288035 on 2017/02/06 by James.Golding

	Remove C++ GameMode and pawn classes (replace with floating BP instead)
	Resave anims to remove Orion refs
	Add simple AnimBP and map for Mambo testing

Change 3288036 on 2017/02/06 by Benn.Gallagher

	Fix to BuildPhysX task to trigger Mac and Linux builds properly

Change 3288125 on 2017/02/06 by Ori.Cohen

	Change PhysXCommon back to dylib

Change 3288127 on 2017/02/06 by Benn.Gallagher

	Fixed project file identification not working for NvCloth under XCode

Change 3288156 on 2017/02/06 by Benn.Gallagher

	Disable "expansion-to-defined" warning in Linux NvCloth builds

Change 3288159 on 2017/02/06 by Lina.Halper

	potential compile fix for Ocean Editor

	#code review:Thomas.Sarkanen

Change 3288190 on 2017/02/06 by Ori.Cohen

	Link against static PhysXCommon for mac

Change 3288200 on 2017/02/06 by Marc.Audy

	Fix CIS

Change 3288270 on 2017/02/06 by Lina.Halper

	fix compile error

	#code review:Thomas.Sarkanen, Marc.Audy

Change 3288302 on 2017/02/06 by Thomas.Sarkanen

	Fixed ensure when deselecting bones in anim BP editor

	#jira UE-41274 - Ensure when clicking in the viewport of an animation blueprint

Change 3288348 on 2017/02/06 by Lina.Halper

	- Enabled control rig
	- Changed plugin name to be Control Rig

Change 3288490 on 2017/02/06 by Benn.Gallagher

	Fixes for Mac attempting static links against NvCloth and failing to load dynamic libraries. Worked with MasonS to get Mac editor up and running.

Change 3288511 on 2017/02/06 by Lina.Halper

	compile fix

Change 3288513 on 2017/02/06 by Lina.Halper

	Check in content to work with

Change 3288615 on 2017/02/06 by Ori.Cohen

	Fix skeletal mesh not simulating when using an aggregate.

	#JIRA UE-41593

Change 3288791 on 2017/02/06 by thomas.sarkanen

	Exposed transforms to cinematics so they can be animated

Change 3288795 on 2017/02/06 by Ori.Cohen

	Fix lock warnings for physx

	#JIRA UE-41591

Change 3288817 on 2017/02/06 by Charles.Anderson

	GDC Arcblade setup tests.

Change 3288825 on 2017/02/06 by Lina.Halper

	Fix build issue of shadow variable

Change 3289058 on 2017/02/06 by Ori.Cohen

	Fix crash when immediate mode constraint generates 0 rows. This is a potentially temporary fix until NVIDIA replies with a better solution.

	#JIRA UE-41026

Change 3289348 on 2017/02/06 by Lina.Halper

	fix compile issue

Change 3289369 on 2017/02/06 by Lina.Halper

	Renamed leg control to limb control and will be used for arm/feet.
	- changed vars.
	- has unused variables that will be used soon but want to check in so that i don't block content change on BaseHuman.

	#code review:Thomas.Sakanen

Change 3289422 on 2017/02/06 by Lina.Halper

	Fixed IK sinking issue - or moving

	#code review:Thomas.Sarkanen

Change 3289433 on 2017/02/06 by Lina.Halper

	Fixed real shadow error

Change 3289485 on 2017/02/06 by Lina.Halper

	fixed build issue

Change 3289657 on 2017/02/07 by thomas.sarkanen

	Added rig bone mapping to Ice's skeletal mesh

Change 3289658 on 2017/02/07 by thomas.sarkanen

	Added ControlRig map with Ice setup to pose

Change 3289662 on 2017/02/07 by Thomas.Sarkanen

	Fixed up static analysis warning

Change 3289663 on 2017/02/07 by Thomas.Sarkanen

	Fixed crash when attempting to bind to skeletal mesh with already-set anim BP

	Anim instance may not have actually been created when binding, so dont dereference it

Change 3289717 on 2017/02/07 by Benn.Gallagher

	Switch Linux NvCloth to static for Linux builds. Adjust lib directory to match actual directory

Change 3289718 on 2017/02/07 by Benn.Gallagher

	BuildPhysX.Automation: Deploying NvCloth Linux_x86_64-unknown-linux-gnu libs.

Change 3289744 on 2017/02/07 by Benn.Gallagher

	Fixed missing masses causing crash initialising clothing actors
	#jira UE-41599

Change 3289746 on 2017/02/07 by Danny.Bouimad

	Adding Some Content for JamesG he wanted some nicer looking Pose driver test files.

Change 3289756 on 2017/02/07 by danny.bouimad

	Changing the asset for JamesG.

Change 3289785 on 2017/02/07 by James.Golding

	Replace old PoseDrive test with Danny's new one

Change 3289858 on 2017/02/07 by Lina.Halper

	fixed issue with undo transaction buffer

Change 3289860 on 2017/02/07 by Benn.Gallagher

	Fixed crash after reimporting a clothing asset with the clothing config open and then changing the confg
	#jira UE-41655

Change 3289912 on 2017/02/07 by Thomas.Sarkanen

	Merging using Raven_To_Dev-Framework

	Originally from CLs 3249471, 3258522, 3260271, 3273791:

	Sequencer: More work supporting array properties more generically

	+ fixes

Change 3289962 on 2017/02/07 by James.Golding

	Add thickness option to DrawWireDiamond

Change 3289963 on 2017/02/07 by James.Golding

	Add spin option to VectorInputBox

Change 3289966 on 2017/02/07 by James.Golding

	Add weight bar chart to PoseDriver details
	Stop drawing pose weight text in viewport
	Fix position targets not drawing larger when selected

Change 3290094 on 2017/02/07 by Thomas.Sarkanen

	Fixed typo in filename (fallout from search and replace)

Change 3290119 on 2017/02/07 by Thomas.Sarkanen

	Manipulators can now have their IK/FK space set on them

	They are not drawn when the space for the chain that they control is not the same as their setting
	Also fixed a crash with invalid objects when reloading maps.

Change 3290145 on 2017/02/07 by Thomas.Sarkanen

	CIS fix for fallout from Raven changes

	#jira UE-41670 - Mac editor fails to compile with PropertyTrackEditor errors

Change 3290319 on 2017/02/07 by Marc.Audy

	Make sound player nodes hard reference the assets unless they are in a chain below a quality node.

Change 3290484 on 2017/02/07 by Richard.Hinckley

	Fixing grammar in popup messages.

Change 3290533 on 2017/02/07 by Marc.Audy

	Make GetAIController BlueprintPure
	#jira UE-41654

Change 3290624 on 2017/02/07 by Marc.Audy

	Reorder header to avoid include tool warnings

Change 3290697 on 2017/02/07 by Lina.Halper

	- support FK manipulator being in local space
	- fixed FK key spamming issue for making blend weight to be not keyable - this creates conflicts with enum

	#code review: Thomas.Sarkanen

Change 3290748 on 2017/02/07 by Ori.Cohen

	Touch immediate mode file to force physx re-link

Change 3290807 on 2017/02/07 by Richard.Hinckley

	#jira UE-39891
	Updates to assist in automatic documentation generation.

Change 3290946 on 2017/02/07 by Lina.Halper

	Fix issue of notify looping.

	#jira: UE-31463
	#Code review:Martin.Wilson

Change 3291553 on 2017/02/07 by Lina.Halper

	Rename/move file(s)
	- modified mesh mapping controller window to be Control Rig

Change 3291571 on 2017/02/07 by Lina.Halper

	added set up spine option

	#code review:Thomas.Sarkanen

Change 3291581 on 2017/02/07 by Ori.Cohen

	Temporarily turn off phat immediate mode preview which crashes.

Change 3291949 on 2017/02/08 by James.Golding

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3291819

Change 3291966 on 2017/02/08 by Lina.Halper

	Fix issue with notify looping bug

	#jira: UE-31463

Change 3292247 on 2017/02/08 by Marc.Audy

	Clean up bad merge caused by Fortnite integration to main

Change 3292326 on 2017/02/08 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3292313

Change 3292409 on 2017/02/08 by Marc.Audy

	Resubmit FortPawn.cpp with proper code even though perforce doesn't think there is a difference since when you sync it, the contents are wrong.

Change 3292481 on 2017/02/08 by Ori.Cohen

	Fix for convex hull cooking (from Josh.S)

	#JIRA UE-41656

Change 3292492 on 2017/02/08 by Mieszko.Zielinski

	Redone replacement of deprecated navigation system's BP functions in Fortnite BPs #Fortnite

Change 3292778 on 2017/02/08 by Ori.Cohen

	Touch physx DDC key for new cooking.

	#JIRA UE-41656

[CL 3293329 by Marc Audy in Main branch]
2017-02-08 17:53:41 -05:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

Change 3247594 on 2017/01/05 by Ben.Marsh

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

Change 3247763 on 2017/01/05 by Ben.Marsh

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

Change 3247775 on 2017/01/05 by Ben.Marsh

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

Change 3247811 on 2017/01/05 by Ben.Marsh

	EC: Add a batch file for testing postp filters.

Change 3247839 on 2017/01/05 by Ben.Marsh

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

Change 3248101 on 2017/01/05 by Ben.Marsh

	UBT: Fix Android support for force included headers.

Change 3248533 on 2017/01/05 by Ben.Marsh

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
6748a24fb1 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none

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

Change 3121996 on 2016/09/12 by Ben.Marsh

	Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).

	* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
	* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
	* Visual Studio source code accessor can talk to VS 2017 instances.
	* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
	* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
	* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.

	Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3210598 on 2016/11/27 by Ben.Marsh

	UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.

Change 3210601 on 2016/11/27 by Ben.Marsh

	PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)

Change 3210602 on 2016/11/27 by Ben.Marsh

	PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)

Change 3210605 on 2016/11/27 by Ben.Marsh

	UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.

Change 3211656 on 2016/11/28 by Ben.Marsh

	UBT: Move ModuleRules and TargetRules into their own file.

Change 3211797 on 2016/11/28 by Ben.Marsh

	UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.

Change 3211833 on 2016/11/28 by Ben.Marsh

	UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.

Change 3211859 on 2016/11/28 by Ben.Marsh

	UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.

Change 3211942 on 2016/11/28 by Ben.Marsh

	UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.

Change 3215333 on 2016/11/30 by Ben.Marsh

	UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.

Change 3215482 on 2016/11/30 by Ben.Marsh

	UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.

Change 3215743 on 2016/11/30 by Ben.Marsh

	UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.

	Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.

Change 3215778 on 2016/11/30 by Ben.Marsh

	UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.

Change 3217681 on 2016/12/01 by Ben.Marsh

	UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.

Change 3217723 on 2016/12/01 by Ben.Marsh

	UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.

Change 3217930 on 2016/12/01 by Ben.Marsh

	UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.

Change 3218762 on 2016/12/02 by Ben.Marsh

	Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.

Change 3219161 on 2016/12/02 by Ben.Marsh

	Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.

Change 3219197 on 2016/12/02 by Ben.Marsh

	Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.

Change 3219209 on 2016/12/02 by Ben.Marsh

	Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.

Change 3219610 on 2016/12/02 by Ben.Marsh

	Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.

Change 3219731 on 2016/12/02 by Ben.Marsh

	UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.

Change 3220796 on 2016/12/04 by Ben.Marsh

	Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.

Change 3220825 on 2016/12/04 by Ben.Marsh

	UBT: Change all executors to derive from a common base class (ActionExecutor).

Change 3220834 on 2016/12/04 by Ben.Marsh

	UBT: Remove the global CommandLineContains() function.

Change 3222706 on 2016/12/05 by Ben.Marsh

	Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.

Change 3222712 on 2016/12/05 by Ben.Marsh

	Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat

Change 3223628 on 2016/12/06 by Ben.Marsh

	Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe

Change 3223817 on 2016/12/06 by Ben.Marsh

	Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.

Change 3224046 on 2016/12/06 by Ben.Marsh

	Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.

Change 3224792 on 2016/12/07 by Ben.Marsh

	UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.

Change 3225212 on 2016/12/07 by Ben.Marsh

	UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.

	Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.

	The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.

Change 3226310 on 2016/12/07 by Ben.Marsh

	PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)

Change 3228273 on 2016/12/08 by Ben.Marsh

	Update copyright notices for QAGame.

Change 3229166 on 2016/12/09 by Ben.Marsh

	UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.

Change 3230601 on 2016/12/12 by Ben.Marsh

	Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.

Change 3230737 on 2016/12/12 by Ben.Marsh

	UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.

Change 3230751 on 2016/12/12 by Ben.Marsh

	UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.

Change 3230804 on 2016/12/12 by Ben.Marsh

	UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.

Change 3230831 on 2016/12/12 by Ben.Marsh

	UGS: Warn when trying to switch streams if files are checked out.

Change 3231281 on 2016/12/12 by Chad.Garyet

	Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one

Change 3231496 on 2016/12/12 by Ben.Marsh

	Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.

Change 3231979 on 2016/12/12 by Ben.Marsh

	UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.

Change 3232619 on 2016/12/13 by Ben.Marsh

	Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.

[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -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
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Ben Marsh
7f06f93ff9 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209300)
#lockdown Nick.Penwarden
#rb none

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

Change 3146735 on 2016/09/30 by Ben.Marsh

	EC: Add the standard postprocessor onto conform job steps.

Change 3147190 on 2016/09/30 by Ben.Marsh

	UBT: Add a whitelist for circular dependencies between modules, and output a warning if any new circular dependencies are added.

Change 3148611 on 2016/10/03 by Matthew.Griffin

	Added list of Dependant modules to EULA check
	#jira UE-29432

Change 3149098 on 2016/10/03 by Ben.Marsh

	PR #2821: Fix to stop BuildGraph-created files from being tracked by Git (*.manifest and 'LocalBuilds/') (Contributed by BrodyHiggerson)

Change 3149395 on 2016/10/03 by Ben.Marsh

	UBT: Don't execute pre- and post-build steps when generating project files.

Change 3150398 on 2016/10/04 by Ben.Marsh

	UBT: Fix support for the OptimizeCode setting on Mac, HTML5, Android, Linux, iOS, and XboxOne, and use it to control optimization level in DebugGame configurations. Also determine whether optimization should be enabled for a module at the UEBuildModule level, rather than deriving it (inconsistently) from the ModuleRules enum in the toolchain.

	#jira UE-18652

Change 3150569 on 2016/10/04 by Ben.Marsh

	UBT: Remove the NativeBuildEnvironmentConfiguration and NativeBuildEnvironmentConfiguration.TargetInfo classes; store the platform/configuration/architecture on the CPPEnvironment and LinkEnvironment directly.

Change 3150606 on 2016/10/04 by Ben.Marsh

	UBT: Remove support for C++/CLR modules. There's quite a lot of baggage to support it, and I suspect it's already rotted since we don't use it.

Change 3150628 on 2016/10/04 by Ben.Marsh

	UBT: Remove .NET framework assembly paths for C++ modules.

Change 3150640 on 2016/10/04 by Ben.Marsh

	UBT: Move functionality for finding headers into its own class (CPPHeaders), rather than hijacking CPPEnvironment.

Change 3152101 on 2016/10/05 by Ben.Marsh

	UBT: Always force include PCHs, even if they're the first header in the file. Clang already has to work this way, as do shared pchs on Windows, and it's simpler to use the same system universally.

Change 3153231 on 2016/10/06 by Ben.Marsh

	UBT: Write arguments for the Visual C++ toolchain to the response file on separate lines, for easier debugging.

Change 3154868 on 2016/10/07 by Richard.Fawcett

	Ensure that child instances of UAT invoked by BuildGraph honor p4 and submit properties

Change 3155017 on 2016/10/07 by Ben.Marsh

	Lightmass: Add a prefix to all SSE macros to distinguish from overlapping implementations in Core.

Change 3156159 on 2016/10/08 by Ben.Marsh

	UBT: Rewrite code to generate/consume shared PCHs in a way that is compatible with Clang platforms (and which doesn't require supressing warnings on Windows)

	* Per-module defines are now set via a generated header rather than the command line (Definitions.<ModuleName>.h). This header is force-included AFTER the shared PCH header.
	* Shared PCHs are now built using the public compile environment only, eliminating situations where private include paths and definitions from the first module using the shared PCH were being passed to the compiler.
	* Shared PCHs can now be generated in separate optimized/unoptimized variants if necessary due to per-module optimization settings
	* Names of shared PCHs now follow the pattern "SharedPCH.<ModuleName>.h" to distinguish from private PCHs
	* Enabled shared PCHs for Mac, iOS, Linux.

	Reduces UE4Editor Mac build times by ~25% (~21m vs ~28m).

Change 3163040 on 2016/10/14 by Ben.Marsh

	UBT: Add an option to export a target's properties, modules, and binaries for external analyzers (-jsonexport and -jsonexport=<filename>). Also add an option to specifically supress building a target (-skipbuild).

Change 3165028 on 2016/10/17 by Ben.Marsh

	PR #2799: Set Windows exe properties from ini (Contributed by projectgheist)

Change 3165076 on 2016/10/17 by Ben.Marsh

	Build: Remove run conditions from agent setup steps. Should fix issues where an agent doesn't run because the preconditions for one of its nodes failed, but which doesn't prevent another node from running. (Also: being able to see an expanded list of job steps is a useful feature, and it doesn't take much time to run if it's a no-op).

Change 3167773 on 2016/10/19 by Ben.Marsh

	BuildGraph: More flexible <Copy> task for BuildGraph. Now takes "From" and "To" attributes, which may take individual files as well as wildcards, and permits renaming as part of copies. Separate "Files" attribute is still supported, but is now optional, and is used to filter the list of source files.

	Examples, taken from Engine/Build/Graph/TagsAndFiles.xml:

	    <!-- Source and destination are treated as directories due to presence of 'Files' attribute -->
	    <Copy Files="..." From="Engine/Build" To="Output0" />

	    <!-- Single file -->
	    <Copy From="Engine/Build/Build.version" To="Output1/Output.version" />

	    <!-- Output treated as directory -->
	    <Copy From="Engine/Build/.../*.txt" To="Output2" />
	    <Copy From="Engine/Build/.../*.txt" To="Output3/" />
	    <Copy From="Engine/Build/....txt" To="Output4" />

	    <!-- With rename -->
	    <Copy From="Engine/Build/....txt" To="Output5/....old" />

	    <!-- Copy only subdirectories of Engine/Build, but maintain directory structure -->
	    <Copy From="Engine/Build/*/....txt" To="Output6/" />

	    <!-- Match bat*/.../*.txt -->
	    <Copy From="Engine/Build/bat...txt" To="Output7" />

	    <!-- Copy only PS4 subfolders -->
	    <Copy From="Engine/Build/.../ps4/..." To="Output8" />

Change 3167852 on 2016/10/19 by Ben.Marsh

	BuildGraph: Add a <Move> task, which can move or rename files using the same syntax as the <Copy> task.

Change 3168034 on 2016/10/19 by Ben.Marsh

	BuildGraph: Add support for multi-line properties, declared inside a <Property> tag.

	Mutli-line properties can be useful for making lists for filtering. Each non-empty line inside the property tag is stripped of leading and trailing whitespace, and appended to the property value separated by a semicolon. For example, the following two properties have an identical value:

	    <Property Name="Prop1" Value="One;Two;Three;One hundred"/>

	    <Property Name="Prop2">
	        <!-- Some numbers -->
	        One
	        Two
	        Three

	        <!-- Values are delimited by newlines; spaces within a line are preserved -->
	        One hundred
	    </Property>

Change 3169256 on 2016/10/20 by Ben.Marsh

	UBT: Fix chronic algorithmic complexity of StableTopologicalSort(). Was recursively building lists of dependencies for each module, scanning linearly to find dependencies, and only caching pairs of modules being checked. Now caches a flat set of dependencies for each module.

	Previously took >10s to run on my machine, now takes < 0.2s.

Change 3169271 on 2016/10/20 by Ben.Marsh

	BuildGraph: Modify implementation of task merging. Instead of combining multiple tasks together, allow any task to supply a proxy executor instance deriving from ITaskExecutor, to which other tasks can be added. Keeps the in-memory representation closer to the script representation, and makes it easier to re-export preprocessed scripts and do in-memory analysis of the graph.

Change 3179662 on 2016/10/31 by Matthew.Griffin

	Fixed last remaining issues with building QAGameEditor as a monolithic executable
	Added a node for building mono editor in CIS so that we catch any new issues
	#jira UE-32712

Change 3184857 on 2016/11/03 by Matthew.Griffin

	Removing CopyVisualizers now that UE4.natvis is included in solution and we're not supporting VS2013
	#jira UE-35628

Change 3187232 on 2016/11/04 by Ben.Marsh

	UGS: Fix editor .target file being deleted when doing a content-only sync, and causing a prompt to rebuild the editor when trying to launch.

Change 3188413 on 2016/11/07 by Matthew.Griffin

	Added Switch to Installed Build so that it matches pattern for other confidential platforms

Change 3188426 on 2016/11/07 by Matthew.Griffin

	Changed BuildPlugin command so that it reads from installed platform data to get list of target platforms
	Some hard coding remains so as to not change functionality for code users, Mac only built on Mac etc.
	#jira UE-36205

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3191372 on 2016/11/09 by Ben.Marsh

	UGS: Ensure project config file remains valid even if sync is aborted due to files needing resolve. Prevents user configuration from not being applied onto build steps.

Change 3191381 on 2016/11/09 by Ben.Marsh

	UGS: Allow Ctrl-A to select all in the log window.

	#jira UE-38378

Change 3193388 on 2016/11/10 by Ben.Marsh

	Change installed plugins to be disabled by default, but display a notification in the editor the first time you load a project with a new one. Installed plugins which are new to this project will be adorned with a "NEW!" badge in the plugin browser.

Change 3193677 on 2016/11/10 by Ben.Marsh

	UBT: Remove global static instance of ActionGraph. Instance is now instantiated and passed around to functions that require it.

Change 3193942 on 2016/11/10 by Ben.Marsh

	UBT: Store the include cache as an instanced object on each target, rather than looking up separate caches in a global variable.

Change 3198296 on 2016/11/15 by Ben.Marsh

	UBT: Include .modules files in target receipts and manifests.

Change 3200284 on 2016/11/16 by Matthew.Griffin

	Move Sample game projects into a different solution folder like Templates

Change 3205168 on 2016/11/19 by Ben.Marsh

	Update strings to refer to Visual Studio "15" as Visual Studio 2017.

Change 3206333 on 2016/11/21 by Ben.Marsh

	Merge fix to detection of VS2017 RC from 4.14 release.

Change 3206786 on 2016/11/21 by Ben.Marsh

	BuildGraph: Spawn child processes to embed source server information into PDB files in parallel.

Change 3207588 on 2016/11/22 by Ben.Marsh

	UBT: Reduce the number of resource files needed to compile local builds. ModuleVersionResource.rc.inl is now always only compiled once, and linked into each output binary. The default PCLaunch.rc file is also only compiled once, expect when making formal builds (where -formal is passed on the command line, or a changelist is set in Build.version). This ensures that the OriginalFileName metadata is still set for output binaries in binary releases.

[CL 3209331 by Ben Marsh in Main branch]
2016-11-23 15:34:07 -05:00
Ben Zeigler
24a8d60723 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None

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

Change 3173153 on 2016/10/25 by Graeme.Thornton

	Pak signing changes
	 - Integrated into EDL loader
	 - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.

Change 3173531 on 2016/10/25 by Steven.Hutton

	Removing unused j query packages.

Change 3174743 on 2016/10/26 by Gil.Gribb

	UE4 - fixed COTF with EDL

Change 3177896 on 2016/10/28 by Steve.Robb

	TSharedPtr and TSharedRef aliasing constructors.
	Removal of static_asserts for TSharedPtr<UObject>.

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

	Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.

Change 3181382 on 2016/11/01 by Steve.Robb

	Visual Studio debugger visualizers for delegates.

Change 3182738 on 2016/11/02 by Graeme.Thornton

	Re-enable signed archive reader so non-pakpreacher based reads still get signature checked

Change 3183420 on 2016/11/02 by Steve.Robb

	Fix to TIsZeroConstructType for TScriptDelegate.

Change 3184872 on 2016/11/03 by Robert.Manuszewski

	Fixing memory stomps in SSL certificate initialization (found with mallocstomp)

Change 3184873 on 2016/11/03 by Robert.Manuszewski

	Adding thread safety checks to async loading code

Change 3185535 on 2016/11/03 by Ben.Zeigler

	Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.

Change 3186636 on 2016/11/04 by Graeme.Thornton

	AES encryption integrated into EDL system
	Pak signing and AES encryption now configurable by ini files rather than magical text files

Change 3186637 on 2016/11/04 by Graeme.Thornton

	Configured pak signing and encryption in ShooterGame for reference

Change 3186639 on 2016/11/04 by Graeme.Thornton

	Encryption changes for Orion
	* Move pak signing keys into new INI format
	* Add AES key and enable INI file encryption

Change 3186661 on 2016/11/04 by Graeme.Thornton

	Change unrealpak command line params to accept AES key as a separete parameter

Change 3186670 on 2016/11/04 by Robert.Manuszewski

	Adding a null check before using a package pointer in Linker code

	#jira UE-38237

Change 3186775 on 2016/11/04 by Graeme.Thornton

	Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
	 - PS4 and Mac fixes. Other platforms might need fixing too!

Change 3186823 on 2016/11/04 by Graeme.Thornton

	Fixed an incorrect size check in the EDL pak signing code

Change 3186925 on 2016/11/04 by Graeme.Thornton

	Allow UnrealPak to read encryption settings from project ini files

Change 3189885 on 2016/11/08 by Graeme.Thornton

	Static analysis warning fix

Change 3190015 on 2016/11/08 by Robert.Manuszewski

	Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread

Change 3190253 on 2016/11/08 by Chris.Wood

	Improved MDD performance for on the CR server.
	[UE-37566] - Improve MDD performance on CR server

	Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
	Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.

Change 3192993 on 2016/11/10 by Robert.Manuszewski

	Thread Heartbeat will no longer report the same hang multiple times.

Change 3193111 on 2016/11/10 by Robert.Manuszewski

	Minor change in the condition that detects the same hangs - allow the same callstacks from different threads

Change 3193168 on 2016/11/10 by Steve.Robb

	TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.

Change 3193171 on 2016/11/10 by Steve.Robb

	Easier debugging of FPendingRegistrantInfo map.

Change 3193188 on 2016/11/10 by Steve.Robb

	TAutoPointer deprecated.

Change 3193796 on 2016/11/10 by Graeme.Thornton

	Fix pak creation failure when no pak signing keys are supplied

Change 3194524 on 2016/11/11 by Graeme.Thornton

	Another static analysis warning fix

Change 3195119 on 2016/11/11 by Steve.Robb

	TAutoPtr deprecated.
	Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
	Some large headers moved into .cpp files.

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

	UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.

Change 3196878 on 2016/11/14 by Steve.Robb

	TScopedPointer deprecated.

Change 3198061 on 2016/11/15 by Steve.Robb

	Class array is no longer regenerated when saving UClasses.

Change 3198065 on 2016/11/15 by Robert.Manuszewski

	Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.

Change 3198199 on 2016/11/15 by Robert.Manuszewski

	Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.

Change 3199954 on 2016/11/16 by Graeme.Thornton

	Removing USING_SIGNED_CONTENT

Change 3200221 on 2016/11/16 by Chris.Wood

	CrashReportProcess code cleanup - removing unused using directives

Change 3200232 on 2016/11/16 by Chris.Wood

	Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
	UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives

	InvalidCrashReports now saved to S3 instead of local folder
	Removed option tosync MinidumpDiagnostics from Perforce
	Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
	Added improved logging to Slack with option to monitor MDD performance
	Added hourly log folders to MDD logs
	Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)

Change 3200382 on 2016/11/16 by Robert.Manuszewski

	Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).

Change 3200562 on 2016/11/16 by Gil.Gribb

	UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.

Change 3201093 on 2016/11/16 by Ben.Zeigler

	#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
	Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.

Change 3201736 on 2016/11/17 by Steve.Robb

	Strtoi64 platform and TCString functions.

	#fyi robert.manuszewski

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

	Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.

	Commandline:
	p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp

	#fyi robert.manuszewski

Change 3203757 on 2016/11/18 by Robert.Manuszewski

	Removing debug code from async loading code.

Change 3203927 on 2016/11/18 by Robert.Manuszewski

	Fixing comments in the async loading code.

Change 3204851 on 2016/11/18 by Steve.Robb

	Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.

Change 3204854 on 2016/11/18 by Steve.Robb

	UEnumProperty.

Change 3205027 on 2016/11/18 by Ben.Zeigler

	Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
	Add Get() to TSubclassOf so it matches our other wrappers
	Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
	Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf

Change 3206334 on 2016/11/21 by Ben.Zeigler

	#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
	#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
	Cook finishes but game is still crashing in some cases, so I might adjust this after other testing

Change 3206353 on 2016/11/21 by Ben.Zeigler

	Fix EnumProperty to handle EDL preload dependencies properly

Change 3206625 on 2016/11/21 by Ben.Zeigler

	Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient

Change 3206937 on 2016/11/21 by Ben.Zeigler

	#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
	Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
	Correctly save enum tag for enum properties, it was being set but not serialized

Change 3207002 on 2016/11/21 by Ben.Zeigler

	#jira UE-38799
	Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
	Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
	If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
	We should generally outlaw non-transient objects with transient outers, it does not do what people expect.

Change 3207032 on 2016/11/21 by Ben.Zeigler

	#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do

[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Leslie Nivison
29007ff202 Stripping out inaccurate/easily misconstrued .tps info in preparation for exposing this to licensees
#rb none
#lockdown Nick.Penwarden

[CL 3154391 by Leslie Nivison in Main branch]
2016-10-07 00:40:14 -04:00
Ben Marsh
63ab3d83c2 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3145834)
#lockdown Nick.Penwarden
#rb none

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

Change 3129636 on 2016/09/17 by Ben.Marsh

	UBT: Add a "-nolink" option which allows compiling object files without linking them into an executable. Useful for non-unity builds, which take a very long time to link or fail on some platforms due to command lines being too long, PDB file having too many records, etc...

Change 3129825 on 2016/09/18 by Ben.Marsh

	UBT: Don't force Linux to build in unity; it seems to build fine without.

Change 3129965 on 2016/09/19 by Matthew.Griffin

	Duplicating CL#3129960 from Release-4.13
	Exclude NetworkProfiler when building CS tools for Linux

Change 3130653 on 2016/09/19 by Ben.Marsh

	UHT: Fix missing "Error:" prefix in output log, causing messages to be ignored for failure emails.

Change 3130662 on 2016/09/19 by Ben.Marsh

	EC: Prevent UHT failures from being reported twice, and remove the need for special case to show UHT summary output.

Change 3131956 on 2016/09/20 by Matthew.Griffin

	Addtional fixes for compiling Editor as a monolithic executable
	Change so monolithic editor is output to Project Binaries directory
	Removed duplicated ReturnContainerIndexFromChannelName function
	Only check for out of date modules for non monolithic editor
	Don't define GIsGameAgnosticExe or PER_MODULE_BOILERPLATE for monolithic editor, done elsewhere
	Correct IMPLEMENT_MODULE for QuadricMeshReduction and AudioCapture modules

Change 3132112 on 2016/09/20 by Ben.Marsh

	Docs: Remove reference to UBT environment variables from configuration docs.

Change 3132815 on 2016/09/20 by Ben.Marsh

	AutomationTool: Delete GUBP. Everything now uses BuildGraph!

Change 3132871 on 2016/09/20 by Ben.Marsh

	UBT: Remove GUBP callbacks from TargetRules instances.

Change 3132987 on 2016/09/20 by Ben.Marsh

	Allow public distribution of the compiled SimplygonMeshUtilities binaries.

Change 3133974 on 2016/09/21 by Ben.Marsh

	Allow public distribution of the SimplygonSwarm module. Requires a separate Simplygon DLL (still in a NotForLicensees folder) to function correctly.

Change 3137228 on 2016/09/22 by Ben.Marsh

	UAT: Merging fix to parallel executor on Linux from 4.13 branch.

Change 3139783 on 2016/09/26 by Matthew.Griffin

	Fixed Xbox support for Installed Builds
	Corrected typo in Xbox+PS4 filter creation and added XboxOnePackageNameUtil.exe
	Added Xbox versions of ThirdParty libs that hadn't been specified until now

Change 3141721 on 2016/09/27 by Ben.Marsh

	Remove declaration of circular references between FbxAutomationTestBuilder and LevelEditor; causes LevelEditor to be built differently if plugin is enabled, which results in shared build products being invalidated by switching between games.

Change 3141789 on 2016/09/27 by Ben.Marsh

	UBT: Retain the ".suppressed" part of output file names when building import libraries for circularly referenced modules.

Change 3141805 on 2016/09/27 by Ben.Marsh

	UBT: Allow reusing build ids in version manifests as long as we aren't modifying any engine binaries (building more or fewer is permitted), and merge manifests together if possible. Allows building the entire solution through Visual Studio, when some projects may build more modules than another.

Change 3141980 on 2016/09/27 by Ben.Marsh

	EC: Include a "Steps to Reproduce" section in failure emails, which gives the command line to run to execute the step.

Change 3143996 on 2016/09/28 by Ben.Marsh

	BuildGraph: Fix exported job steps having dependencies on nodes behind triggers, causing jobs to never terminate.

Change 3144696 on 2016/09/29 by Matthew.Griffin

	Adding -NoSharedPCH to NonUnity build steps and split them into separate nodes for UE4Editor and UE4Game
	Fixed redefinition of __WINDOWS_DS__

Change 3144931 on 2016/09/29 by Ben.Marsh

	Core: Changes to search paths for DLL loading.

	* The default binaries directory is now added to the list of search paths. Normally LoadLibrary finds these without needing to preload them, but plugins can change the global search paths by calling SetDefaultDllDirectories().
	* Only the top entry of the DLL directory stack is searched. There is typically only one directory here anyway, but the intent is more consistent with the operation of SetDllDirectory().
	* Resolved import paths are converted to absolute, so the resulting calls to LoadLibrary will not be influenced by calls to SetDefaultDllDirectories() changing the base directory.
	* Search paths aren't de-duplicated any more. They don't overlap in practice, and it's not expensive even if they do.

Change 3144932 on 2016/09/29 by Ben.Marsh

	Vulkan: Only add vulkan-1.dll as a delay load dependency from the VulkanRHI module, otherwise it can be added to the linker command-line 20 or more times.

Change 3145011 on 2016/09/29 by Ben.Marsh

	Core: Include the compatible changelist in version manifests, so local builds after syncing with UGS will have the correct compatible changelist numbers post-hotfix.

[CL 3146509 by Ben Marsh in Main branch]
2016-09-30 08:50:19 -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
Gil Gribb
2cf40e541e Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none

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

Change 3072947 on 2016/08/01 by Uriel.Doyon

	Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
	#review-3072934 @marcus.wassmer
	#jira UE-34045

Change 3073301 on 2016/08/02 by Ben.Woodhouse

	Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
	https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
	#jira UE-34052

Change 3073689 on 2016/08/02 by Ben.Woodhouse

	Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)

	Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).

	Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)

	Tested/profiled on PC, PS4

Change 3074666 on 2016/08/02 by Daniel.Wright

	Fixed stationary skylight brightness

Change 3074667 on 2016/08/02 by Daniel.Wright

	Fixed r.ReflectionEnvironmentLightmapMixing

Change 3074687 on 2016/08/02 by Daniel.Wright

	Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game.  Blutilities can be used to do blueprint rendering in the editor.

Change 3075241 on 2016/08/03 by Rolando.Caloca

	DR - Fix linux compile issue & static analysis warning

Change 3075746 on 2016/08/03 by Daniel.Wright

	Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod

Change 3075783 on 2016/08/03 by Ryan.Brucks

	#code.review Marcus.Wassmer

	Added two material nodes that return Atmospheric Light Vector and Light Direction using:

	View.AtmosphericFogSunColor
	View.AtmosphericFogSunDirection

	Nodes are called:
	AtmosphericLightVector
	AtmosphericLightColor

	Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.

Change 3075969 on 2016/08/03 by Uriel.Doyon

	Material GUIDs are not updated anymore when parents or textures change.
	Lighting now uses a hash built from the list of parents, textures and shader functions.
	#review-3072980 @marcus.wassmer @daniel.wright

Change 3076116 on 2016/08/03 by Ryan.Brucks

	#code.review marcus.wassmer
	Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"

Change 3076456 on 2016/08/03 by Rolando.Caloca

	DR - Fix geometry shader gl_Layer for SPIR-V

Change 3076730 on 2016/08/03 by Uriel.Doyon

	Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
	#review-3072984 @marcus.wassmer

Change 3077616 on 2016/08/04 by Daniel.Wright

	Planar reflection show flags can now be edited

Change 3077621 on 2016/08/04 by Daniel.Wright

	Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting

Change 3077792 on 2016/08/04 by Daniel.Wright

	Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight

Change 3077799 on 2016/08/04 by Daniel.Wright

	Skip RF_ArchetypeObject for reflection captures

Change 3077876 on 2016/08/04 by Marc.Olano

	Noise material perf improvements

	Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.

	Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)

Change 3077884 on 2016/08/04 by Daniel.Wright

	Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them

Change 3078994 on 2016/08/05 by Simon.Tovey

	Fix for UE-34241
	Scene proxy ptr was being cached during a downcast.
	Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
	I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.

Change 3079162 on 2016/08/05 by Ben.Woodhouse

	Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
	#jira UE-34091

Change 3079613 on 2016/08/05 by Daniel.Wright

	New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
	New blueprint function CreateRenderTarget2D

Change 3079708 on 2016/08/05 by Uriel.Doyon

	Fixed crash when building texture streaming on some levels.

Change 3079795 on 2016/08/05 by Uriel.Doyon

	Fixed issue with instanced static meshes when building texture streaming.
	Fixed typo with func "GetNumTextureStreamingPrimitives"

Change 3079806 on 2016/08/05 by Uriel.Doyon

	Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
	New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
	(according to GPoolSizeVRAMPercentage)
	#review-3074662 @marcus.wassmer

Change 3082698 on 2016/08/09 by Daniel.Wright

	Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script

Change 3082699 on 2016/08/09 by Daniel.Wright

	Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for

Change 3083909 on 2016/08/10 by Olaf.Piesche

	#jira UE-34106
	#jira UE-32784
	#jira UE-31198

	Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)

Change 3084645 on 2016/08/10 by Olaf.Piesche

	#jira UE-30398

	Fix offset added to particle collision locations.

Change 3084709 on 2016/08/10 by Daniel.Wright

	Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
	Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
	Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()

Change 3084783 on 2016/08/10 by Rolando.Caloca

	DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
	#jira UE-34510

Change 3084958 on 2016/08/10 by Daniel.Wright

	Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards

Change 3086023 on 2016/08/11 by Marcus.Wassmer

	Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
	#test none

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

	Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
	#jira UE-34561

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

	DR - Upgrade glslang to 1.0.21.1
	- Added some more debug output

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

	DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)

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

	DR - vk - Fix for SRGB; support for mip texture views

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

	TextureRenderTarget2D's can now be up to 8192^2.  Anything over 2048 pops up an 'are you sure' dialog.

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

	DR - vk - Minor renaming in prep for merge

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

	DR - vk - More minor cleanup

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

	Check material function input types directly, no need to traverse connected graph.
	#jira UE-32134

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

	DR - vk - Fix RT view to use 1 mip
	Fix depth buffer component swizzle

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

	DFAO and RTDF shadows are enabled in High and Epic scalability settings by default

Change 3088988 on 2016/08/15 by Rolando.Caloca

	DR - Add Accessors

Change 3089104 on 2016/08/15 by Olaf.Piesche

	#jira UE-34241

	Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated

Change 3089208 on 2016/08/15 by Daniel.Wright

	Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
	* Fixes WorldPosition in downsampled translucency
	* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct.  Currently used by global distance field, downsampled separate translucency.
	* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res

Change 3089209 on 2016/08/15 by Daniel.Wright

	Fixed atmospheric fog on translucency

Change 3089457 on 2016/08/15 by Daniel.Wright

	Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass.  The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.

Change 3089549 on 2016/08/15 by Daniel.Wright

	UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds

Change 3089703 on 2016/08/15 by Daniel.Wright

	Custom expression fixup for View.RenderTargetSize

Change 3090546 on 2016/08/16 by Daniel.Wright

	Hopeful fix for recycled snapshot view crash

Change 3091202 on 2016/08/16 by Daniel.Wright

	Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view

[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
Max Chen
27e1dc3ed0 Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646)
#lockdown Nick.Penwarden
#rb none

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

Change 2840895 on 2016/01/23 by Max.Chen

	Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu.

Change 2937981 on 2016/04/08 by Max.Chen

	Sequencer: Refactored GetKeyHandles to take a time range for filtering keys

Change 3051834 on 2016/07/15 by Max.Chen

	Sequencer: Adjust tooltips for autokeying and key all to be more descriptive.

	#jira UE-33081

Change 3053057 on 2016/07/17 by Max.Chen

	Sequencer: String track editor

	#jira UE-32141

Change 3053083 on 2016/07/18 by Max.Chen

	Sequence Recorder: Add an option to maximize the viewport when starting recording.

Change 3053084 on 2016/07/18 by Max.Chen

	Added UnmapAction to FUICommandList

	Sequencer uses this to re-hook into the level editor commands without issue when it re-opens.

Change 3053085 on 2016/07/18 by Max.Chen

	Sequence Recorder: Display name of next sequence in sequence recorder

	Also display on-screen during countdown

Change 3053086 on 2016/07/18 by Max.Chen

	Sequence Recorder: Improved recording indicator icon, text & timer

	Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence.

Change 3053089 on 2016/07/18 by Max.Chen

	Sequencer: Added hotkey for recording selected actors

	Alt+R now records selected actor into sequencer.

Change 3055488 on 2016/07/19 by Max.Chen

	Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer

Change 3056783 on 2016/07/19 by Max.Preussner

	PS4Media: Attempting to fix playlist advance on PS4 (UE-33481)

	#jira UE-33481

[CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
Gil Gribb
93047290bb Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480)
#lockdown Nick.Penwarden
#rb none

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

Change 3045482 on 2016/07/11 by Zabir.Hoque

	DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall.

Change 3045929 on 2016/07/12 by Simon.Tovey

	Removing some deprecated node types from Niagara

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

	D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types)

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

	Fixed typo in material input name.
	#jira UE-5575

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

	DR - Fix GL4 shutdown
	#jira UE-32799

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

	DR - vk - Fix NumInstances=0

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

	DR - vk - Added flat to uint layouts per glslang
	- Fix bad extension on dumped shaders

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

	DR - vk - Fix check when not using color RT
	- Added queue submit & present counters

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

	Live GPU stats
	A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording.
	Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion)
	The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing)
	Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled
	Tested on PC, XB1, PS4

Change 3046128 on 2016/07/12 by Olaf.Piesche

	Max draw distance and fade range for lights, requested by JonL

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

	PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden)

Change 3046223 on 2016/07/12 by Luke.Thatcher

	Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components.

	#jira UE-32345

Change 3046228 on 2016/07/12 by Marc.Olano

	Add Voronoi noise to Noise material node.

	Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each.

	Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise.

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

	DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL)

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

	DR - Fix static analyisis
	warning C6326: Potential comparison of a constant with another constant.

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

	DR - Fix the previous fix

Change 3046731 on 2016/07/12 by Marc.Olano

	Fix typo in shader random number constant: repeated extra digit made it too big.

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

	The texture streaming manager now keeps a set of all valid textures.
	This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp.
	#jira UE-33048

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

	DR - vk - Added create image & renderpass dump

Change 3046845 on 2016/07/12 by John.Billon

	Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations.

Change 3047023 on 2016/07/12 by Olaf.Piesche

	Niagara:
	-a bit of cleanup
	-now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes
	-removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants
	-some code simplification
	-removed some deprecated structs and code used only by old content

Change 3047052 on 2016/07/12 by Zabir.Hoque

	Unshelved from pending changelist '3044062':

	PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke)

Change 3047727 on 2016/07/13 by Luke.Thatcher

	Fix Scene Capture Components only updating every other frame.
	#jira UE-32581

Change 3047919 on 2016/07/13 by Olaf.Piesche

	CMask decode, use in deferred decals, for PS4

Change 3047921 on 2016/07/13 by Uriel.Doyon

	"Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales.
	Also, several texture messages are packed on the same line if they relate to the same material.

Change 3047952 on 2016/07/13 by Rolando.Caloca

	DR - vk - Initial prep pass for separating combined images & samplers

Change 3048648 on 2016/07/13 by Marcus.Wassmer

	Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame

Change 3049058 on 2016/07/13 by Rolando.Caloca

	DR - vk - timestamps

Change 3049725 on 2016/07/14 by Marcus.Wassmer

	Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection

Change 3049742 on 2016/07/14 by Rolando.Caloca

	DR - Fix warning

Change 3049902 on 2016/07/14 by Rolando.Caloca

	DR - Fix typo

Change 3050345 on 2016/07/14 by Olaf.Piesche

	UE-23925
	Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit).

Change 3050409 on 2016/07/14 by Olaf.Piesche

	Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash

Change 3050809 on 2016/07/14 by Rolando.Caloca

	DR - vk - Remove redundant validation layers

Change 3051319 on 2016/07/15 by Ben.Woodhouse

	Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection
	The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized
	#jira UE-31976

Change 3051692 on 2016/07/15 by Rolando.Caloca

	DR - vk - Enable RHI thread by default

Change 3052103 on 2016/07/15 by Uriel.Doyon

	Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting).
	#jira UE-32765

Change 3052140 on 2016/07/15 by Rolando.Caloca

	DR - vk - Fix shader snafu

Change 3052495 on 2016/07/15 by Rolando.Caloca

	DR - Fix for Win32 compile
	#jira UE-33349

Change 3052536 on 2016/07/15 by Uriel.Doyon

	Fixed texture streaming overbudget warning when using per texture bias.

[CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
Gil Gribb
e581ead572 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#lockdown Nick.Penwarden
#rb none

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

Change 3028958 on 2016/06/27 by Ben.Woodhouse

	Fix for perf issue with GetSingleFinalDataConst

	This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.

	Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)

	#jira UE-26179

Change 3029401 on 2016/06/27 by Rolando.Caloca

	DR - More vk logging

Change 3029549 on 2016/06/27 by Uriel.Doyon

	Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
	New options "r.Streaming.UsePerTextureBias" that assign a  bias between 0 and MipBias to each texture in order to fit in budget.
	Fixed crash when disabling texture streaming.
	Fixed issue when disabling texture streaming that would make current loaded texture low res.
	New logic to prevent retrying to cancel a streaming request more than once.
	Pending load request of one extra mip will not be cancelled anymore.
	Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
	#jira UE-32197
	#jira UE-31102

Change 3029837 on 2016/06/27 by David.Hill

	Fixed Shutter SM4 not working when using compute shader eye-adaptation
	#jira UE-32443

	The default eye adaptation value was missing.

Change 3030039 on 2016/06/27 by Uriel.Doyon

	Fix for crash when landscape materials are used in the Texture Streaming Build.
	#jira UE-32196

Change 3030081 on 2016/06/27 by Uriel.Doyon

	Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.

Change 3030401 on 2016/06/28 by Ben.Woodhouse

	Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
	#jira UE-31238

Change 3030607 on 2016/06/28 by Marc.Olano

	Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.

Change 3030627 on 2016/06/28 by Ben.Woodhouse

	Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).

Change 3030809 on 2016/06/28 by Marc.Olano

	Noise shader function rename & perf improvement.

	Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.

Change 3030850 on 2016/06/28 by Marc.Olano

	Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.

Change 3030981 on 2016/06/28 by Rolando.Caloca

	DR - vk - More logging

Change 3031056 on 2016/06/28 by Marc.Olano

	Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map

Change 3031398 on 2016/06/28 by Benjamin.Hyder

	updating TM-Shadermodels (correcting Mt Rushmore)

Change 3031441 on 2016/06/28 by Marc.Olano

	Use only float version of BBS shader rand function for ES2

Change 3031463 on 2016/06/28 by John.Billon

	Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
	#Jira UE-32020

Change 3031512 on 2016/06/28 by Zabir.Hoque

	Relax clear flags for DX12 RHIs.
	Properly flush pending commands before residency is updated.

Change 3031517 on 2016/06/28 by Rolando.Caloca

	DR - vk logging using r.Vulkan.DumpLayer

Change 3032359 on 2016/06/29 by Allan.Bentham

	Fix mobile shadows crash.

Change 3032431 on 2016/06/29 by Gil.Gribb

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

Change 3032757 on 2016/06/29 by Uriel.Doyon

	Fixed global mip bias being applied twice following integration with main.

Change 3033121 on 2016/06/29 by Rolando.Caloca

	DR - vk - Logging

Change 3033529 on 2016/06/29 by Daniel.Wright

	Null world guard on UReflectionCaptureComponent::ReadbackFromGPU

Change 3033668 on 2016/06/29 by Uriel.Doyon

	Grouped texture streaming settings to simplify logic.
	New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
	#jira UE-32118

Change 3034403 on 2016/06/30 by Rolando.Caloca

	DR - Shorten dumped shader debug strings

Change 3034475 on 2016/06/30 by Rolando.Caloca

	DR - Missing logging

Change 3034722 on 2016/06/30 by Uriel.Doyon

	Improved StreamingAccuracy viewmodes with alpha test and translucent materials
	#jira UE-32656

Change 3034797 on 2016/06/30 by Rolando.Caloca

	DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again

Change 3034799 on 2016/06/30 by Rolando.Caloca

	DR - vk - missed file

Change 3034905 on 2016/06/30 by Rolando.Caloca

	DR - vk - Fix for render passes being reused with wrong dimensions

Change 3035503 on 2016/07/01 by Simon.Tovey

	Async compute version of translucency lighting volume clear.

Change 3035577 on 2016/07/01 by Marc.Olano

	Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.

Change 3035587 on 2016/07/01 by Ben.Woodhouse

	Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)

	#jira UE-32709

Change 3035618 on 2016/07/01 by Olaf.Piesche

	Asset fixes

Change 3035692 on 2016/07/01 by Rolando.Caloca

	DR - vk - Deferred deletion queue

Change 3035808 on 2016/07/01 by Rolando.Caloca

	DR - vk - Stat for deletion time, fixed some logging

Change 3036012 on 2016/07/01 by John.Billon

	Alpha Coverage Preservation
	-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
	#Jira UE-31986

Change 3036041 on 2016/07/01 by Rolando.Caloca

	DR - vk - Fix for 32bit

Change 3036433 on 2016/07/01 by Rolando.Caloca

	DR - More vk logging

Change 3036935 on 2016/07/04 by Simon.Tovey

	Removing Data Objects

Change 3036942 on 2016/07/04 by Ben.Woodhouse

	Fix for decal rendering resource leak

	The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.

	The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer

	This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.

	#jira UE-32602

Change 3037563 on 2016/07/05 by Chris.Bunner

	HLOD self-shadowing in baked lighting fix.

Change 3037640 on 2016/07/05 by Marcus.Wassmer

	Fix bug in USE_GPU_OVERWRITE_CHECKING

Change 3037927 on 2016/07/05 by Rolando.Caloca

	DR - Fix touch pads not showing on Vulkan
	#jira UE-32062

Change 3038085 on 2016/07/05 by Chris.Bunner

	HLOD dynamic shadowing support.
	#jira UE-22627

Change 3038209 on 2016/07/05 by Rolando.Caloca

	DR - vk - Android compile fix

Change 3038644 on 2016/07/05 by Uriel.Doyon

	Added LerpRange that allows to lerp between two rotators without taking the sortest path.

Change 3038820 on 2016/07/05 by Uriel.Doyon

	Selecting streaming accuracy view modes will not automatically generate missing visualization data.

Change 3039332 on 2016/07/06 by John.Billon

	-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
	#Jira UE-31710

Change 3039454 on 2016/07/06 by Simon.Tovey

	Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
	Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.

	Plus a few other edits to remove Curves/DataObjects that I missed in last CL.

Change 3039517 on 2016/07/06 by Gil.Gribb

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

Change 3039587 on 2016/07/06 by Rolando.Caloca

	DR - vk logging, submit counter

Change 3039603 on 2016/07/06 by Rolando.Caloca

	DR - Allow more samplers on GL4
	#jira UE-32628
	#jira UE-32744

Change 3039661 on 2016/07/06 by Daniel.Wright

	Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
	Skylight occlusion tint now applies to specular
	Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor

Change 3039960 on 2016/07/06 by Daniel.Wright

	Forward renderer initial implementation
	* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
	* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
	* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
	* A full Z Prepass is forced with forward shading.  This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
	* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
	* GBuffer render targets are still allocated
	* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
	* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
	* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures

Change 3040050 on 2016/07/06 by Daniel.Wright

	Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps

Change 3040160 on 2016/07/06 by Daniel.Wright

	Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space

Change 3040163 on 2016/07/06 by Rolando.Caloca

	DR - vk - More logging

Change 3040257 on 2016/07/06 by Daniel.Wright

	Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early

Change 3040316 on 2016/07/06 by Daniel.Wright

	PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection.  Fix from licensee

Change 3040361 on 2016/07/06 by Daniel.Wright

	Fixed TexCreate_UAV being used on translucency volume textures in SM4

Change 3040402 on 2016/07/06 by Rolando.Caloca

	DR - vk - Make host mem accesses coherent

Change 3040486 on 2016/07/06 by Daniel.Wright

	CIS fixes

Change 3041028 on 2016/07/07 by Gil.Gribb

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

Change 3041235 on 2016/07/07 by Simon.Tovey

	Compile fix for FName conflict on UProperty (hopefully).

Change 3041666 on 2016/07/07 by Daniel.Wright

	Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume

Change 3041731 on 2016/07/07 by Olaf.Piesche

	Adding Niagara to dynamically loaded module list; should fix UE-32915

Change 3042181 on 2016/07/07 by Daniel.Wright

	CIS fix

[CL 3045471 by Gil Gribb in Main branch]
2016-07-11 18:51:20 -04:00
Gil Gribb
0b102492a9 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3028916)
#lockdown nick.penwarden

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

Change 3006483 on 2016/06/08 by Simon.Tovey

	Fix for UE-31653
	Instance params from the Spawn, Required and TypeData modules were not being autopopulated.

Change 3006514 on 2016/06/08 by Zabir.Hoque

	MIGRATING FIX @ Request

	Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction.

	#CodeReview: Marcus.Wassmer, Daniel.Wright

Change 3006605 on 2016/06/08 by Rolando.Caloca

	DR - vk - Remove a bunch of unused code, clean up some todos

Change 3006969 on 2016/06/08 by HaarmPieter.Duiker

	Add #ifdefs around inverse tonemapping to avoid performance hit in normal use

Change 3007240 on 2016/06/09 by Chris.Bunner

	Made a pass at fixing global shader compile warnings and errors.

Change 3007242 on 2016/06/09 by Chris.Bunner

	Don't force unlit mode when re-loading a map.
	#jira UE-31247

Change 3007243 on 2016/06/09 by Chris.Bunner

	Cache InvalidLightmapSettings material for instanced meshes.
	#jira UE-31182

Change 3007258 on 2016/06/09 by Chris.Bunner

	Fixed refractive depth bias material parameter.

Change 3007466 on 2016/06/09 by Rolando.Caloca

	DR - Use vulkan debug marker extension directly from header

Change 3007504 on 2016/06/09 by Martin.Mittring

	added refresh button to ImageVerifier

Change 3007528 on 2016/06/09 by Martin.Mittring

	ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end
	make render more deterministic

Change 3007551 on 2016/06/09 by Chris.Bunner

	Reverted constant type change in previous commit.

Change 3007559 on 2016/06/09 by Martin.Mittring

	updated ImageValidator

Change 3007584 on 2016/06/09 by Rolando.Caloca

	DR - Fix case when not running under RD

Change 3007668 on 2016/06/09 by Rolando.Caloca

	DR - vk - Split layers/extensions by required/optional

Change 3007820 on 2016/06/09 by Rolando.Caloca

	DR - Android compile fix

Change 3007926 on 2016/06/09 by Martin.Mittring

	fixed UI scaling in ImageVerifyer

Change 3007931 on 2016/06/09 by John.Billon

	-Fixed cutouts not working for certain sized texture/subUV size combinations.
	-Also fixed issue with subUV module not being postloaded consistently on startup.
	#Jira UE-31583

Change 3008023 on 2016/06/09 by Martin.Mittring

	refactor noise code in shaders

Change 3008127 on 2016/06/09 by Zabir.Hoque

	Merging back hot fixes:

	1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS.

	2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself.

Change 3008129 on 2016/06/09 by Daniel.Wright

	Disabled r.ProfileGPU.PrintAssetSummary by default due to spam

Change 3008169 on 2016/06/09 by Rolando.Caloca

	DR - Fix mobile rendering not freeing resource when using RHI thread

Change 3008429 on 2016/06/09 by Uriel.Doyon

	Enabled texture streaming new metrics.
	Added progress bar while texture streaming is being built.
	Added debug shader validation to prevent crashes when there are uniform expression set mismatches.
	Added texture streaming build to "Build All"

Change 3008436 on 2016/06/09 by Uriel.Doyon

	Fixed shipping build

Change 3008833 on 2016/06/10 by Rolando.Caloca

	DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications
	Submitted by Allar
	PR #1864
	#jira UE-24545

Change 3008842 on 2016/06/10 by Rolando.Caloca

	DR - Remove vertex densities view mode

Change 3008857 on 2016/06/10 by John.Billon

	Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching.

Change 3008870 on 2016/06/10 by Rolando.Caloca

	DR - Rebuild hlslcc libs (missing from last merge)

Change 3008925 on 2016/06/10 by John.Billon

	Fixed r.ScreenPercentage.Editor
	#Jira UE-31549

Change 3009028 on 2016/06/10 by Daniel.Wright

	Shadow depth refactor
	* Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame
	* This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading
	* The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed
	* A large amount of duplicated code to handle each shadow type has been combined
	* Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency
	* 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures

Change 3009032 on 2016/06/10 by Daniel.Wright

	Fixed crash with simple forward shading in the material editor

Change 3009178 on 2016/06/10 by Rolando.Caloca

	DR - Add support for multi callbacks on HlslParser, added a write to string callback

Change 3009268 on 2016/06/10 by Daniel.Wright

	Warning fixes

Change 3009416 on 2016/06/10 by Martin.Mittring

	moved decal rendering code in common spot for upcoming MeshDecal rendering

Change 3009433 on 2016/06/10 by John.Billon

	Adding ensures for translucency lighting volume render target acesses.
	#Jira UE-31578

Change 3009449 on 2016/06/10 by Daniel.Wright

	Fixed whole scene point light shadow depths getting rendered redundantly

Change 3009675 on 2016/06/10 by Martin.Mittring

	fixed Clang compiling

Change 3009815 on 2016/06/10 by Martin.Mittring

	renamed IsUsedWithDeferredDecal to IsDeferredDecal
	to be more correct

Change 3009946 on 2016/06/10 by Martin.Mittring

	minor optimization

Change 3010270 on 2016/06/11 by HaarmPieter.Duiker

	Update gamut transformations used when dumping EXRs to account for bug UE-29935

Change 3011423 on 2016/06/13 by Martin.Mittring

	fixed default of bOutputsVelocityInBasePass
	#code_review:Rolando.Caloca
	#test:PC

Change 3011448 on 2016/06/13 by Martin.Mittring

	minor engine code cleanup
	#code_review:Olaf.Piesche
	#test:PC

Change 3011991 on 2016/06/13 by Daniel.Wright

	Fixed downsampled translucency crash in VR

Change 3011993 on 2016/06/13 by Daniel.Wright

	Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely'
	Mobility tooltips now reflect whether a primitive component or light component is being inspected

Change 3012096 on 2016/06/13 by Daniel.Wright

	Missing file from cl 3011993

Change 3012546 on 2016/06/14 by John.Billon

	Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled
	#Jira OR-23282

Change 3012706 on 2016/06/14 by John.Billon

	Renamed r.ContactShadows.Enable to r.ContactShadows

Change 3012992 on 2016/06/14 by Rolando.Caloca

	DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled
	- Added support for CustomPresent

Change 3013030 on 2016/06/14 by Rolando.Caloca

	DR - vk - Fix dev issue

Change 3013423 on 2016/06/14 by Martin.Mittring

	removed code redundancy for easier upcoming changes
	#test:PC

Change 3013451 on 2016/06/14 by Martin.Mittring

	removed no longer needed debug cvar
	#test:PC

Change 3013643 on 2016/06/14 by Zabir.Hoque

	Fix API only being inlined in the cpp and not avaialble in the .h

Change 3013696 on 2016/06/14 by Olaf.Piesche

	Adding missing quality level spawn rate scaling on GPU emitters

Change 3013736 on 2016/06/14 by Daniel.Wright

	Cached shadowmaps for whole scene point and spot light shadows
	* Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights)
	* Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving
	* Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached
	* Cached shadowmaps are copied each frame and then movable primitive depths composited
	* Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap)
	* 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness)
	* 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights)

Change 3014103 on 2016/06/15 by Daniel.Wright

	Compile fix

Change 3014507 on 2016/06/15 by Simon.Tovey

	Resurrected Niagara playground and moved to Samples/NotForLicencees

Change 3014931 on 2016/06/15 by Martin.Mittring

	moved r.RenderInternals code into renderer to be able to access more low level data
	#test:PC, paragon

Change 3014933 on 2016/06/15 by Martin.Mittring

	nicer text

Change 3014956 on 2016/06/15 by Daniel.Wright

	Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
	Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)

Change 3014985 on 2016/06/15 by Uriel.Doyon

	Enabled Texture Build shaders on Mac
	Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API
	Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping.
	Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets
	#jira UE-30566
	#jira UE-31098

Change 3014995 on 2016/06/15 by Rolando.Caloca

	DR - vk - Removed RHI thread wait on acquire image
	- Move Descriptor pool into context

Change 3015002 on 2016/06/15 by Rolando.Caloca

	DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine

Change 3015041 on 2016/06/15 by Martin.Mittring

	fixed ImageValidator crashing when using files that exist only in ref or test folder

Change 3015309 on 2016/06/15 by Rolando.Caloca

	DR - vk - Enable fence re-use on SDKs >= 1.0.16.0

Change 3015356 on 2016/06/15 by Rolando.Caloca

	DR - vk - Prep for staging buffer refactor

Change 3015430 on 2016/06/15 by Martin.Mittring

	minor optimization for subsurfacescatteringprofile

Change 3016097 on 2016/06/16 by Simon.Tovey

	Enabling Niagara by default in the Niagara playground

Change 3016098 on 2016/06/16 by Simon.Tovey

	Some misc fixup to get niagara working again

Change 3016183 on 2016/06/16 by Rolando.Caloca

	DR - vk - Recreate buffer view for volatile buffers

Change 3016225 on 2016/06/16 by Marcus.Wassmer

	Duplicate reflection fixes from 4.12 hotfixes.

Change 3016289 on 2016/06/16 by Chris.Bunner

	Always gather MP_Normal definitions as they can be shared by other material properties.
	#jira UE-31792

Change 3016294 on 2016/06/16 by Daniel.Wright

	Fix for ensure accessing CVarCacheWPOPrimitives in game

Change 3016305 on 2016/06/16 by Daniel.Wright

	Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been

Change 3016330 on 2016/06/16 by Daniel.Wright

	Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back
	Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light
	Stats for shadowmap memory used under 'stat shadowrendering'

Change 3016506 on 2016/06/16 by Daniel.Wright

	Fixed crash building map in SunTemple due to null access

Change 3016703 on 2016/06/16 by Uriel.Doyon

	Fixed warning due to floating point imprecision when building texture streaming

Change 3016718 on 2016/06/16 by Daniel.Wright

	Volume lighting samples use adaptive sampling final gather
	* Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting)

Change 3016871 on 2016/06/16 by Max.Chen

	Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation.

	Copy from Dev-Sequencer

	#jira UE-32093

Change 3017189 on 2016/06/16 by Zabir.Hoque

	Fix GBuffer format selection type-o.

	#CodeReview: Marcus.Wassmer

Change 3017241 on 2016/06/16 by Martin.Mittring

	optimized  and cleaned up rendering in transluceny, distortion, custom mesh drawing
	#code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden

Change 3017856 on 2016/06/17 by Rolando.Caloca

	DR - Missing GL enum

Change 3017910 on 2016/06/17 by Ben.Woodhouse

	- Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates
	- Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering
	Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24)
	#RB:Keli.Hloedversson,Martin.Mittring

Change 3018126 on 2016/06/17 by Ben.Woodhouse

	Fix build warning on Mac
	#RB:David.Hill

Change 3018167 on 2016/06/17 by Chris.Bunner

	Handle case when float4 is passed to TransformPosition material node.
	#jira UE-24980

Change 3018246 on 2016/06/17 by Benjamin.Hyder

	Submitting Preliminary ShadowRefactor TestMap

Change 3018330 on 2016/06/17 by Benjamin.Hyder

	labeled ShadowRefactor map

Change 3018377 on 2016/06/17 by Chris.Bunner

	Removed additional node creation when initializing a RotateAboutAxis node.
	#jira UE-8034

Change 3018433 on 2016/06/17 by Rolando.Caloca

	DR - Fix some clang warnings on Vulkan

Change 3018664 on 2016/06/17 by Martin.Mittring

	unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812)
	#test:PC
	#code_review:Marcus.Wassmer,Brian.Karis

Change 3019023 on 2016/06/19 by Benjamin.Hyder

	Re-Labeled ShadowRefactor map

Change 3019024 on 2016/06/19 by Benjamin.Hyder

	Correcting Translucent Volume (Non-Directional) settings

Change 3019026 on 2016/06/19 by Benjamin.Hyder

	Correcting Lighting ShadowRefactor map

Change 3019414 on 2016/06/20 by Allan.Bentham

	Refactor mobile shadows

Change 3019494 on 2016/06/20 by Gil.Gribb

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

Change 3019504 on 2016/06/20 by John.Billon

	-Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk.
	-Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints.
	-Created a small common interface for blueprints and the editor itself to use for exporting.
	#Jira UE-31429

Change 3019561 on 2016/06/20 by Gil.Gribb

	UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager.

Change 3019616 on 2016/06/20 by Rolando.Caloca

	DR - Replicate change in DevRendering to fix splotches on characters with morph targets
	Change: 3019599
	O - Fix flickering on heroes with morph targets

Change 3019627 on 2016/06/20 by Rolando.Caloca

	DR - Doh! Compile fix

Change 3019674 on 2016/06/20 by Simon.Tovey

	Ripped out the quick hacky VM debugger I wrote a while back.
	Over complicated the VM and didn't do enough work to justify it.
	Will revisit debugging and profiling of VM scripts in future.

Change 3019691 on 2016/06/20 by Ben.Woodhouse

	Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed.

	This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs).
	#RB:Martin.Mittring, Daniel.Wright

Change 3019741 on 2016/06/20 by John.Billon

	Fixed compile error on mac.

Change 3019984 on 2016/06/20 by Martin.Mittring

	minor optimization

Change 3020172 on 2016/06/20 by Zachary.Wilson

	Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none

Change 3020195 on 2016/06/20 by Zachary.Wilson

	Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none

Change 3020196 on 2016/06/20 by Rolando.Caloca

	DR - Appease static analysis

Change 3020231 on 2016/06/20 by Zachary.Wilson

	Making basic shapes consistent distance field resolution scale.  #rb: none

Change 3020468 on 2016/06/20 by David.Hill

	CameraWS  UE-29146

Change 3020502 on 2016/06/20 by Benjamin.Hyder

	Adding AutomationMatinee Camera for RenderOutputValidation

Change 3020508 on 2016/06/20 by Benjamin.Hyder

	Adding AutomationMatinee for RenderOutputValidation

Change 3020514 on 2016/06/20 by Benjamin.Hyder

	Setting Autoplay for AutomationMatinee (sequence)

Change 3020561 on 2016/06/20 by Daniel.Wright

	Removed outdated comment on uniform expression assert

Change 3021268 on 2016/06/21 by Daniel.Wright

	Scaled sphere intersection for indirect capsule shadows
	* Fixes the discontinuity when capsule axis points close to the light direction
	* GPU cost is effectively the same (more expensive to compute, but tighter culling)

Change 3021325 on 2016/06/21 by Daniel.Wright

	Split ShadowRendering.cpp into ShadowDepthRendering.cpp

Change 3021355 on 2016/06/21 by Daniel.Wright

	Fixed RTDF shadows (broken by shadowmap caching)

Change 3021444 on 2016/06/21 by Daniel.Wright

	Fixed crash due to Depth drawing policy not using the default material shader map properly

Change 3021543 on 2016/06/21 by Daniel.Wright

	Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash
	Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns

Change 3021749 on 2016/06/21 by Daniel.Wright

	Moved RenderBasePass and dependencies into BasePassRendering.cpp
	Moved RenderPrePass and dependencies into DepthRendering.cpp

Change 3021766 on 2016/06/21 by Benjamin.Hyder

	Adding 150dynamiclights level to Dev-Folder

Change 3021971 on 2016/06/21 by Daniel.Wright

	Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation
	* TLM_SurfacePerPixelLighting now behaves like TLM_Surface

Change 3022760 on 2016/06/22 by Chris.Bunner

	Merge fixup.

Change 3022911 on 2016/06/22 by Rolando.Caloca

	DR - Added  r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders

Change 3023037 on 2016/06/22 by Rolando.Caloca

	DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed

Change 3023139 on 2016/06/22 by Daniel.Wright

	Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled

Change 3023231 on 2016/06/22 by Daniel.Wright

	Only allowing opaque per-object shadows or CSM in the mobile renderer

Change 3023415 on 2016/06/22 by Daniel.Wright

	Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target

Change 3024888 on 2016/06/23 by Daniel.Wright

	Fixed preshadows being rendered redundantly with multiple lights

Change 3025119 on 2016/06/23 by Martin.Mittring

	added MeshDecal content to RenderTest

Change 3025122 on 2016/06/23 by Martin.Mittring

	enabled DBuffer for RenderTest

Change 3025153 on 2016/06/23 by Marc.Olano

	Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10.
	Needed to use world space without shader offsets, not absolute world space.

Change 3025180 on 2016/06/23 by Marc.Olano

	Use translated world space for particle centers.
	Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables.

Change 3025265 on 2016/06/23 by David.Hill

	Bilbords translucent during PIE  - lighting model was incorrectly set in gbuffer
	#jira UE-26165

Change 3025269 on 2016/06/23 by Ryan.Brucks

	Adding new Testmap for Pixel Depth Offset velocities with Temporal AA

Change 3025345 on 2016/06/23 by Benjamin.Hyder

	Submitting MeshDecal Content

Change 3025444 on 2016/06/23 by Benjamin.Hyder

	updating content for MeshDecal

Change 3025491 on 2016/06/23 by Benjamin.Hyder

	Updating DecalMesh Textures

Change 3025802 on 2016/06/23 by Martin.Mittring

	added to readme

Change 3026475 on 2016/06/24 by Rolando.Caloca

	DR - Show current state of r.RHIThread.Enable when not using param

Change 3026479 on 2016/06/24 by Rolando.Caloca

	DR - Upgrade glslang to 1.0.17.0

Change 3026480 on 2016/06/24 by Rolando.Caloca

	DR - Vulkan headers to 1.0.17.0

Change 3026481 on 2016/06/24 by Rolando.Caloca

	DR - Vulkan wrapper for extra logging

Change 3026491 on 2016/06/24 by Rolando.Caloca

	DR - Missed file

Change 3026574 on 2016/06/24 by Rolando.Caloca

	DR - vk - Enabled fence reuse on 1.0.17.0
	- Added more logging info

Change 3026656 on 2016/06/24 by Frank.Fella

	Niagara - Prevent sequencer uobjects from being garbage collected.

Change 3026657 on 2016/06/24 by Benjamin.Hyder

	Updating Rendertestmap to latest

Change 3026723 on 2016/06/24 by Rolando.Caloca

	DR - Fix for ES3.1 RHIs

Change 3026784 on 2016/06/24 by Martin.Mittring

	New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on)

Change 3026866 on 2016/06/24 by Olaf.Piesche

	#jira OR-18363
	#jira UE-27780
	fix distortion in particle macro uvs

[CL 3028922 by Gil Gribb in Main branch]
2016-06-27 13:42:20 -04:00
Unrealbot
e05d94470b Branch snapshot for CL 3018379
[CL 3018379 in Main branch]
2016-06-17 17:28:41 -04:00
Matthew Griffin
f180dff107 Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main
#lockdown Nick.Penwarden

(Will update with full description tomorrow)

[CL 2984534 by Matthew Griffin in Main branch]
2016-05-19 19:35:35 -04:00
Ben Marsh
6af6c038ea Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2963214 on 2016/05/02 by Ben.Marsh

	BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running.

Change 2972295 on 2016/05/10 by Ben.Marsh

	EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch.

Change 2976096 on 2016/05/12 by Ben.Marsh

	EC: Store properties for the last succeeded builds, including the list of users that were notified about it.

Change 2976390 on 2016/05/12 by Ben.Marsh

	EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status.

Change 2976441 on 2016/05/12 by Ben.Marsh

	UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now.

Change 2976456 on 2016/05/12 by Ben.Marsh

	BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks.

Change 2978440 on 2016/05/16 by Ben.Marsh

	EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check.

Change 2979446 on 2016/05/16 by Ben.Marsh

	Rename ambiguous headers which exist with the same name in different paths.

Change 2979839 on 2016/05/16 by Ben.Marsh

	UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities.

Change 2979852 on 2016/05/16 by Ben.Marsh

	UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names

Change 2980113 on 2016/05/17 by Ben.Marsh

	UE4: Fix include paths for HTML5 SocketSubsystem files.

Change 2980117 on 2016/05/17 by Ben.Marsh

	UE4: Remove reference to private PCH from Oculus common code.

Change 2980186 on 2016/05/17 by Ben.Marsh

	UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE.

Change 2980879 on 2016/05/17 by Ben.Marsh

	UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h

Change 2981117 on 2016/05/17 by Ben.Marsh

	Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h

Change 2981839 on 2016/05/18 by Ben.Marsh

	Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform.

#lockdown Nick.Penwarden

[CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
Marc Audy
af581ecffc Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815)
#lockdown Nick.Penwarden

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

Change 2821607 on 2016/01/08 by Mieszko.Zielinski

	Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4

	This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead.

Change 2828384 on 2016/01/14 by Mieszko.Zielinski

	Back out of visual log refactor done as part of CL#2821607 #UE4

Change 2965743 on 2016/05/04 by Tom.Looman

	Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA

Change 2965744 on 2016/05/04 by Marc.Audy

	VS2015 Shadow Variable fixes

Change 2965813 on 2016/05/04 by Tom.Looman

	Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early.

	UE-27529 #rb MarcA

Change 2966564 on 2016/05/04 by Marc.Audy

	VS2015 shadow variable fixes

Change 2967244 on 2016/05/05 by Jon.Nabozny

	Remove UPROPERTY from members that don't require serialization and aren't user editable.
	#JIRA UE-30155

Change 2967377 on 2016/05/05 by Lukasz.Furman

	fixed processing of AIMessages when new message appears during notify loop
	#ue4

Change 2967437 on 2016/05/05 by Marc.Audy

	Add a static One to TBigInt
	Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp
	Part of fixing shadow variables for VS2015

Change 2967465 on 2016/05/05 by Marc.Audy

	Fix VS2015 shadow variables fixes

Change 2967552 on 2016/05/05 by Marc.Audy

	Fix compile error in DocumentationCode

Change 2967556 on 2016/05/05 by Marc.Audy

	Enable shadow variable warnings in 2015

Change 2967836 on 2016/05/05 by Marc.Audy

	Another DocumentationCode project fix

Change 2967941 on 2016/05/05 by Marc.Audy

	Make bShowHUD not config
	Expose HUD properties to blueprints
	Cleanup stale entries in BaseGame.ini
	Deprecate unnecessary colors in AHUD in favor of using FColor statics
	#jira UE-30045

Change 2969008 on 2016/05/06 by Marc.Audy

	VS2015 Shadow Variable fixes found by CIS

Change 2969315 on 2016/05/06 by John.Abercrombie

	Duplicating CL 2969279 from //Fortnite/Main/

	Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused

	--------
	Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40.

Change 2969611 on 2016/05/06 by Marc.Audy

	Default bShowHUD to true

Change 2971041 on 2016/05/09 by Marc.Audy

	Add Get/Set Actor/Component TickInterval functions and expose to blueprints

Change 2971072 on 2016/05/09 by Marc.Audy

	Fix VS2015 shadow variables warnings

Change 2971629 on 2016/05/09 by Marc.Audy

	PR#1981 (contributed by EverNewJoy)
	CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController
	DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint
	#jira UE-25901

Change 2971632 on 2016/05/09 by Marc.Audy

	Missed file from CL# 2971629

[CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
Gil Gribb
5f4d6e257c Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Rendering @ 2943238)
#lockdown nick.penwarden

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

Change 2932679 on 2016/04/04 by Martin.Mittring

	remove hack/cvar that is not longer needed as we fixed the bug
	#rb:Bob.Tellez
	#code_review:Bob.Tellez

Change 2932681 on 2016/04/04 by Martin.Mittring

	fixed cvars in consolevariables.ini can affect engine even if marked with cheat (no longer load consolevariables.ini in shipping and test), unified 3 code path, added testcase, cvars with cheat in ini file other than consolevariables.ini now trigger ensure, =on/off/true/false/.. works in all ini files,
	added enure if non scalability setting are used in ScalabilityIni (get now ignored)
	#rb:David.Hill
	#code_review:Marcus.Wassmer, Michael.Noland

Change 2932719 on 2016/04/04 by Marcus.Wassmer

	Merge 3 band SH back to DevRendering
	#rb Daniel.Wright

Change 2932760 on 2016/04/04 by Zabir.Hoque

	Migrating high resolution cubemaps for skylight and reflection probes.

	#rb: Daniel.Wright

Change 2933121 on 2016/04/05 by Rolando.Caloca

	DR - vk - Fix free blocks not getting joined
	- Fix compile issue

Change 2933122 on 2016/04/05 by Rolando.Caloca

	DR - Do not shorten dumped shaders path

Change 2933126 on 2016/04/05 by Rolando.Caloca

	DR - vk  - Index Buffers using new resource management

Change 2933127 on 2016/04/05 by Rolando.Caloca

	DR - vk - Extract multibuffer off index buffer

Change 2933131 on 2016/04/05 by Rolando.Caloca

	DR - vk - Transition to vb's using mutlibuffer

Change 2933136 on 2016/04/05 by Rolando.Caloca

	DR - vk - Change staging buffers to use resource allocation system
	- Fix free block not getting joined
	- Remove define

Change 2933140 on 2016/04/05 by Rolando.Caloca

	DR - vk - 'static' textures now use resource mgmt
	- Release free pages back to the OS
	- Remove ensure

Change 2933152 on 2016/04/05 by Rolando.Caloca

	DR - vk - Fix aliasing granularity
	- Fix renderpass end/copy buffer ensure

Change 2933155 on 2016/04/05 by Rolando.Caloca

	DR - SCW - Fix for -directcompile to directly load file for preprocessor

Change 2933158 on 2016/04/05 by Rolando.Caloca

	DR - hlslcc - Error on Metal if trying to R & W on RWTextures
	- Fix indices on RW reads to be unsigned
	#codereview Mark.Satterthwaite, Michael.Trepka

Change 2933169 on 2016/04/05 by Rolando.Caloca

	DR - vk - Move header to public to match changes on DevMobile

Change 2933173 on 2016/04/05 by David.Hill

	Deferred decal rendering with negative scale
	#rb:Matrin.Mittring
	#jira:UE-27389

Change 2933273 on 2016/04/05 by Rolando.Caloca

	DR - vk - Fix renderdoc markers

Change 2933274 on 2016/04/05 by Rolando.Caloca

	DR - Support for -AttachDebugger

Change 2933316 on 2016/04/05 by Rolando.Caloca

	DR - vk - Compile fix whene enabling define

Change 2933334 on 2016/04/05 by Rolando.Caloca

	DR - Compile fix
	#codereview Martin.Mittring

Change 2933805 on 2016/04/05 by Brian.Karis

	Temporal AA dynamic antighosting.

	Fixed DOF

Change 2933811 on 2016/04/05 by Brian.Karis

	Fixed area light NaNs. Improvements to area lights. Horizen handling for wrap around.

Change 2933812 on 2016/04/05 by Brian.Karis

	Fixed fresnel on SSS skin.

Change 2933813 on 2016/04/05 by Brian.Karis

	Tessellation fix

Change 2933816 on 2016/04/05 by Brian.Karis

	Improved forward shading support

[CL 2943241 by Gil Gribb in Main branch]
2016-04-13 21:24:38 -04:00
Andrew Grant
5b1ede0851 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2934481)
#lockdown Nick.Penwarden

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

Change 2934326 on 2016/04/05 by Andrew.Grant

	Modified row-error message for easier clarity of culprit.
	#rb #tests none

Change 2934266 on 2016/04/05 by Leslie.Nivison

	Adding .tps files
	#rb none
	#test none

Change 2934151 on 2016/04/05 by Andrew.Grant

	Fix for lightmass compilation with VS2015 update 2
	#rb #tests none

Change 2934101 on 2016/04/05 by Leslie.Nivison

	Moving .tps to build.cs location
	#rb none
	#test none

Change 2934095 on 2016/04/05 by Leslie.Nivison

	Adding .tps files
	#rb none
	#test none

Change 2934039 on 2016/04/05 by Aaron.McLeran

	OR-19011 Implementing CL 2933664 into //Orion/Dev-General/

	#codereview Michael.Trepka
	#rb Michael.Trepka
	#tests compile and run orion

Change 2934004 on 2016/04/05 by Bart.Bressler

	- Fix issue with ability widgets always showing as unactivatable in Replays
	- Fix issue with exhaust gameplay tag always triggering when jumping back in replays if the followed player was travelling at the time

	#rb cody.haskell
	#tests recorded replay, and viewed on PC

Change 2933997 on 2016/04/05 by Marc.Audy

	Don't use ranged-for iterator for Actors since (bad) user content could spawn a new actor from an component unregister event
	#jira OR-19021
	#rb none
	#tests compiles

Change 2933808 on 2016/04/05 by Ben.Marsh

	BuildGraph: Include the group name in the telemetry data for each job step.

Change 2933774 on 2016/04/05 by Ben.Marsh

	BuildGraph: Store node dependencies on each step in telemetry data, rather than on the job. Makes it easier to split out.

Change 2933724 on 2016/04/05 by Dan.Youhon

	Add horizontal location offsets to MoveToActor root motion force along with several OffsetAlignment modes (from target to source, target actor forward, world space)
	- Hooked up to Sword Ultimate, updated Muriel's Ultimate with new offset settings

	#rb None
	#tests MultiPIE
	#codereview Andrew.Bains

Change 2933700 on 2016/04/05 by Alexis.Matte

	Fix the bind T0 ref pose

	#code review: lina.halper, nick.darnell
	#rb: lina.halper
	#tests: import pyro fbx with bindT0RefPose option to true and make sure the result show the gobelin over the dynosaurus

Change 2933667 on 2016/04/05 by Ben.Marsh

	BuildGraph: Include dependency information in stream telemetry, so we can calculate critical path in the dashboard.

Change 2933655 on 2016/04/05 by Alexis.Matte

	Back out changelist 2933558

	because integration can be problematic, this change will be redone manually

	#code review: lina.halper, nick.darnell
	#rb: lina.halper
	#tests: none

Change 2933558 on 2016/04/05 by Alexis.Matte

	Merging using Dev-Editor_to_Orion_Dev-General

	Fix the bind T0 ref pose

	#code review: lina.halper, nick.darnell
	#rb: lina.halper
	#tests: import pyro fbx with bindT0RefPose option to true and make sure the result show the gobelin over the dynosaurus

Change 2933539 on 2016/04/05 by Ben.Marsh

	BuildGraph: Add tooltip for a job's start time in the dashboard.

	#codereview Andrew.Grant

Change 2933156 on 2016/04/05 by Ben.Marsh

	BuildGraph: Set up email notifications for new build system, and add an optional "NotifyOnWarnings" attribute to nodes to disable spam for localization and cooks. Will re-enable for cooks once we have the ability to include non-coders.

	#rb none
	#tests exported job definition for nightly build and verified recipients list

Change 2933095 on 2016/04/05 by Alexis.Matte

	Merging using Dev-Editor_to_Orion_Dev-General

	Fix the skinxx workflow

	#code review: lina.halper, nick.darnell
	#rb: lina.halper

[CL 2935407 by Andrew Grant in Main branch]
2016-04-06 15:34:41 -04:00
Gil Gribb
a3de788c58 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden

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

Change 2868708 on 2016/02/16 by Olaf.Piesche

	Only add primitives to separate translucency draw list if ST is enabled; shouldn't make any visual difference, but save some time.

Change 2868751 on 2016/02/16 by Martin.Mittring

	fixed endless driver iteration in rare case (disabled code path)

Change 2868793 on 2016/02/16 by Martin.Mittring

	added missing code for CreateShaderResourceView

Change 2868814 on 2016/02/16 by Martin.Mittring

	removed unused code, cleanup, renamed parameter to be more clean

Change 2869124 on 2016/02/16 by Martin.Mittring

	code cleanupof SkinCache, using struct avoid redundant passing of many paramters

Change 2869162 on 2016/02/16 by Martin.Mittring

	added vectex/indexbuffer SRV caching for upcoming changes

Change 2869339 on 2016/02/16 by Uriel.Doyon

	Rename r.streaming.UseAabb to r.streaming.UseNewMetrics as it nows controls old build and new build.
	Texture Streaming Build now rebuilds the streaming data per static meshes.
	Static Primitives bounds are now computed for each sections and lods.
	Scale and rotation do not increase bounds as before since they are computed on the geomtery transformed in world space.
	Fixed an issue with some debug view modes preventing the visualization in the static mesh editor
	#codereview marcus.wassmer

Change 2869431 on 2016/02/16 by Martin.Mittring

	Fix typo in original UE4 code - CreatePrimitiveUniformBufferImmediateà #2058
	GitHub pull request

Change 2869632 on 2016/02/16 by Brian.Karis

	Fixed clear coat with movable skylight. Movable skylight + reflection captures is still broken.

Change 2870545 on 2016/02/17 by Olaf.Piesche

	Fixing separate translucency in reflection captures (no post-processing case); clarifying and simplifying checks a little bit

Change 2871326 on 2016/02/17 by Daniel.Wright

	Better precomputed visibility log

Change 2871329 on 2016/02/17 by Daniel.Wright

	'r.VisualizeOccludedPrimitives 1' shows statically occluded primitives in dark red

Change 2871354 on 2016/02/17 by Daniel.Wright

	Nearest-Depth Neighbor upsampling for half res separate translucency
	* Enabled by default when r.SeparateTranslucencyScreenPercentage is 50
	* Produces full resolution silhouettes of opaque objects in front of half res translucency
	* Costs .1ms on PS4

Change 2871363 on 2016/02/17 by Daniel.Wright

	Particle cutout optimization works on SubUVMovie module as well

Change 2872099 on 2016/02/18 by Gil.Gribb

	UE4 - Improve the performance of SGameLayerManager::GetAspectRatioInset and perhaps fixed a bug.

Change 2872433 on 2016/02/18 by David.Hill

	All world position related nodes were broken in UI material.  This was noticed in Noise Node in UI material rendering black - Jira 26931

	The bug resulted from to View vs ResolvedView changes.

Change 2872844 on 2016/02/18 by Zabir.Hoque

	Ensure bDestroyOwnerAfterFade is only used when a Fade has actually be set.

Change 2873272 on 2016/02/19 by Martin.Mittring

	fixed SkinCache memory layout for tangents after recent change

Change 2873460 on 2016/02/19 by Gil.Gribb

	UAT - Add option to run commandlets with -AllowStdOutLogVerbosity

Change 2873468 on 2016/02/19 by Gil.Gribb

	remove RHI flush on texture streaming...this is a dup of a change made elsewhere

Change 2873971 on 2016/02/19 by David.Hill

	Decals not rendering in orthographic lit views

Change 2874153 on 2016/02/19 by Daniel.Wright

	Automatically downsampled separate translucency
	* Off by default, controlled with r.SeparateTranslucencyAutoDownsample
	* The separate translucency pass is timed with GPU timestamps, and downsampling is automatically enabled if the smoothed time is greater than r.SeparateTranslucencyDurationDownsampleThreshold
	* Downsampling is then disabled if the GPU time is less than r.SeparateTranslucencyDurationUpsampleThreshold
	* Downsampling state will not change more often than r.SeparateTranslucencyMinDownsampleChangeTime
	* Implemented timestamp render queries for PS4

Change 2874286 on 2016/02/19 by Daniel.Wright

	Buffer one extra frame for translucency timestamps, to make sure they never block

Change 2874990 on 2016/02/20 by Rolando.Caloca

	DR - Remove old files

Change 2875910 on 2016/02/22 by Daniel.Wright

	Enabled r.SeparateTranslucencyAutoDownsample for OrionGame

[CL 2879372 by Gil Gribb in Main branch]
2016-02-24 06:51:42 -05:00
Marc Audy
ba3ad4c356 Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2855699
#lockdown Nick.Penwarden

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

Change 2839897 on 2016/01/22 by Ori.Cohen

	Allow static mesh editor to specify a default collision profile.

	#rb Lina.Halper
	#UE-2836

Change 2840489 on 2016/01/22 by Ori.Cohen

	Fix collision customization so that it respects const editing property

	#rb Marc.Audy

Change 2840528 on 2016/01/22 by Ori.Cohen

	Fix compile error and actually get value from attribute

Change 2840672 on 2016/01/22 by Zak.Middleton

	#ue4 - Include data from USkinnedMeshComponent in USkeletalMeshComponent::GetResourceSize().

	#rb Michael.Noland

Change 2841314 on 2016/01/24 by Marc.Audy

	Fix depressingly frequent misspellings of 'suppress'

Change 2841323 on 2016/01/24 by Marc.Audy

	Reserve worst case memory for TSet Intersect, Union, and Difference to avoid memory allocations during iteration
	Ensure that TSet Intersect considers the least number of elements possible
	Early out from TSet Contains if Other is larger than this
	Clarify comment on TSet Difference
	#rb Steve.Robb

Change 2841380 on 2016/01/24 by Aaron.McLeran

	UE-25586 Audio assets not correctly reporting resource memory usage

	Tested on PC/PS4 and with Editor builds. Memory reporting is working for all cases now.

Change 2841385 on 2016/01/24 by Aaron.McLeran

	UE-21210 Adding subtitle priority to USoundWave

Change 2841386 on 2016/01/24 by Marc.Audy

	Return null for GameNetDriver if World is null instead of crashing

Change 2841409 on 2016/01/24 by Aaron.McLeran

	UE-25514 Removing load for default objects for every sound wave

Change 2841858 on 2016/01/25 by Ori.Cohen

	Make sure that PIE face index results are consistent with runtime

	#rb Benn.Gallagher

Change 2841977 on 2016/01/25 by Ori.Cohen

	Fix object type customization so that it's only enabled when custom is selected. (Accidently broke this in recent change)

Change 2841982 on 2016/01/25 by Marc.Audy

	Minor optimization by avoiding recreating FNames repeatedly in constructor

Change 2842169 on 2016/01/25 by Benn.Gallagher

	Fixes to animBP compiler and instance to store and double buffer internal machine state weights on the instance. So they can be queried cross-machine without issue.
	#rb Lina.Halper

Change 2842390 on 2016/01/25 by Ori.Cohen

	Fix in world editing of BodyInstance not working.

	No longer serializing Scale3D as this is allways initialized in InitBody.
	No longer overwriting MassInKg and renamed to to MassInKgOverride which better reflects what this variable does.

	#JIRA UE-25518
	#rb Lina.Halper

Change 2843579 on 2016/01/26 by Marc.Audy

	Only update replication when it actually changes
	Don't check calling SetIsReplicated if the class cannot replicate, instead output an error message
	Fix spelling in comment
	#rb Ori.Cohen

Change 2843627 on 2016/01/26 by Marc.Audy

	Add \\ as a default console key for Italian keyboard layouts
	#jira UE-25198
	#rb James.Golding

Change 2843628 on 2016/01/26 by Marc.Audy

	Don't reconstruct FName on each call to GetHitResultAtScreenPosition
	#rb James.Golding

Change 2843671 on 2016/01/26 by Martin.Wilson

	Fix incorrect bone transforms being pushed to the renderer during SetSkeletalMesh. This presented as motion blur artifacts in editor

	#rb Thomas.Sarkanen

Change 2843768 on 2016/01/26 by Marc.Audy

	Inline Get Component functions in TriggerBase

Change 2844003 on 2016/01/26 by Zak.Middleton

	#ue4 - Fix FMath::Fmod(X, Y) sometimes returning small negative values for positive X and Y due to float imprecision. Added tests to math tests at startup to check this, and also to better handle results close to Y. Wrap the ensure on Y=0 within a conditional so a breakpoint can be used during debugging (to distinguish between zero and very small input).

	#codereview Laurent.Delayen

Change 2844005 on 2016/01/26 by Zak.Middleton

	#ue4 - Convert uses of fmod() and fmodf() to use FMath::Fmod() instead.

	Also see CL 2844003

[CL 2855709 by Marc Audy in Main branch]
2016-02-04 10:55:30 -05:00