Commit Graph

48 Commits

Author SHA1 Message Date
Marcus Wassmer
2826204161 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

	#jira UE-40160

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

	Resave with an actual version to stop cook warning

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

	Just remove warning-causing niagara data for now.

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

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

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

	DR - Upgrade glslang to 1.0.39.1

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

	DR - Update Vulkan distribution to 1.0.39.1

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

	DR - Updated glslang libs

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

	DR - Fixed copy/paste

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

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

	#jira UE-37792

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

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

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

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

	#jira UE-41774, UE-41788

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

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

	#jira UE-41823, UE-41950

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

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

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

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

	#jira UE-41594

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

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

	#jira UE-33098

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

	Moved some private functions to public for a licensee

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

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

	DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB

	#jira UE-42014

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

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

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

	DR - Some more renaming

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

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

	#tests Ran showdown demo several times

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

	DR - hlslcc - Fix refract intrinsic

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

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

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

	updating Tm-TrigNodes map

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

	Updating QA-Decals map

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

	Updating QA-Decals map

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

	Updating Decal on Complex Mesh example in QA-Decals

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

	Final updates to QA-Decals

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

	DR - minor reorg/rename

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

	DR - more cleanup

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

	DR - Fix GL bug

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

	DR - Fix misc bugs

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

	Only issue clear TLV dispatch if required.

	#jira UERNDR-193

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

	Added comment for potential future optimization.

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

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

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

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

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

	Removing DDC job from dev-rendering

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

	Removing RDU agent type

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

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

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

	More updates to QA-Decals

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

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

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

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

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

	Fix-up AMD AGS libs.

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

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

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

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

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

	Preparing TM_Shadermodels map for automation

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

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

	#jira UE-42449, UE-42446

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

	Added some extra logs to help track UE-42168

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

	DR - Fix bad clear value

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

	More preparations for QA-Decals automation

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

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

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

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

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

	DR - hlslcc - add missing file to project

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Non-editor compile fix

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

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

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

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

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

	[Copy] Capsule shadow BP functions

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

	[Copy] Added OcclusionCombineMode to skylight component

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

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

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

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

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

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

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

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

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

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

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

	[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering

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

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

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

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

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

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

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

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

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

	Fixed RTDF shadows

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

	Initial submission of QA-Decals map to EngineTest

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

	Changed mesh distance field default format back to R16f

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

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

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

	Correctly handle material texture translation error edge case.

	#jira UE-42579, UE-42670

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

	Only compile volumetric fog shaders on supporting platforms

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

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

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

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

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

	#RB Marcus.Wassmer

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

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

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

	DR - Vulkan compute pipeline & refactor

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

	DR - Android compile fixes

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

	DR - Add missing stencil load/store to PSO initializer

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

	DR - Made load/store actions uint8

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

	DR - vk - Rework render pass hash

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

	Updating TM-Distancefields map to include TemplateFloor mesh

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

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

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

	DR - Do not stall when creating shaders on Vulkan

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

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

	#jira UE-42752

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

	Reduce log verbosity causing spamming during  landscape editing.

	#jira UE-42714

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

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

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

	Typo fixes.

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

	DR - Decouple vertex declaration off BSS

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

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

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

	Implement missing size query interface for FRenderTargetResources.

	#jira UE-41672

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

	[Copy] Added VolumetricScatteringIntensity to particle lights

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

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

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

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

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

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

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

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

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

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

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

	[Copy] Missing file from cl 3338451

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

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

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

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

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

	[Copy] Changed default VolumetricFogScatteringDistribution to .2

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

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

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

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

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

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

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

	DR - android compile fix

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

	DR - Fix merge issue

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

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

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

	DR - Allow to automatically apply cached rendertargets to PSO initializer

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

	DR - Remove NullPS on Vulkan to avoid deadlock

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

	DR - Fix for debugging SCW with material SRT

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

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

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

	Hopefully fix static analysis for potential nullptr access.

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

	Duplicate some switch changes to fix crash on launch.

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

	Fixed botched merge

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

	DR - Fix for mismatched primitive type

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

	initial updates to TM-DistanceFields map

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

	DR - Fix UT compile issue

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

	DR - Catch mismatched primitive type on PSOs on D3D11

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

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

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

	Fixed formatting from merge

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

	DR - Fix texture arrays as UAVs on Metal

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

	DR - Fix warning

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

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

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

	Fix clang platforms

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

	Fix linux compile

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

	Fix mismatched rendertargetformat

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

	Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing

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

	Fix missing RT PSO apply

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

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

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

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

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

	DR - compile fix

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

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

	#RB none

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

	DR - Fix Confusion

	#RB none

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

	Fixed up Content orginzation for Decals automation tests in EngineTest

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

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

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

	Fix clang errors

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

	DR - Fix ensure message
	#RB none

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

	DR - Fix comparission of undefined values in RendertargetApply Check

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

	Fix LinuxEditor compile

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

	Add missing SSE functions

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

	Fix win32 and linux compiler errors

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

	DR - disable ensure in test builds

	#RB Marcus.Wassmer

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

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

Change 3288774 on 2017/02/06 by Ben.Salem

	Added in min/max/avg values to table. Allow us to also set which stat groups we use explicitly to massively cut down on plugin overhead.
	#tests Several tests passes taken on ShooterGame.

Change 3289887 on 2017/02/07 by David.Hill

	Eye Adaptation:  Fix basic mode.
	The last step of the basic eye adaptation needs to know the correct down-sampled viewport size
	#jira: UE-29491

Change 3290281 on 2017/02/07 by Chris.Bunner

	Account for LogToLin approximation value offseting.

Change 3290282 on 2017/02/07 by Chris.Bunner

	Fixed missing 2000 nit branch in tonemapper.

Change 3290331 on 2017/02/07 by Chris.Bunner

	Minor optimization for BlendMaterialAttributes node compilation.

Change 3291140 on 2017/02/07 by Daniel.Wright

	Fixed distance field temporal filter using Point filtering
	* Fixed the manual bilinear filter in the high quality reprojection path, still doesn't solve the streaking artifacts though

Change 3292060 on 2017/02/08 by Rolando.Caloca

	DR - Some enums for max/num bits on RHI definitions

Change 3292213 on 2017/02/08 by Benjamin.Hyder

	Updating TM-DistanceFields map in QAGame

Change 3292291 on 2017/02/08 by Benjamin.Hyder

	small tweaks to TM-DistanceFields

Change 3292399 on 2017/02/08 by Chris.Bunner

	Minor fix to HDR format type check.

Change 3293560 on 2017/02/08 by Rolando.Caloca

	DR - vk - Events

Change 3293562 on 2017/02/08 by Rolando.Caloca

	DR - vk - Disambiguate class name

Change 3295346 on 2017/02/09 by Rolando.Caloca

	DR - Duplicate fix from 3295320

Change 3296930 on 2017/02/10 by Chris.Bunner

	Search keywords for pre-skinned position/normal nodes.

Change 3297162 on 2017/02/10 by Daniel.Wright

	Distance field temporal filter stores a confidence value, which is used to track leaking of occlusion during the upsample, and flush those leaked values through the history faster.  Reduces DFAO ghosting when the camera is moving.

Change 3297345 on 2017/02/10 by Daniel.Wright

	Added 'r.CompressMeshDistanceFields' to rendering project settings, defaults to off to prevent hitches when streaming in levels

Change 3297371 on 2017/02/10 by Chris.Bunner

	Custom vertex interpolator in/out node with auto-packing - Function support. Unified UV/CVI interpolator arrays for mixed custom UV support.

Change 3298013 on 2017/02/10 by Daniel.Wright

	Ray Traced Distance Field shadowing is overlapped with the shadow depth pass, controlled by r.DFShadowAsyncCompute.
	* Didn't save any GPU time on PS4, so currently disabled until further investigation.
	* This change breaks RTDF shadows in splitscreen / stereo

Change 3300028 on 2017/02/13 by Ben.Salem

	Adding GPU/Render/Game thread timers by default. Remove pointless flavor whitelisting on the plugin. Add sample usage in ShooterGame.ini config.
	#tests Ran half a dozen perf passes, and preflighted my changes in EC

Change 3301571 on 2017/02/14 by Joe.Graf

	Deleted this plugin since it is no longer needed as an example

Change 3301882 on 2017/02/14 by Daniel.Wright

	Fixed DistanceFieldAOConfidenceHistoryRT not getting released on RT

Change 3304283 on 2017/02/15 by Daniel.Wright

	Variable shadowing fix

Change 3304653 on 2017/02/15 by Ben.Salem

	Fix thread safety issues in Performance Monitor - deal with floating point bug in determining when to record frames.
	#tests Preflighted changes several times, ran several runs on Showdown

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

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

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

	Only showing instruction count for 'Base pass shader' now

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

	DR - Async Compute PSO creation

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

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

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

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

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

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

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

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

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

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

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

	DR - Gfx async PSO creation prep

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

	Added 'Compile Unreal Lightmass' to error message

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

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

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

	Added InscatteringColorCubemapAngle to exponential height fog

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

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

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

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

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

	DR - PSO stats

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

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

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

	#jira UE-38615

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

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

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

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

	Added fastClamp to fastmath.usf

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

	Disabled bAffectDistanceFieldLighting on DefaultPawn, fixes VisualizeMeshDistanceFields in game

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

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

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

	Better distance field memory stats

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

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

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

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

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

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

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

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

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

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

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

	Added VisualizeGlobalDistanceField show flag

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

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

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

	Updating Planar Reflection example material in TM-Shadermodels

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

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

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

	Better support for static primitive becoming dynamic.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Integrate latest changes from MS-DX12 CLs 3231395-3262526

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

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

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

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

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

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

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

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

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

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

	Fix bad declaration.
	#3055

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

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

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

	Amend & integrate RCO's CL #3197085.

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

	DR - Detect duplicated shader and pipeline types

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

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

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

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

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

	D3D12 updateTexture2D crash fix

	#jira UE-41059

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

	#jira UE-40980
	#udn 325525

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

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

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

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

	DR - Update shader version

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

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

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

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

Change 3232283 on 2016/12/13 by Ben.Woodhouse

	D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware
	#jira UE-36999

Change 3232641 on 2016/12/13 by Mark.Satterthwaite

	- Eliminate redundant state changes in MetalRHI in the state cache.
	- Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data.
	- Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency.
	- Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway.

Change 3232661 on 2016/12/13 by Mark.Satterthwaite

	Re-enable Metal SM5 & DFAO/DistanceFieldShadowing on Intel for 10.12.2 or later.

Change 3232759 on 2016/12/13 by Ben.Woodhouse

	Fix memory leak on XB1 when calling GPURealloc with count of 0, suggested on UDN
	https://udn.unrealengine.com/questions/326660/gpurealloc-leak.html

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

	Add UT to the populate DDC job, and cook UT and Fortnite for Mac as well.

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

	Split cooks to populate DDC into separate nodes for each platform. May help to reduce number of timeouts on remote VMs.

Change 3232974 on 2016/12/13 by Rolando.Caloca

	DR - Refactor common code to UWorld::RecreateScene
	#jira UE-36719
	PR #2824

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

	Add missing dependency on tools node for Mac cooks. Need to compile SCW first.

Change 3233289 on 2016/12/13 by Olaf.Piesche

	Fixing potentially broken spot/point light fade with old content; initialize new properties properly

Change 3233811 on 2016/12/13 by Mark.Satterthwaite

	Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend.

Change 3233854 on 2016/12/13 by Mark.Satterthwaite

	More information about texture type validation errors in Metal.

Change 3234650 on 2016/12/14 by Rolando.Caloca

	DR - vk - Fix bad aspect on depth cubemaps

Change 3234651 on 2016/12/14 by Rolando.Caloca

	DR - vk - Fix for 32 bit crash on dump layer

Change 3234813 on 2016/12/14 by Guillaume.Abadie

	Fixes texture mask static lighting when using GBuffer selective outputs.

	#jira UE-39527

Change 3235047 on 2016/12/14 by Uriel.Doyon

	Refactored HLOD texture streaming strategy to separate forced load from visibility.
	Added an incremental update in the last stage of the texture streaming update load to clear any pending work.
	Added an option "All" to the "BuildMateriaTexturelStreamingData" command to force rebuild everything.

Change 3235317 on 2016/12/14 by Uriel.Doyon

	Removed timed primitives in the texture streaming since it was not used and there is now a fallback implementation in UPrimitiveComponent::GetStreamingTextureInfo.

Change 3235431 on 2016/12/14 by Rolando.Caloca

	DR - Fix for Vulkan drawing black

Change 3236788 on 2016/12/15 by Mark.Satterthwaite

	Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15.

Change 3236850 on 2016/12/15 by Mark.Satterthwaite

	Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect.
	#jira UE-39801

Change 3237002 on 2016/12/15 by Benjamin.Hyder

	submitting updated TM-Shadermodels map

Change 3237312 on 2016/12/15 by Rolando.Caloca

	DR - Change more macros to lambdas

Change 3237394 on 2016/12/15 by Mark.Satterthwaite

	Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine.
	#jira UE-39799

Change 3237490 on 2016/12/15 by Daniel.Wright

	Fixed ULandscapeComponent::GetUsedMaterials

Change 3237597 on 2016/12/15 by Ben.Woodhouse

	Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release.

	It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler.

Change 3237654 on 2016/12/15 by Daniel.Wright

	Non-editor compile fix

Change 3238229 on 2016/12/16 by Rolando.Caloca

	DR - Remove ExcludeRect from inner RHI Clear methods; ensure will happen if trying to use it

Change 3238236 on 2016/12/16 by Rolando.Caloca

	DR - Compile fixes

Change 3238280 on 2016/12/16 by Marc.Olano

	Small optimization to Lanczos-3 upsample shader code.

Change 3238321 on 2016/12/16 by Rolando.Caloca

	DR - Compile fix

Change 3238331 on 2016/12/16 by Rolando.Caloca

	DR - compile fix

Change 3238495 on 2016/12/16 by Marc.Olano

	Replace TEA random number generator with PCG.

	Was only used in #if-disabled reference rendering, but ldoes make better quality reference rendering when enabled.

Change 3238496 on 2016/12/16 by Marc.Olano

	Tone mapping fix for OR-31752, cherry picked from Orion 3208273

	Assumption that green is approximates luminance fails on red/blue HDR content, resulting in ugly black artifacts. Go back to luminance.

Change 3238520 on 2016/12/16 by Rolando.Caloca

	DR - CIS Fix

Change 3238571 on 2016/12/16 by Rolando.Caloca

	DR - CIS fix

Change 3238605 on 2016/12/16 by Daniel.Wright

	Sharing IndirectLightingCacheTextureSampler samplers

Change 3238626 on 2016/12/16 by Daniel.Wright

	Ray Traced Distance Field Shadow optimizations
	* Tighter light space tile culling
	* Skip ray marching pixels before the RTDF cascade near distance, or further than the cascade far distance
	* Depth bounds test on upsample
	* Created FLightTileIntersectionParameters for encapsulation of light tile culling functionality
	* RTDF shadow time went from 1.8ms -> .8ms and 3.1ms -> 1.2ms in FortGPUTestbed on 7870 with these changes

Change 3238652 on 2016/12/16 by Rolando.Caloca

	DR - RHI clear methods no longer have an ExcludeRect, use DrawClearQuad functions instead

Change 3238855 on 2016/12/16 by Rolando.Caloca

	DR - Added FRHITexture2D GetSizeXY

Change 3238881 on 2016/12/16 by Rolando.Caloca

	DR - CIS fix

Change 3239008 on 2016/12/16 by Arne.Schober

	DR - Fixing accidently returning a stackpointer in EnqueueRenderCommands

Change 3239012 on 2016/12/16 by Arne.Schober

	DR - missing file

Change 3239255 on 2016/12/17 by Rolando.Caloca

	DR - Remove shader clears from D3D11

Change 3239690 on 2016/12/19 by Rolando.Caloca

	DR - vk - Misc fixes from 1.0.37.00 SDK warnings

Change 3239964 on 2016/12/19 by Rolando.Caloca

	DR - Fix click on editor not showing selected

Change 3239995 on 2016/12/19 by Rolando.Caloca

	DR - Enable dist field on GL4 & Vulkan SM5

Change 3240162 on 2016/12/19 by Daniel.Wright

	Added EnableDepthBoundsTest / DisableDepthBoundsTest to RHIUtilites to share some common code

Change 3240163 on 2016/12/19 by Daniel.Wright

	Distance field self shadowing controls for hiding world position offset self-shadow artifacts
	* Removed static mesh build settings DistanceFieldBias, which shrunk the distance field, breaking AO and shadows
	* Added DistanceFieldSelfShadowBias, which prevents occlusion close to the surface only, maintaining shadows on the ground and AO on the ground

Change 3240271 on 2016/12/19 by Daniel.Wright

	Use 16 bit indices for distance field objects culled to tiles, when 16 bit will be enough.  Saves 10mb of tile culling buffers.

Change 3240282 on 2016/12/19 by Rolando.Caloca

	DR - Proper fix for hit proxies clear
	- Added missing stencil ref to DrawClearQuad

Change 3240316 on 2016/12/19 by Rolando.Caloca

	DR - vk - Fixed some new 1.0.37.0 warnings

Change 3240354 on 2016/12/19 by Rolando.Caloca

	DR - Dev shaders on sm4/5

Change 3240759 on 2016/12/20 by Rolando.Caloca

	DR - Fix bad crc on GL element declarations

Change 3240895 on 2016/12/20 by Rolando.Caloca

	DR - vk - Swapchain fixes

Change 3241057 on 2016/12/20 by Rolando.Caloca

	DR - vk - Fix resize on desktop

Change 3241112 on 2016/12/20 by Rolando.Caloca

	DR - vk - Fix 1.0.37.0 warnings
	- Ignore some warnings we know we can't fix

Change 3241310 on 2016/12/20 by Rolando.Caloca

	DR - vk - Fix crash

Change 3241417 on 2016/12/20 by Daniel.Wright

	[Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios

Change 3241990 on 2016/12/21 by Daniel.Wright

	Converted DistanceFieldVolume data to BulkData
	* FDistanceFieldVolumeData Serialize time from .7s on PS4 to 0s

Change 3242005 on 2016/12/21 by Daniel.Wright

	Removed unused !USE_DEPTH_RANGE_LISTS path to reduce complexity

Change 3242295 on 2016/12/21 by Bob.Tellez

	Duplicating CL#3242294 from //Fortnite/Main

	#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled

Change 3242487 on 2016/12/21 by Marcus.Wassmer

	Fix typo

Change 3243091 on 2016/12/22 by Daniel.Wright

	Fixed too many groups dispatched for TConeTraceScreenGridGlobalOcclusionCS

Change 3243161 on 2016/12/22 by Uriel.Doyon

	New async tasks for the streaming update. Optimizing the biggest frame cost.

Change 3243179 on 2016/12/22 by Uriel.Doyon

	Fixed possible invalid access from the async FNormalizeLightmapTexelFactorTask

Change 3243236 on 2016/12/22 by Daniel.Wright

	Fixed DFAO bilateral upsample
	* Depth buffer was being unbound due to lack of DepthRead_StencilNop

Change 3243452 on 2016/12/23 by Ben.Woodhouse

	Bring back 1024 render query limit workaround on D3D12 which was lost during the merge from partners
	#jira UE-35247

Change 3243512 on 2016/12/23 by Uriel.Doyon

	Improved task system for texture streaming.

Change 3243742 on 2016/12/26 by Rolando.Caloca

	DR - vk - Fix UAV clears
	- Removed old validation layer
	- Print found device layers

Change 3243745 on 2016/12/27 by Rolando.Caloca

	DR - vk - Fix for texture cube arrays
	- Warning for ClearUAVs

Change 3243762 on 2016/12/27 by Rolando.Caloca

	DR - vk - Always use pipeline cache

Change 3244450 on 2016/12/31 by Rolando.Caloca

	DR - vk - Pre reqs for separate transfer queue

Change 3244453 on 2016/12/31 by Rolando.Caloca

	DR - vk - Win32 compile fix

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

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

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

	Niagara is still experimental in non-task branches.

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

	Submitting TM-TrigNodes map

Change 3245500 on 2017/01/03 by Olaf.Piesche

	Compile fix #1 for post-merge problems

Change 3245572 on 2017/01/03 by Olaf.Piesche

	(Speculative) fix #2 for post-merge build problem. Hopefully fixes public distribution level error for cross compiler tool.

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

	Fix some niagara warnings

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

	Fix Niagara compile on clang platforms.
	Fix a few warnings / static analysis things as well.

Change 3246403 on 2017/01/04 by Rolando.Caloca

	DR - vk - Fix bogus warning

Change 3246432 on 2017/01/04 by Marcus.Wassmer

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

Change 3246538 on 2017/01/04 by Rolando.Caloca

	DR - vk - Show hitch time for compute psos

Change 3246580 on 2017/01/04 by Rolando.Caloca

	DR - vk - compile fix

Change 3246610 on 2017/01/04 by Rolando.Caloca

	DR - Compute PSO pre reqs

Change 3246707 on 2017/01/04 by Marcus.Wassmer

	Add missing integer operations to UnrealMathDirectX.h

Change 3246786 on 2017/01/04 by Marcus.Wassmer

	Avoid public dependency build errors.  Should probably just remove the DDCUtils module instead

Change 3246828 on 2017/01/04 by Olaf.Piesche

	UE-39249; need to check the view as well as the view family in CheckAndUpdateLastFrame; scene captures use a different family, but each eye for VR uses a different scene view.

Change 3247026 on 2017/01/04 by Rolando.Caloca

	DR - Remove CrossCompilerTool as it's not required anymore

Change 3247086 on 2017/01/04 by Marcus.Wassmer

	Remove includes for Core.h monolithic header

Change 3247227 on 2017/01/04 by Marcus.Wassmer

	Fix typo and compile errors.

Change 3247228 on 2017/01/04 by Marcus.Wassmer

	Use crossplatform intrinsics

Change 3247229 on 2017/01/04 by Marcus.Wassmer

	Implement missing integer NEON operations.
	Change NEON vectorint to match name and sign from other platforms

Change 3247245 on 2017/01/04 by Marcus.Wassmer

	Fixing various warnings/errors from clang platforms (Mac/Linux)

Change 3247331 on 2017/01/04 by Marcus.Wassmer

	More Mac/clang fixes

Change 3247958 on 2017/01/05 by Marcus.Wassmer

	VectorInt < - > Float ops should be conversions not reinterpret cast

Change 3247959 on 2017/01/05 by Marcus.Wassmer

	Add missing ops to non-vector header

Change 3247964 on 2017/01/05 by Rolando.Caloca

	DR - Temp fix for crash
	#jira UE-40211

Change 3248067 on 2017/01/05 by Rolando.Caloca

	DR - Static analysis fixes
	#jira UE-40167

Change 3248284 on 2017/01/05 by Rolando.Caloca

	DR - Linuix Compile fix
	#jira UE-40260

Change 3248288 on 2017/01/05 by Rolando.Caloca

	DR - Linux compile fix
	#jira UE-40264

Change 3248399 on 2017/01/05 by Brian.Karis

	Filtered importance sampling for envmap prefiltering.

	Fixed SSR on clearcoat with skylight only.

Change 3248503 on 2017/01/05 by Rolando.Caloca

	DR - Linux fixes
	#jira UE-40264

Change 3248666 on 2017/01/05 by Brian.Karis

	Fix GL compile error

Change 3248740 on 2017/01/05 by Marcus.Wassmer

	Fix linux and clang errors/warnings

Change 3248851 on 2017/01/05 by Marcus.Wassmer

	Simplest fix for ES2 compile errors

Change 3249217 on 2017/01/06 by Simon.Tovey

	Speculative fix for static analysis warning

Change 3249296 on 2017/01/06 by Ben.Woodhouse

	XB1/Fast semantics:
	Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target.
	This fixes bloom and diffuse irradiance issues
	The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest
	#jira UE-39727
	#jira UE-40238

Change 3249300 on 2017/01/06 by Ben.Woodhouse

	Remove workaround for diffuse irradiance (redundant clear). No longer necessary with CL 3249296

Change 3249387 on 2017/01/06 by Rolando.Caloca

	DR - Fix GL clear issues
	#jira UE-40254

Change 3249435 on 2017/01/06 by Ben.Woodhouse

	Duplicated from UT CL 3238664
	Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials.
	Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals
	#jira UT-6891
	#jira UE-39842

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

	Remove final references to non-existent Niagara data

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

	Fix missing GPU particles on Mac.
	Pointers getting reused is causing the blendstate equality operator to fail.
	Simple workaround until we have time for a proper fix.

[CL 3249983 by Marcus Wassmer in Main branch]
2017-01-06 17:51:46 -05:00
Gil Gribb
80f6fa5fa7 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693)
#lockdown Nick.Penwarden
#rb none

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

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

	DR - vk - Increase timeout to 60ms

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Compiles fixes for iOS & static analysis fixes from Windows.

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

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

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

	More NVAPI warning fixups.

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

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

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

	Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames.
	#jira UE-35132

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

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

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

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

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

	DR - Added FDynamicRHI::GetName()

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

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

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

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

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

	DR - vk - Fix memory type not found

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

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

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

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

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

	DR - Fix mem leak when exiting

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

	DR - vk - Minor info to help track down leaks

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

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

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

	Static analysis warning workaround.

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

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

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

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

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

	Fixed HLOD with FreezeRendering command.
	#jira UE-29839

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

	Removed obsolete check() in FMetalSurface constructor

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

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

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

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

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

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

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

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

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

	DR - vk - Reuse fences

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

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

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

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

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

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

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

	IWYU CIS compile fix for iOS.

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

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

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

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

	Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData.

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

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

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

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

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

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

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

	Integrated CL 3223965 :

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

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

	Cherry pick CL 3223972 from //fortnite/main:

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

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

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

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

	DR - vk - Dump improvements

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

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

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

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

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

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

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

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

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

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

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

	Fixed exponential height fog disappearing with no skybox

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

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

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

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

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

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

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

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

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

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

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

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

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

	DR - Typo fix

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

	DR - compile fix
	#jira UE-39143

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Implemented UWidgetComponent::GetUsedMaterials

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

	Fixes post process volume's indirect lighting color.

	#jira UE-38888

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

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

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

	Removed redundant ResolveSceneDepthTexture from the merge

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

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

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

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

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

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

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

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

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

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

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

	Fix DCC sqrt(int) error

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

	Back out changelist 3225449.
	#jira UE-39528

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

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

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

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

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

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

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

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

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

	Log compile error fix and updated cvar comments.

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

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

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

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

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

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

	DepthBoundsTest for AMD.

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

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

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

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

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

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

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

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

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

	DR - Fix d3d debug error
	#jira UE-39589

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

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

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

	Experimental Nvidia AFR support.

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

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

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

	Fix NumGPU detection. (SLI only crash)

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

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

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

	Retain the RHI samplers in MetalRHI to guarantee lifetime.

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

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Bob Tellez
33f0f0a6e6 Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3212531)
#lockdown Nick.Penwarden
#rb none

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

Change 3212485 on 2016/11/28 by Dmitry.Rekman

	Update libwebsockets to use -fPIC.

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

	Fixes static lighting regression caused by selective outputs fix.

Change 3211095 on 2016/11/28 by Ian.Fox

	#UE4 - Add nullptr check to cookonthefly server ini check

Change 3211042 on 2016/11/28 by Bob.Tellez

	#UE4 Add an option to reset a particle system comp on a camera lens emitter when it is retriggered

Change 3209336 on 2016/11/23 by Rob.Cannaday

	Fix shutdown crash trying to cancel an HTTP request after the HTTP module has been unloaded
	Move the cancel call to the PreUnload step
	#jira FORT-33515

Change 3208350 on 2016/11/22 by Jeff.Campeau

	Added bVirtualKeyboardDisplayOnFocus to Slate settings defaulted to true (old behavior)
	Always open a virtual keyboard when the facebutton bottom is pressed on an active text field
	Do not open a virtual keyboard on focus gained by any method other than mouse if bVirtualKeyboardDisplayOnFocus is set to false

	#jira FORT-30722

Change 3207430 on 2016/11/22 by James.Hopkin

	#fortnite Applied changes from CL#3161737 (UE4/Main) to stage and package SSL certificate bundles.

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

	* 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 3206301 on 2016/11/21 by Ben.Woodhouse

	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 3206144 on 2016/11/21 by Lukasz.Furman

	improved path following sticking to tether bounds
	#jira FORT-32097

Change 3206142 on 2016/11/21 by Lukasz.Furman

	added post processing to navigation filters for making filter-bound paths (feedback iteration)
	#fortnite

Change 3206053 on 2016/11/21 by Lukasz.Furman

	added post processing to navigation filters for making filter-bound paths
	#fortnite

Change 3205790 on 2016/11/21 by Lukasz.Furman

	pass on flow field usage by EQS

Change 3205764 on 2016/11/21 by Lukasz.Furman

	seeding AIModule's random stream from world manager, using random stream in EQS
	#fortnite

Change 3205763 on 2016/11/21 by Lukasz.Furman

	added random stream to AIModule
	copy of CL# 3150031

Change 3205162 on 2016/11/19 by James.Hopkin

	Added missiing depending on SSL to Linux HTTP. Fixes CrashReportClient linker errors.

Change 3205124 on 2016/11/19 by James.Hopkin

	Enabled websockets and Stomp for Linux

Change 3205121 on 2016/11/19 by James.Hopkin

	From Nick Shin's Dev-Platform shelf: upgrade/rebuild of libcrypto, libcurl, libssl, libwebsockets and zlib for Linux

	#fyi Nick.Shin,Dmitry.Rekman,Bob.Tellez

Change 3205119 on 2016/11/19 by James.Hopkin

	Added OpenSSL version 1.0.2h headers for x86_64-unknown-linux-gnu

	#fyi Nick.Shin,Dmitry.Rekman,Bob.Tellez

Change 3204994 on 2016/11/18 by Billy.Bramer

	- Sort the function results that show up in the blueprint "Copy signature from:" combo box

Change 3203688 on 2016/11/18 by James.Hopkin

	#stomp Lower-cased FName strings before encoding to prevent random case at runtime.

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

	More auto-release pool/memory-handling fixes for Metal's debug layer, which depends upon ARC:
	- Better handling of parallel context creation & pooling in MetalRHI.
	- Metal queries return the actual value so that we can use local autorelease pools to capture ARC retain/autorelease calls in the debug layer.
	- Similarly EndEncoding needs a local autorelease pool to handle the debug layer's ARC retain/autorelease calls.
	#jira FORT-32706

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

	Trivial command-buffer fencing to avoid render-queries keeping MTLCommandBuffer's alive after they are completed, reducing total memory use.
	#jira FORT-32706

Change 3200269 on 2016/11/16 by John.Abercrombie

	Made GetPredictionData_Client_Character and GetPredictionData_Server_Character public
	- Removed unnecessary code duplication in FortIndicator as a result

Change 3198230 on 2016/11/15 by James.Hopkin

	#stomp Added dedicated server support to Stomp connection manager. Also fixed heartbeats and change retry strategy to retry forever, first retry after 5 seconds, doubling up to max interval of every minute.

Change 3197273 on 2016/11/14 by Mark.Satterthwaite

	Fix Metal related memory leaks.
	#jira FORT-32706

Change 3196974 on 2016/11/14 by Lukasz.Furman

	increased distance to focal point for path following
	copy of CL# 3196971
	#jira FORT-32048

Change 3196885 on 2016/11/14 by John.Pollard

	FORT-33019 - Fix crash when updating unmapped properties on replicator that was dormant

Change 3196772 on 2016/11/14 by John.Pollard

	Speculative fix for assert when shutting down replicators

Change 3196617 on 2016/11/14 by Lukasz.Furman

	improved readability of EQS results in gameplay debugger's table view
	#fortnite

Change 3195394 on 2016/11/11 by John.Pollard

	UE-37866 - Fix replication issue where unmapped properties wouldl fail to map if the replicator goes away due to dormancy

Change 3195272 on 2016/11/11 by Bob.Tellez

	#Fortnite Fix warning output in UDataTable for missing row

Change 3195152 on 2016/11/11 by Lukasz.Furman

	fixed target selection in gameplay debugger's spectator
	#fortnite

Change 3195071 on 2016/11/11 by Lukasz.Furman

	pass on EQS category of gameplay debugger
	#fortnite

Change 3194111 on 2016/11/10 by Bob.Tellez

	#UE4 if you have a checked out or out of date file in your rename list it is now properly skipped and reported after the rename.

Change 3193547 on 2016/11/10 by Bob.Tellez

	#UE4 LODGroup is now AssetRegistrySearchable

Change 3193545 on 2016/11/10 by Bob.Tellez

	#UE4 Allow setting the default LODGroup when importing a mesh

Change 3193541 on 2016/11/10 by Bob.Tellez

	#UE4 LODGroup settings application on load. Enable this behavior by setting r.StaticMesh.UpdateMeshLODGroupSettingsAtLoad=1

Change 3192035 on 2016/11/09 by Saad.Nader

	#engine Updated Migration of properties to handle static arrays properly from previous check-in.

Change 3191062 on 2016/11/08 by Saul.Abreu

	Added accessor for all items in list views.

Change 3190998 on 2016/11/08 by Chris.Gagnon

	Partially fixes a problem with the scale bax ignore inherited scale isn't working properly.

	There is more to fix by adding float InScale or similar to the GetRelativeLayoutScale() call chain.
	This portion will be handled by the tools team.

Change 3190812 on 2016/11/08 by Lukasz.Furman

	fixed crash on path string pulling when path corridor is empty
	#jira FORT-32811

Change 3190800 on 2016/11/08 by Saad.Nader

	#engine Fixed a case where a static array uproperty wasn't being migrated properly since it was being treated as a single value.

Change 3189573 on 2016/11/07 by Bob.Tellez

	#UE4 Since LightComponents now respect hiddeningame, I changed ALight to default to not be hidden in game. All components in the class that should not be seen are already bHiddenInGame=true on the component.

Change 3189268 on 2016/11/07 by Michael.Trepka

	Check is MacApplication is still valid when making a deferred call to OnApplicationActivationChanged

Change 3189179 on 2016/11/07 by Michael.Trepka

	Don't skip Mac windowDidResize: when switching between window modes. Fixes issues with screen not resizing properly when changing from windowed to windowed fullscreen

Change 3189154 on 2016/11/07 by Lukasz.Furman

	added unbound exploration mode to A* solver
	#ue4

Change 3189072 on 2016/11/07 by Saad.Nader

	#commonui Added ability to skip the stack of activatable panels so that global input handling can handle input for dynamically created buttons on a modal. Updated name of base button style as its name was conflicting with legacy ui base button style.

Change 3188769 on 2016/11/07 by Guillaume.Abadie

	Fixes r.SelectiveBasePassOutput and use it in Fortnite.

	This CL adds a selective base pass optimization not drawing scene color when  r.SelectiveBasePassOutput=1 on materials that  doesn't emit color.
	Use r.SelectiveBasePassOutput in Fortnite and avoid computing the fog in base pass to actually avoid drawing scene color.

	#review-3187180 @brian.karis

Change 3187864 on 2016/11/04 by Bob.Tellez

	#UE4 Better handling for setting return values in error cases where a function cannot be executed.

Change 3187815 on 2016/11/04 by Bob.Tellez

	#UE4 Fix for SetLODGroup to trim LODs that are not needed.

Change 3187309 on 2016/11/04 by Lukasz.Furman

	added projection and pathfinding to navigation graph
	#fortnite

Change 3186304 on 2016/11/03 by Saul.Abreu

	Made a pass on Common UI widgets, setting their widget palette category property or overriding the relevant virtual method in order to have a consistent value across all Common UI widgets.

Change 3186301 on 2016/11/03 by Saul.Abreu

	Exposed ability to compare Slate brushes in Blueprints. Helpful for Icon Text Button to be able to hide its icon image if the icon brush is identical to the default (which is intentionally 0-sized/draw-type none).

Change 3185979 on 2016/11/03 by David.Hamm

	Conditional gameplay effects with required tags were considering target tags in code, rather than source tags as presented in the editor.  Updating the code allows the Bearricade tag to be seen, triggering the desired slow effect.

	#jira FORT-32141

Change 3185534 on 2016/11/03 by Daniel.Broder

	Made GameplayDebuggerCategory_EQS log the description of filtered items rather than just their index (which doesn't tell much).

	#UE4 #NoReleaseNotes

Change 3185386 on 2016/11/03 by Daniel.Broder

	"Actors of Class" EQS Generator now supports returning all actors matching the class rather than only actors within the radius based on a new checkbox "Generate Only Actors In Radius".  For backwards compatibility, it defaults to true.

	#UE4 #ReleaseNoteAbove

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

	Revert the only change to Metal texture uploads made in the merge leading up to 16/09/16 and disable more recent changes to reuse texture objects in the hope that this cures FORT-30180. If not then this will need to be handled by Apple/Nvidia as we're not doing anything obviously wrong on our side.
	#jira FORT-30180

Change 3185249 on 2016/11/03 by Lukasz.Furman

	added caching for neighbor count in template A* solver
	#fortnite

Change 3184403 on 2016/11/02 by Daniel.Broder

	Updated EnvQueryTest_GameplayTags to support Gameplay Tag Queries.

	^^ReleaseNoteAbove

	Data is automatically converted to the query from the old data format.

	Gameplay Tag Queries give much more flexibility for how to mach the queries, since they can include entire expressions of what must match and/or not match.

	#UE4 #ReleaseNoteAbove

Change 3184311 on 2016/11/02 by Daniel.Broder

	Removed unnecessary if/else that was calling identical code in both parts!  (Now it just calls the code directly).

	Fixed spelling of ReturnValueAddress (from ReturnValueAdress).

	#UE #NoReleaseNotes

Change 3183823 on 2016/11/02 by Mark.Satterthwaite

	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 3183807 on 2016/11/02 by Mark.Satterthwaite

	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 3183470 on 2016/11/02 by Bob.Tellez

	#UE4 Lights with 0 intensity are now removed from the scene

Change 3183230 on 2016/11/02 by Bob.Tellez

	#UE4 Console history no longer keeps duplicate entries

Change 3182547 on 2016/11/01 by Bob.Tellez

	#UE4 Fixed an old bug which was causing thumbnail scenes to have incorrect lighting.

Change 3182498 on 2016/11/01 by Chris.Gagnon

	Added ItemIcon widget and ItemCountTextBlock widget.
	EpicCMSScreen derives from COmmonActivatable Panel.
	Added CommonUIUtils with function to get a owning userwidget or contexts.

	Begining of the new Topbar, and a number of supporting widgets.

Change 3182497 on 2016/11/01 by Chris.Gagnon

	Engine:
	GameViewportClient now has a global toggle to turn software cursor mapping on and off.

	Fortnite:
	Added software cursor, when using the gamepad we turn on the software cursor mapping. The asset is invisible.
	This allows us to hide the cursor without all the baggage and undesired behavior that comes with that.

Change 3181853 on 2016/11/01 by Saad.Nader

	#commonui
	Added uproperty annotations to prevent garbage collection.
	Updated code to cleanup internal caches to happen earlier.

Change 3181782 on 2016/11/01 by Bob.Tellez

	#UE4 LightComponents now respect bHiddenInGame (and other visibility flags) when determining whether they should be added to the scene.

Change 3181516 on 2016/11/01 by Saad.Nader

	#commonui

	Added an action handler interface that I have been wanting for awhile.
	Updated action widget to ignore design time changes since it relies on a common ui context instance.
	Cleaned up activatable panel interface and commited events on a input action registered to be handled. Our activatable handle automatically handles things for now without asking blueprint if we should.
	Cleanedup up miscellaneous activatable panel internals
	Activatable panels can now choose to expose input actions registered to that panel.
	Replaced activatable panel reflector with common input reflector
	Added a common global input handler that implements the action handler interface
	Updated common button and common tablist widgets appropriately to register with global input handler for appropriate actions.
	Buttons now have separate triggering actions vs. triggered actions. Triggering actions can only be set during creation of the button whereas triggered actions can be set anytime.
	Moved a lot of the boilerplate code for action button into common button to trigger and listen for actions, or register with the global input handler for triggering actions.
	Fixed typos in common ui types.
	Updated CommonUITestBed with new changes.

Change 3179753 on 2016/10/31 by Lukasz.Furman

	replaced ensure with vlog warning in GameplayTask processing
	#jira FORT-32324

Change 3178028 on 2016/10/28 by Lukasz.Furman

	attempt to fix rare crash in crowd simulation
	#jira FORT-27847

Change 3177966 on 2016/10/28 by James.Hopkin

	Removed some redundant text/string copies and conversions in 'Find in Blueprints'

Change 3176795 on 2016/10/27 by Fred.Kimberley

	Fixed the code path that grabs tooltip data for ability system components to respect the flag that shows buffs in the front end instead of final values.

	#jira FORT-30491

Change 3175818 on 2016/10/26 by Bob.Tellez

	#UE4 Protecting against a nullptr access in FVisibilityPropertySection::GenerateSectionLayout. More investigation is needed to determine if this should be allowed to be null.

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

	Check if MacApplication is valid in FMacApplication::OnCursorLock() block that's called asynchronously and can be executed after MacApplication was destroyed. Fixes FORT-32075

Change 3175369 on 2016/10/26 by Saul.Abreu

	Refactored CreateWidget functions to share UserWidgetClass validation logic and fixed a missing early-out return statement.

Change 3175233 on 2016/10/26 by Saul.Abreu

	#fortnite
	Common Button now properly handles its interactibility changing when it's toggleability has changed - previously, being selected when toggling is turned on would leave the button non-interactible and thus not practically toggleable.

Change 3174285 on 2016/10/25 by Mark.Satterthwaite

	Fix command-buffer failures when resizing windows on Mac - we have to capture windowWillResize: events in our window delegate and then forward on a call to Slate's OnResizingWindow event handler, that internally causes rendering to flush. If we wait to do this in windowDidResize then the actual device back-buffer resource will have been reallocated and we presumably end up trying to render into garbage memory on the GPU, causing the intermittent command-buffer failures.
	#jira FORT-31649

Change 3173872 on 2016/10/25 by Bob.Tellez

	#UE4 Fixed an issue where if you have a map with actors  that produce a ZeroVector bounds size, SetActorTransform complains.

Change 3172828 on 2016/10/24 by Saul.Abreu

	Added useful contextual information to the message log errors provided when attempting to create widgets but failing.

Change 3172649 on 2016/10/24 by Michael.Trepka

	Call setMinSize and setMaxSize in FMacApplication::OnCursorLock() on the main thread

	#jira FORT-30177

Change 3172568 on 2016/10/24 by Saad.Nader

	#commonui Exposed a flag to reflector to not show actions for an activtable panel if we don't want them exposed.

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

	Fix FORT-31526 by setting appropriate defaults for FEditorCompositingParameters  when the feature isn't being used, as Metal still requires something be bound for the values. This all stems from Fortnite using GizmoMaterial somehow when whacking Llamas to reveal the cards contained within - I suspect the 'real' fix is not to use an Editor material in the game client...
	#jira FORT-31526

Change 3172304 on 2016/10/24 by James.Longstreet

	#fortnite #jira FORT-31090 Add setting to configure whether the virtual keyboard sends TextChanged or TextCommitted when complete.

	Add SlateSettings to project settings, for settings that need to be accessed from Slate -- the Slate module doesn't depend on Engine, so it can't access UserInterfaceSettings or InputSettings.

	Default to TextChanged in Fortnite.

Change 3171630 on 2016/10/24 by Saul.Abreu

	#fortnite
	Added API export to Common List View.
	Added support to Common List View for changing selection modes.
	Added delegate to Common List View to support hook-ups on creation of new list item widgets.
	Improved Common List View handling of item widgets that are buttons - no need to handle manually hooking up the list item clicked callback to the button.

Change 3171474 on 2016/10/22 by Saul.Abreu

	#fortnite
	New numeric text block.

Change 3171463 on 2016/10/22 by Saad.Nader

	#commonui
	Added the common action widget which can visualize the input of an activatable panel or button.
	Added the common activatable panel reflector widget so we can build a bar widget which can visualize the actions an activatable panel have registered to handle.
	Cleaned up the input manager's handling of pushing and poping activatable panels
	Updated widget switcher to completely push or pop tabs on or off the stack so that the stack is clean of any items not in the current tab.
	Updated common ui context to expose API blueprint.
	Updated input action data to make better sense in common ui types
	Added a viewport client to redirect input for the common ui test bed.
	Added a completion delegate for listeners such as a button in a activatable panel reflector widget.
	Added test harness for activatable panel, activatable panel reflector, action widget

Change 3170868 on 2016/10/21 by Jeff.Campeau

	AutoSDK props included earlier

Change 3170663 on 2016/10/21 by Mark.Satterthwaite

	Further changes to finally fix the underlying cause of FORT-25473 and all future potential instances: SetStreamSource overrides the stride from the vertex declaration and MetalRHI wasn't properly considering what to do with Stride=0, which should disabling vertex attribute stepping. This also requires fixing some gotcha's in the StateCache.
	#jira FORT-25473

Change 3170020 on 2016/10/20 by Bob.Tellez

	#UE4 Render scale was off by one when setting via buckets in the editor widget.

Change 3169764 on 2016/10/20 by Mark.Satterthwaite

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

Change 3169631 on 2016/10/20 by Mark.Satterthwaite

	Fix a potential crash due to unnecessary reinitialisation of the MetalRenderPipelineDesc mutex.

Change 3169614 on 2016/10/20 by Mark.Satterthwaite

	Fix FORT-25473 caused by incorrect handling of vertex attributes in Metal: FParticleSpriteVertexFactory specifies the dynamic particle parameter attribute (VA 5) with a non-zero stride, which implies vertex or instance stepping - but for the P_Rocket_ColdMist_FXV effect only a single float4 is provided with the intent that this be constant for all instances. Other APIs may implicitly wrap the VA read back around but Metal does not and simply reads garbage off the end of the buffer - potentially this could even cause a GPU crash. MetalRHI now detects when the buffer bound to an attribute can't support more than one instance and if needed updates the vertex declaration to make such attributes constant.
	#jira FORT-25473

Change 3169163 on 2016/10/20 by Fred.Kimberley

	Added UIProxyActor. This is intended as a single proxy actor to replace the existing, class specific, proxy actors.

Change 3168732 on 2016/10/20 by Saul.Abreu

	Exposed style references in UCommonTextBlock. Allows widgets to look at the styles on the CDO.

Change 3168713 on 2016/10/20 by Saul.Abreu

	Fixed unconditional inclusion of Developer module headers (settings module) in client builds from Common UI module.

Change 3168659 on 2016/10/20 by Saul.Abreu

	Created and exposed SetMinDesiredWidth on UTextBlock, following the example set by other setters in the class.

Change 3168658 on 2016/10/20 by Saul.Abreu

	The Common UI plugin now has a settings object which will appear in the project settings window. It exposes setting default styles for both CommonTextBlock and CommonButton in the Game config file.

Change 3167632 on 2016/10/19 by John.Pollard

	Fix FN replay scrubbing issues

	* Solution for net startup actors that need to be "rolled back" during scrubbing if they've been modified
	* Solution for when net startup actors should be deleted past checkpoints
	* Added version support to load older replays that don't save out deleted net startup actors in checkpoints

Change 3166065 on 2016/10/18 by Saad.Nader

	#commonui renaming UCommonActivatableManager to UCommonInputManager, added ability to change input method for desktop and console.

Change 3166049 on 2016/10/18 by Lukasz.Furman

	added navmesh exploration helpers in FortNavMesh
	#fortnite

Change 3165085 on 2016/10/17 by Saad.Nader

	#blueprintcontext fixed log output for created blueprint context

Change 3163115 on 2016/10/14 by James.Hopkin

	Prevented variable combo box clipping long type names in blueprint details panel

	[UE-19710]

Change 3162629 on 2016/10/13 by Saul.Abreu

	#fortnite
	#jira FORT-31489
	Ported Paragon's tile view widget over to the Common UI Plugin as Common Tile View. Added exemplar/test case in Common UI testbed.

Change 3162624 on 2016/10/13 by Saul.Abreu

	Improved "Create Event" node with text showing the function signature in a friendly manner.

Change 3162114 on 2016/10/13 by Guillaume.Abadie

	Implements r.EarlyZPassOnlyMaterialMasking.

	Fortnite grass/trees is using masked material. However masked materials are doing clip in early z pass and base pass, both preventing the pixel shader from using the early depth test. This CL execute material's mask opacity only in the early z pass to keep early depth test on expensive mask material's base pass pixel shader.

Change 3161479 on 2016/10/13 by Saad.Nader

	#commonui Updated Common button to be able to handle a bound common input action by causing the button to get clicked.
	Updated Activatable panel to ignore input if it is not activated
	Added helper functions to common widget switcher for activating/deactivating the active widget if it is a activatable panel.

Change 3161092 on 2016/10/13 by Saul.Abreu

	#fortnite
	Common Tab List widget now exposes access to its linked switcher as well as overridable events before and after the linked switcher is set. OnCreateNewTab can now be implemented in native code or blueprints. Buttons added as tabs in the tab list will now have their selectabilty and toggleability set as necessary.

Change 3160762 on 2016/10/12 by Billy.Bramer

	- Make UAbilitySystemComponent::AreAbilityTagsBlocked virtual so games can provide a custom implementation

Change 3160736 on 2016/10/12 by Lukasz.Furman

	fixed some gameplay debugger's categories not rendering correctly in simulate mode
	#fortnite

Change 3160417 on 2016/10/12 by Mark.Satterthwaite

	Disable DistanceField AO & Shadowing support on Intel GPUs under Metal - there are driver bugs that prevent them from working currently.
	#jira FORT-31268

Change 3160314 on 2016/10/12 by Michael.Trepka

	Fixed incorrect rect initialization in Mac GetDisplayMetrics

Change 3160309 on 2016/10/12 by Lukasz.Furman

	pass on gameplay debugger in Simulate in Editor mode
	copy of CL 3160014
	#ue4

Change 3159892 on 2016/10/12 by John.Abercrombie

	Fixed the Blackboard component pausing but never being unpaused if we ended up restarting the Behavior Tree instead of continuing

	#ue4

Change 3159630 on 2016/10/12 by Jamie.Dale

	Fixed an issue where async and non-async loading could result in the package being given a different name

	Async loading would always use the non-localized name (which is correct), but non-async loading would sometimes use the localized name (which is incorrect); now they both do the same thing.

Change 3159249 on 2016/10/11 by Jonathan.Lindquist

	fixing a potential uv bug related to their names

Change 3159145 on 2016/10/11 by Lukasz.Furman

	fixed behavior tree task restart conditions
	#ue4

Change 3158846 on 2016/10/11 by John.Pollard

	Add ability to override network async loading for replays

Change 3158551 on 2016/10/11 by Saad.Nader

	#commonui remove checks for common tab list widget when set listening for input occurs.

Change 3157727 on 2016/10/10 by Saul.Abreu

	#fortnite
	Common button style now has minimum width and minimum height properties and common button will use the maximum of its own and the style's minimums.

Change 3157364 on 2016/10/10 by Jamie.Dale

	Split localized package redirection out of FCoreDelegates::PackageNameResolvers

	They're different enough in behavior that the delegate resolution was breaking the localized package resolution by resolving in too many places and causing the localized package to be loaded with its real localized name as well as the fake non-localized name.

	#jira FORT-31207

Change 3156616 on 2016/10/10 by Lukasz.Furman

	added more failsafes to crowd simulation crash
	#jira FORT-27847

Change 3155092 on 2016/10/07 by Chris.Gagnon

	SlateApplication
	- Added more control over where navigation originates from with the ENavigationSource enumeration piped in through the FReply
	- Added custom handling support for the navigation responce using the FCustomNavigationHandler

	Fortnite
	- Added Input Preprocessor for generating navigation events and handling the "virtual cursor" position
	- Added the Input mode switching support for gamepad <-> keyboard (Currently disabled)

Change 3154721 on 2016/10/07 by Lukasz.Furman

	automation fix for AI tests with multiple spawn sets
	copy of CL# 3154035
	#jira FORT-31106

Change 3154466 on 2016/10/07 by Saul.Abreu

	#fortnite
	Additional logging and checking to help diagnose cause of current build breakage, possibly related to blueprint context OR unrelated but coincidental and related to game data or homebase manager.

Change 3154349 on 2016/10/06 by Saul.Abreu

	#fortnite
	Relocate BP context and common UI plugins to Engine (NotForLicensees).

Change 3152396 on 2016/10/05 by Lukasz.Furman

	fixed RECAST_ASYNC_REBUILDING define being ignored by navmesh generator
	#ue4

Change 3152390 on 2016/10/05 by Lukasz.Furman

	including AgentRadius in area modifier bounds in layer's intersection test
	fixes modifier cuts at tile boundary
	#jira FORT-31051

Change 3151999 on 2016/10/05 by Lukasz.Furman

	added vlogs for applying and removing gameplay effects
	#jira FORT-30982

Change 3150947 on 2016/10/04 by Bob.Tellez

	#UE4 Fix to find the title.json file in the correct game folder.

Change 3149775 on 2016/10/03 by Bob.Tellez

	#UE4 Added property editor code support for doubles.

Change 3148729 on 2016/10/03 by Lukasz.Furman

	fixed memory corruption in DemoNetDriver
	#fortnite

Change 3146148 on 2016/09/29 by Bob.Tellez

	#UE4 Fixed a case where the LastRecordedHittestIndex would remain zero, causing the widget path to get truncated and result in the mainframe window when determining if you should spawn a tooltip, causing us to try to create a tooltip outside of our tooltip presenter widget, causing a new window to be created and a crash to happen on consoles.

	#JIRA FORT-30378

Change 3146016 on 2016/09/29 by Daniel.Broder

	Added BlueprintGameplayTagLibrary function "Get All Actors of Class Matching Query".

	It uses TActorIterator to find only all actors derived from the specified class and then further winnows them by whether they match a GameplayTagQuery.  If any actor does NOT implement IGameplayTagAssetInterface, the function will log ONCE a warning that the class in question doesn't implement the required interface to be able to check for matching tags.  (NOTE: This function can be extremely expensive if there are a large number of actors of the class requested, so be cautious using it.

	It can be used at initialization time to find a specific subset of actors to act on (for example).

	#UE4 #ReleaseNote

Change 3145827 on 2016/09/29 by Lukasz.Furman

	added sanity checks to EQS tick
	#jira FORT-30755

Change 3145520 on 2016/09/29 by Chad.Garyet

	changing notifications to require there be a type to verify the user exists
	#jira FORT-30754

Change 3145428 on 2016/09/29 by Bob.Tellez

	#UE4 Made plugin loaded log statements verbose.

Change 3145229 on 2016/09/29 by Bob.Tellez

	#UE4 Fix for only running the first test on commandline

Change 3142730 on 2016/09/27 by Bob.Tellez

	#UE4 Removing needless scope on a virtual function call that made it seem static and made UpdateResolutionQuality protected so it can be called from subclasses that may be procedurally determining DesiredScreenWidth and DesiredScreenHeight

Change 3142632 on 2016/09/27 by Saul.Abreu

	#fortnite
	Improved data table row struct post-data-import method with more context provided through parameters. Used to fixup homebase node display names to have stable keys generated from the row name.

Change 3140907 on 2016/09/26 by Bob.Tellez

	#UE4 Allowing movie files to be renamed to match platform requirements

Change 3140399 on 2016/09/26 by Lukasz.Furman

	fixed uninitialized configs of gameplay debugger
	#jira FORT-30439

Change 3138880 on 2016/09/23 by Fred.Kimberley

	Added source tag requirements to conditional gameplay effects.

	#jira FORT-29772

Change 3138262 on 2016/09/23 by Chad.Garyet

	Integrating codesign fix into Fortnite/Main

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

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

Change 3136720 on 2016/09/22 by Rob.Cannaday

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

Change 3136391 on 2016/09/22 by Lukasz.Furman

	fixed crowd path section switch rejecting navlinks at end of path
	#jira FORT-30400, FORT-30402

Change 3136295 on 2016/09/22 by Lukasz.Furman

	fixed navlinks not connecting to navmesh correctly in "snap to cheapest area" mode,
	adjusted scoring in navmesh projection - findNearestPoly2D
	#jira FORT-30358

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

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

Change 3135237 on 2016/09/21 by Mark.Satterthwaite

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

Change 3135177 on 2016/09/21 by Rob.Cannaday

	Demote "Missing party state during exit" log from warning to display, as order of operations cause this to always be triggered when voluntarily leaving a party
	#jira FORT-22575

Change 3135176 on 2016/09/21 by Rob.Cannaday

	When returning to front-end, re-evaluate pending party joins that were in the waiting for beacon reservation state.
	#jira FORT-27737

Change 3135174 on 2016/09/21 by Mark.Satterthwaite

	- Copy MetalRHI & MetalShaderFormat from Dev-Rendering CL #3132772
	Provides significant performance improvements on CPU due to improved vertex declaration handling & much reduced GPU heap fragmentation + more stats.
	Definitely fixes:
	#jira FORT-29430

Change 3135169 on 2016/09/21 by Mark.Satterthwaite

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

Change 3135157 on 2016/09/21 by Mark.Satterthwaite

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

Change 3135136 on 2016/09/21 by Bob.Tellez

	#UE4 Added GetPackageDependenciesForManifestGenerator delegate for games to be able to determine package dependencies however they deem fit.

Change 3135132 on 2016/09/21 by Bob.Tellez

	#UE4 Better final cook platform path creation. WindowsClient was incorrectly forming a path to WindowsNoEditor when looking for chunk manifests

Change 3134313 on 2016/09/21 by Lukasz.Furman

	attempt to fix crash in navmesh generation
	#jira FORT-30340

Change 3134091 on 2016/09/21 by Rob.Cannaday

	Fix crash in lib curl debug callback because the string parameter provided by libcurl is not null terminated
	#jira OGS-428

Change 3133949 on 2016/09/21 by Lukasz.Furman

	crowd agents will use shorter path corridor when one of two last polys are navlink
	(corridor part switch happens with 2 or less polys left, we don't want to switch while on navlink)
	#jira FORT-29880

Change 3133219 on 2016/09/20 by Lukasz.Furman

	fixed broken navlink's "snap to cheapest area" mode
	#fortnite

Change 3133087 on 2016/09/20 by Saul.Abreu

	Updated comments on FARFilter to more explicitly express interactions between class filtering settings.

Change 3132990 on 2016/09/20 by Saul.Abreu

	#fortnite
	Overhaul of asset crawling localizable text gathering commandlet. Added feature for filtering processed assets based on membership in a collection.

Change 3132627 on 2016/09/20 by Bob.Tellez

	#Fortnite Added XLoc language ID for for zh-CN

Change 3132616 on 2016/09/20 by Lukasz.Furman

	added tolerance to navmesh project point 2D query
	added overrides for accessing projection with tolerance during navwalking height checks, should be replaced with navdata flags later on
	#jira FORT-29474

Change 3130819 on 2016/09/19 by Ben.Marsh

	UBT: Read additional configuration settings for BuildConfiguration and UEBuildConfiguration from the engine config settings. Allows setting project-specific config values.

Change 3130639 on 2016/09/19 by Lukasz.Furman

	pass on crowd simulation
	- husks should move faster through funnels now
	- husks can clip each other a bit more often :(

	#fortnite

Change 3130625 on 2016/09/19 by Bob.Tellez

	#UE4 Added an ensure to further track down invalid usage of playerinput

	#JIRA FORT-30183

Change 3128884 on 2016/09/16 by Ben.Salem

	Repair nightly FTest runs. FTests are now namespaced differently as of new main merge, and had to uncomment a load-bearing wait that exists to enable the way we run our nightlies (nullrhi w/ execcmds) to start the test properly.

Change 3128874 on 2016/09/16 by Daniel.Lamb

	Testing to see if memory changes have injured fortnite cook times.

Change 3127175 on 2016/09/15 by John.Abercrombie

	GameplayCueInterface's TagToFunctionMap is now keyed by FObjectKey of a UClass, rather than using the UClass as the key
	- Since UClass-es can be unloaded at run-time, and then loaded again later in a different spot in memory, this is a better solution

	Clear out the TagToFunctionMap whenever we cleanup a world

	Move the TagToFunctionMap into a namespace

	#jira FORT-29194 - Crash during Fight the Storm Defense

Change 3126840 on 2016/09/15 by Bob.Tellez

	#UE4 Added a hack to aid in the conversion from the "USA" and "Poland" region names to "NA" and "EU"

Change 3125944 on 2016/09/14 by Billy.Bramer

	- Fix for FJsonObjectWrapper incorrectly exporting to JSON in a string representation instead of an object representation now that it has an implementation of export text

Change 3125764 on 2016/09/14 by Saul.Abreu

	Change to enum and struct registration so that their packages are all created before either set gets to run their registration logic.

Change 3125719 on 2016/09/14 by Bob.Tellez

	#UE4 Windows in nullrhi do not have OS handles and not initializing you parent window causes a crash when you start PIE (needed for headless automation testing)

Change 3125504 on 2016/09/14 by jonathan.lindquist

	adding a comment to the exclude wpo offsets input

Change 3124203 on 2016/09/13 by Bob.Tellez

	Temporarily removing IOS.Automation.csproj dependency on MobileDeviceInterface since it is causing warnings in UGS right now.

Change 3124192 on 2016/09/13 by Tim.Tillotson

	Fix bad format string in FLinkerLoad::VerifyImport

	Warning:
	[2016.09.13-18.49.05:928][927]LogText:Warning: Failed to parse argument "ImportClass" as a number (using "0" as a fallback). Please check your format string for
	 errors: ": Failed import for {ImportClass}".

Change 3124083 on 2016/09/13 by Bob.Tellez

	#UE4 Re-disabling EQFilter for all machines. This is a temporary solution until a more efficient method is found that does not cause machines to lag.

Change 3123783 on 2016/09/13 by Jonathan.Lindquist

	Subtacting 1 from the VAT tools output texture file name uv number to match unreals 0-based system.

Change 3122223 on 2016/09/12 by Jonathan.Lindquist

	Adding optional uv controls for the texture based animations

Change 3122220 on 2016/09/12 by jonathan.lindquist

	adding an optional uv input for the Vertex animation toolset

Change 3122070 on 2016/09/12 by John.Abercrombie

	Added nav links to corner walls, rather than depending on a nav area to traverse the low edge of the corner

	Made crowd folowing component use the velocity while traversing a link, except if we're falling

	AIs will not update their paths while following a nav link

	Lowered the step height of all AIs from 90 to 72

	#jira FORT-29786 - Husks can move over the balcony wall on floor structures.

Change 3121098 on 2016/09/12 by Chris.Wood

	Increased Linux timeout when waiting for CRC to complete.
	[UE-30259] - Some server crashes are missing from crashreporter database

	#jira UE-30259

Change 3120694 on 2016/09/12 by Saul.Abreu

	#fortnite
	Refactored CMS reader to support URLs with protocols (http, https, and file). URIs (URL sans protocol) will no longer work, but we can add in smart fallback logic later, as this is only in Fortnite currently and the only CMS data available currently is via local file. Console command will handle URLs using double quotes, since the colon trips up existing console command parsing logic (it seems).

Change 3120686 on 2016/09/11 by Saul.Abreu

	#fortnite
	Deleting erroneous config files in EpicCMS plugin.

Change 3120659 on 2016/09/11 by Saul.Abreu

	Added support to widget carousel for getting a callback when the active widget changes. (Not sure who the original author was, but the oldest tracked revision codereview'd Justin Sargent.)

Change 3120658 on 2016/09/11 by Saul.Abreu

	Fixed UMG grid panel to properly set the padding on the slots it creates.

Change 3118466 on 2016/09/08 by Bob.Tellez

	#UE4 There is now an option to exclude all UMG widgets and slots from dedicated server builds. Set bLoadWidgetsOnDedicatedServer=false for this behavior

Change 3118149 on 2016/09/08 by Bob.Tellez

	#UE4 Dont cook non-native CDO references that are excluded for your target

Change 3117604 on 2016/09/08 by John.Abercrombie

	FortGameModeFTesting no longer spawns a pawn

	Added automated test setting to FortGameMode so we can avoid waiting for a pawn before removing the loading screen

	Made the FunctionalTest set the view target to the Observation Point if we don't have a pawn, note that this only works on Player Controllers that aren't Debug Camera Controllers so we don't annoy any user who's moving around

Change 3116964 on 2016/09/07 by Bob.Tellez

	#Fortnite We are now building crashreportclient for linux instead of using the stale binary in P4

Change 3116284 on 2016/09/07 by Tim.Tillotson

	#fortnite Add support for quest objectives that track player ability activation.

	As part of this also:
	+Added a bWasCancelled parameter to GameplayAbility::EndAbility. This allows us to determine if an ability was ended prematurely.
	+Added a OnAbilitySucceeded delegate for determining when an ability was successfully ended.

	Some additional improvements thanks to code review feedback from Fred.Kimberley.

	After discussing with Matt Hancy we decided to keep the OnAbilityCompleted delegate for now. We may be able to deprecate and remove it in the future if we rewrite all the existing abilities that use it.

Change 3116039 on 2016/09/07 by John.Abercrombie

	Fix crash when you change the blueprint of a class referenced by a gameplay cue between PIE runs

[CL 3215544 by Bob Tellez in Main branch]
2016-11-30 14:12:57 -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 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
Matthew Griffin
c323066b91 Copying //UE4/Release-Staging-4.14 to //UE4/Dev-Main (Source: //UE4/Release-4.14 @ 3182951)
#lockdown Nick.Penwarden
#rb none

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

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

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

	#jira UE-38017

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

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

	#jira UE-38017

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

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

	#jira UE-38020

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

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

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

	#jira UE-38017 UE-38020

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

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

	#jira UE-38017 UE-38020

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

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

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

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

	#jira UE-37588

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

	Updated READMEs for 4.14 (UE-38059).

	#jira UE-38059

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

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

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

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

	#jira UE-38091

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

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

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

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

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

	PhysX Bulid Automation script update

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

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

	#jira UE-38072

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

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

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

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

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

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

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

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

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

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

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

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

	new emscripten tool chain configured by jukka from Mozilla

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

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

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

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

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

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

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

	#jira UE-37794

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

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

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

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

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

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

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

	Disabled high-DPI in Mac CrashReportClient

	#jira UE-37697

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

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

	#jira UE-37998

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

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

	#jira UE-29618

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

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

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

	#jira UE-36108

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

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

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

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

	#jira UE-38001

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

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

	#jira UE-37921

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

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

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

	Updating QA-Materials to include BuiltData

	#jira UE-29618

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

	Fixing up static analysis warning about array size in GoogleVRHMD code

	#jira UE-38007

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

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

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

	Updating QA-Effects map to include BuiltData

	#jira UE-29618

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

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

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

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

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

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

	#jira UEPLAT-1424

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

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

	#jira UE-37894

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

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

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

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

	#jira UEPLAT-1424

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

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

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

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

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

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

	#jira UEPLAT-1424

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

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

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

	Re-Saving Foliage asset in Tm-DistanceFields

	#jira UE-29618

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

	updating AutoLOD settings for foliage example in TM-Shadermodels

	#jira UE-29618

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

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

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

	Adding test content for the World Origin Rebasing feature

	#jira UE-29618

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

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

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

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

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

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

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

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

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

	Sequencer: Fix fade track instance compile

	#jira UE-37939

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

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

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

	#jira UE-37536

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

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

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

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

	Fix the fbx automation tests
	#jira UE-37960

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

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

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

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

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

	Copy from Dev-Sequencer

	#jira UE-37328
	#2864

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

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

	#jira UE-37915

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

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

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

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

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

	Fix build issue
	#jira: UE-37911

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

	Enabling follow on certain notifies to help catch issues

	#jira UE-29618

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

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

	Mirror CL 3178247 and CL 3178256 in Dev-Framework.

	#jira UE-37902

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

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

	#jira UE-37939

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

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

	#jira: UE-37946

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

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

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

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

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

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

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

	Rebuilt lighting and saved levels.
	#jira UE-36913

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

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

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

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

	#jira UE-37914

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

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

	Copy from Dev-Sequencer

	#jira UE-35342

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

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

	#jira UE-37935

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

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

	#jira UE-36861

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

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

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

	Added guards to WITH_EDITOR only static initialisation

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

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

	#jira UE-37917

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

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

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

	Non-editor build fix

	#jira UE-37929

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

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

	#jira UE-37810

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

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

	#jira UE-37927

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

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

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

	#jira UE-37852

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

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

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

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

	#jira UE-37910

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

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

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

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

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

	Vehicle Assets

	#jira UE-29618

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

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

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

	Missed node link

	#jira UE-29618

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

	Test AnimBP for crash

	#jira UE-29618

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

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

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

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

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

	Check the pointer before using it
	#jira UE-37853

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

	Rebuilt Lighting

	#jira UE-29618

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

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

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

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

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

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

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

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

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

	#jira UE-37848

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

	Setting up skeleton for retargeting testing

	#jira UE-29618

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

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

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

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

	#jira UE-37297
	#jira UE-37711

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

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

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

	#jira UE-37690

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

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

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

	#jira UE-37686

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

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

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

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

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

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

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

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

	#jira UE-37336

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

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

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

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

	#jira UE-37785

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

	Twinblast bust changes

	#jira UE-0

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

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

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

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

	#jira UE-37838

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

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

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

	Test Map for virtual bones

	#jira UE-29618

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

	Test assets for Virtual Bones testing

	#jira UE-29618

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

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

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

	Fixed mouse position calculations for secondary monitors on Mac

	#jira UE-37822

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

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

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

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

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

	Fix retarget crash

	#jira UE-37781

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UE-37819

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

	Fixed Duplication mode
	#jira UE-37231

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

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

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

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

	#jira UE-37594

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

	Fix world origin shifting causing a crash inside physx.

	#JIRA UE-37745

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

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

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

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

	#jira UE-37617

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

	Ensured that Online Subsystem Oculus plugin is precompiled successfully for Android

Change 3174644 on 2016/10/26 by Matthew.Griffin

	Fixing GoogleVR compile issues

Change 3174352 on 2016/10/25 by Daniel.Wright

	Rename map build data along with the world - fixes lighting lost on map rename / save as.
	Duplicate map build data along with the world - fixes lighting lost on map duplicate in the content browser, or save as when the source already exists.
	Save map build data packages in SaveWorld - fixes lighting being lost on save as.
	#jira UE-37231

Change 3174335 on 2016/10/25 by Chris.Babcock

	Corrected Proguard issue with Codeworks for Android 1R5 installers
	#jira UE-37680
	#ue4
	#android

Change 3174318 on 2016/10/25 by Marcus.Wassmer

	Duplicate 3174187
	#jira UE-37020

Change 3174263 on 2016/10/25 by patrickr.donovan

	Test content updates and additions. Lighting Channel map added to TM-VRLoader.
	#jira UE-29618

Change 3174120 on 2016/10/25 by Daniel.Wright

	UObject::PostDuplicate with DuplicateMode
	* Allows differentiating between being duplicated as part of a world duplication vs duplication within a level
	* This is needed when generating a guid that needs to be unique within a level, but constant across instances of that level, like a light component
	#jira UE-37231

Change 3174113 on 2016/10/25 by Daniel.Wright

	Fixed log spam
	#jira UE-37522

Change 3174010 on 2016/10/25 by Jamie.Dale

	Fixed several crashes in the Session Frontend when viewing profiles

	- SFiltersAndPresets wasn't being cleared when the profile data was changed back to a live instance.
	- SFiltersAndPresets could crash if it was updated when no profile was selected.
	- SDataGraph could cause a crash if you clicked on it when there was no data (passed a range of -1, 0).
	- A session update message would clobber any loaded profile data, resetting to the current instance.

	#jira UE-37597

Change 3173982 on 2016/10/25 by mason.seay

	Deleting unneeded asset

	#jira UE-29618

Change 3173912 on 2016/10/25 by Ori.Cohen

	Fix divide by 0 crash when torque curve is 0

	#JIRA UE-37737

Change 3173866 on 2016/10/25 by Ben.Marsh

	Remove setting forcing UnrealCEFSubProcess to compile using Visual Studio 2013.

	#jira UE-37678

Change 3173824 on 2016/10/25 by Ben.Marsh

	Fix trying to recompile UBT in Rocket builds when cleaning a build target.

	#jira UE-37616

Change 3173812 on 2016/10/25 by Nick.Darnell

	XBoxOne - The Vertex and Index buffers are now allocated with the right nextwriteoffset to prevent stomping old data on future writes.

	#jira UE-37757

Change 3173808 on 2016/10/25 by Ben.Marsh

	Fix batch files detecting MSBuild install locations for Visual Studio "15" preview 5.

	#jira UE-37627

Change 3173711 on 2016/10/25 by Ori.Cohen

	Fix linux compiler issues for physx

	#JIRA UE-37085, UE-37114, UE-37116

Change 3173704 on 2016/10/25 by James.Cobbett

	Import test assets for Alembic Conversion test
	#jira UE-29618

Change 3173694 on 2016/10/25 by Matt.Kuhlenschmidt

	Fixed Zip project not working in binary builds

	#jira UE-37655

Change 3173692 on 2016/10/25 by James.Cobbett

	Test content for Alembic Conversion options

	#jira UE-29618

Change 3173666 on 2016/10/25 by Matt.Kuhlenschmidt

	Fixed array refreshing in the details panel not functioning properly for sub-object properties

	#jira UE-37652

Change 3173619 on 2016/10/25 by Robert.Manuszewski

	Making the cooker ignore EDL ini setting in binary engine build.

	#jira UE-37617

Change 3173616 on 2016/10/25 by Nick.Whiting

	Merging update to Google VR 1.01 SDK, which fixes multiple initialization errors

	#jira UE-37440, UE-37236

Change 3173606 on 2016/10/25 by Jamie.Dale

	Removed invalid assert

	We're already passed the collection to modify, so the assert isn't needed.

	#jira UE-37761

Change 3173604 on 2016/10/25 by Keli.Hlodversson

	Work around an issue where the SteamVR plugin will fail to initialize if SteamVR was not already running before launching.
	#jira UE-37623

Change 3173502 on 2016/10/25 by Matt.Kuhlenschmidt

	Fixed more cases of undoing causing selections to become out of sync

	#jira UE-37300

Change 3173475 on 2016/10/25 by Ori.Cohen

	Critical 4.14 physx fixes

	#JIRA UE-37085, UE-37114, UE-37116

Change 3173445 on 2016/10/25 by Robert.Manuszewski

	Disabling the Event Driven Loader in ShooterGame. Making sure the EDL can't be enabled in binary engine distributions.

	#jira UE-37394

Change 3173401 on 2016/10/25 by Matt.Kuhlenschmidt

	Guard against crashes when textures or materials are explicitly marked as pending kill and then passed to slate for rendering

	#jira UE-36261

Change 3173245 on 2016/10/25 by Allan.Bentham

	Remove incorrect assert.
	#jira UE-37699, UE-37707

Change 3173232 on 2016/10/25 by Jurre.deBaare

	Post Processing Settings do not update in Persona when the values are changed in Preview Scene Settings
	#fix make sure we also pick up vector4 fields
	#jira UE-37656

Change 3173183 on 2016/10/25 by Matthew.Griffin

	Added Shipping configs to BootstrapPackagedGame (Duplicating CL#3150210 from Main)

Change 3173065 on 2016/10/25 by Dmitriy.Dyomin

	Fixed: Disabling 'Use Landscape Lightmap' option Skewing Procedural Foliage Instances
	#jira UE-37736

Change 3172929 on 2016/10/24 by Ryan.Vance

	#jira UE-37742
	Adding SceneViewExtension hooks that are called right after init views completes. It might be advantageous to do the work we're currently doing in PreRenderViewFamily_RenderThread and PreRenderView_RenderThread after init views is called with the way SteamVR's running start is implemented.

Change 3172915 on 2016/10/24 by Rolando.Caloca

	UE4.14 - Fix compile issues on CCT
	#jira UE-37722

Change 3172762 on 2016/10/24 by Brian.Karis

	#jira UE-37369

Change 3172742 on 2016/10/24 by Daniel.Lamb

	Fixed issue with file-> cook error when you haven't built the exe which you are trying to cook for.
	#jira UE-36796
	#test Cook shootergame

Change 3172690 on 2016/10/24 by Maciej.Mroz

	DynamicClass gives now, as componet-archetype, objects with non-exact name.
	Manually merged cl#3171563

	#jira UE-37480

Change 3172663 on 2016/10/24 by Daniel.Lamb

	Stopped cooker from handling modification requests when they are PIE requests.
	#test PIE shootergame
	#jira UE-21572

Change 3172629 on 2016/10/24 by Mitchell.Wilson

	Reconnected some material functions to resolve warnings which caused characters to render with default materials, and resolving 'Top Material' warnings.
	Reimported SM_GodRay_Plane to resolve PhysX warning
	Rebuilt lighting for the level.
	#jira UE-37728

Change 3172523 on 2016/10/24 by Nick.Shin

	update physx cmakefiles and automation build scripts for release-414 stream (as per request)

	#jira UEFW-106   Add HTML5 support to PhysX CMake & automation scripts

Change 3172515 on 2016/10/24 by Nick.Shin

	remove old emsdk (1.35.0)

	#jira UEPLAT-1324  Update HTML5 PhysX to CMake

Change 3172511 on 2016/10/24 by Mark.Satterthwaite

	Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
	#jira UE-37481

Change 3172461 on 2016/10/24 by Cody.Albert

	Added check for pointer validity to prevent crash in ShooterGame

	#jira UE-37433

Change 3172329 on 2016/10/24 by Peter.Sauerbrei

	fix for remote notification method misspelling
	#jira ue-37720

Change 3172322 on 2016/10/24 by Marc.Audy

	Fix unreferenced variable the brute force to unblock QA
	#jira UE-37718

Change 3172191 on 2016/10/24 by Mitchell.Wilson

	Clearing preivew meshes on some materials to resolve warnings.
	#jira UE-37713

Change 3172186 on 2016/10/24 by Matt.Kuhlenschmidt

	Fix non-editor compile error

	#jira UE-37695

Change 3172159 on 2016/10/24 by Dmitry.Rekman

	Update GitDependencies.exe (UE-37530).

	- Binary needs to be updated to support LINUX_MULTIARCH_ROOT variable.

	#jira UE-37530

Change 3172132 on 2016/10/24 by Keith.Judge

	Xbox One - Fix corrupted screenshots. Needed a GPU/CPU sync point, which legacy D3D11.x used to do for us, but now we have to do manually. Copied from Dev-Platform CL 3156872

	#jira UE-37038

Change 3172131 on 2016/10/24 by Keith.Judge

	Xbox One - Disable engine analytics on XB1 shipping games, as per XRs. Verified http requests from devkit with Fiddler. Copied from CL 3153176 in Dev-Platform.

	#jira UE-36364

Change 3172106 on 2016/10/24 by Mitchell.Wilson

	Updated reference to a material in VehicleMenu.umap to resolve warning
	#jira UE-29748

Change 3172036 on 2016/10/24 by Steve.Robb

	TEnumAsByte can be switchably deprecated for enum classes, and is currently not deprecated (reverting a change in behavior).

	#jira UE-37706

Change 3172020 on 2016/10/24 by Marc.Audy

	Child Actor should be created at registration, not creation. Otherwise attachment hierarchies can not be set up and thus, world positions incorrect
	#jira UE-37615

Change 3171966 on 2016/10/24 by Dmitry.Rekman

	Linux: fix Setup.sh on Ubuntu 16.10 (UE-37621)

	#jira UE-37621

	(Edigrating 3171266 from Dev-Platform to Release-4.14)

Change 3171964 on 2016/10/24 by Dmitry.Rekman

	Linux: fix always rebuilding FixDeps (UE-37625).

	#jira UE-37625

	(Edigrating 3153471 from Dev-Platform to Release-4.14)

Change 3171957 on 2016/10/24 by Matt.Kuhlenschmidt

	Guard against property editor crash happening when focused is lost on an object which has been GC'd due to PIE running

	#jira UE-37636

Change 3171943 on 2016/10/24 by Matt.Kuhlenschmidt

	Added mesh simplifcation plugin picker to the project settings under Editor - Mesh Simplification
	 The menu to pick simplification plugins also contains a link to find other plugins in the launcher marketplace.  The launcher navigates to "/ue/marketplace/content-cat/assets/codeplugins" for now

	#jira UE-37695

Change 3171928 on 2016/10/24 by Max.Chen

	Sequencer: Revert CL#3162724. Fix time dilation in level sequence player because it's causing a regression. Will revisit the fix for UE-37277.

	#jira UE-37589

Change 3171924 on 2016/10/24 by James.Cobbett

	Test content 'preroll.abc'. Has empty frames at the start of animation. For alembic importer testing.
	#jira UE-29618

Change 3171867 on 2016/10/24 by Lina.Halper

	- Back out revision 2 from //UE4/Release-4.14/Engine/Source/Runtime/Engine/Private/Components/SkeletalMeshComponent.cpp
	- Empties override materials before setting preview mesh in animation editor

	#jira: UE-37610
	#code review: Thomas.Sarkanen

Change 3171789 on 2016/10/24 by Allan.Bentham

	Resolve depth on appropriate mobile devices when the view contains materials that read from the depth.
	#jira UE-35023

Change 3171776 on 2016/10/24 by Robert.Manuszewski

	Increasing the initial memory allocation size for FLargeMemoryWriter to reduce the number of allocations when saving or cooking

	#jira UE-37599

Change 3171728 on 2016/10/24 by Dmitriy.Dyomin

	Fix origin rebasing to work with precomputed lighting data stored in separate package
	#jira UE-37693

Change 3171634 on 2016/10/24 by Dmitriy.Dyomin

	Added commenets to 3171621
	#jira UE-36449

Change 3171621 on 2016/10/23 by Dmitriy.Dyomin

	Fixed: Editor crash when compiling the character blueprint after a PIE session with World Composition enabled
	Actually disabled use of world composition with multiplayer PIE using separate processes
	#jira UE-36449

Change 3171424 on 2016/10/22 by Jack.Porter

	Remove unused exec command causing logspam

	#jira UE-37661

Change 3171259 on 2016/10/21 by Ryan.Vance

	Mobile multi-view update

	#jira UE-37603

	Removed dependence on shader name for determining if we need to enable multi-view, now relies on the presence of gl_ViewID_OVR
	Worked around unsigned/signed integer driver issues. Some shader compilers were choking on the unsigned postfix
	Attempted to clean up some of the code duplication in MobileBasePassRendering.cpp
	Made a few design concessions which allows the feature to run on Mali devices in the wild right now:
	  Allow the feature to be enabled with ES2 rather than just ES3.1. Mali drivers have a bug preventing shader io blocks and multi-view from working together
	  Passing the view id from the vertex shader. Mali devices don't allow referencing gl_ViewID_OVR in a pixel shader

Change 3171165 on 2016/10/21 by Peter.Sauerbrei

	revert out the memory changes for platform file cache for mobile
	#jira UE-36835

Change 3171112 on 2016/10/21 by Matt.Barnes

	Updating TM-Material_BP_Nodes to facilitate test UEQATC-2969.

	#jira UEQATC-2969

Change 3171111 on 2016/10/21 by Mike.Beach

	Mirroring CL 3171084 form Dev-BP
	Guarding against a unrepro'able top-10 crash in SGraphPin. Making sure we're not operating on a null/pending-kill/transient pin.

	#jira UE-37642

Change 3170980 on 2016/10/21 by patrickr.donovan

	Motion controller test content update - further updates to combat thumbstick noise.

	#jira UE-29618

Change 3170965 on 2016/10/21 by Mitchell.Wilson

	Moved panner in M_Frame3_BG material to Custom UV0 to resolve issue with material rendering white on tvOS
	#jira UE-37105

Change 3170905 on 2016/10/21 by Marc.Audy

	Fix AActor::Serialize crash if a null in the owned components array
	#jira UE-37641

Change 3170838 on 2016/10/21 by Ben.Woodhouse

	Integrate crash fix from main CL3162008
	Fix for crash in GPU profiler. This was caused by the RHIThread getting too far behind the renderthread. This change adds a fence wait on the renderthread in RHIEndDrawingViewport to ensure that the renderthread is never more than a frame ahead.
	#jira UE-37216

Change 3170815 on 2016/10/21 by Jamie.Dale

	Fixed a potential race-condition in FTextRenderComponentMIDCache, and updated it to detect "stale" MIDs

	FMIDData was shared between the game and render threads, but used non-thread-safe shared pointers.

	This also marks MIDs as "stale" if the number of MIDs no longer matches the number of pages in the font (which may happen if the font is edited). These "stale" MIDs are kept as a weak pointer in a separate array so that we can still keep the MID object alive as long as something is still using it (as it may still be used by a FTextRenderSceneProxy for a short while). This array of weak pointers is purged of unreferenced instances during the normal cache purge cycle.

	#jira UE-37519

Change 3170784 on 2016/10/21 by Mitchell.Wilson

	Changing a material in TM-Reflections level
	#jira UE-29618

Change 3170668 on 2016/10/21 by Mitchell.Wilson

	Updated defaulteditor.ini to resolve cook failure for UBlueprint.
	#jira UE-37648

Change 3170595 on 2016/10/21 by Chris.Wood

	Added "Vanilla" Editor detection and reporting it to analytics, MTBF and Crash Reporter.
	[UE-37132] - Detect "Vanilla" Editor and report it to MTBF analytics and Crash Reporter

	#jira UE-37132

Change 3170395 on 2016/10/21 by Robert.Manuszewski

	UBT will now respect -remoteini command line param when looking for ini files for build settings. Fixes a crash when launching BP-only project from the Editor with EDL enabled.

	#jira UE-37617

Change 3170367 on 2016/10/21 by Allan.Bentham

	Prevent overflow of bright pixels during DoF calc.
	#jira UE-31755

Change 3170363 on 2016/10/21 by Robert.Manuszewski

	Fixing crashes when cancelling async loading

	#jira UE-37634

Change 3170362 on 2016/10/21 by Robert.Manuszewski

	Fixing MallocBinned2 crashes on 32-bit platforms.

	#jira UE-37326

Change 3170280 on 2016/10/21 by Jack.Porter

	Fix for landscape not rendering in Player Collision view mode after toggling G.

	#jira UE-37576

Change 3170202 on 2016/10/21 by Dmitriy.Dyomin

	Fixed: CustomDepth is incorrect when used in Custom PostProcess after Tonemapping
	#jira UE-37628

Change 3170160 on 2016/10/20 by Aaron.McLeran

	#jira UE-37596 Making detail customizations and experimental setting for sound base showing audiomixer-only features

	Implementing CL 3169422 in 4.14

Change 3170029 on 2016/10/20 by Aaron.McLeran

	#jira UE-37004
	#jira UE-37005
	Fixing stat soundwaves

	Implementing 3154264 from Dev-Framework

Change 3170024 on 2016/10/20 by Aaron.McLeran

	#jira UE-37024 Set Sound Mix Class Override still Playing Sounds in Certain Conditions

	Implementing the CL from Dev-Framework

Change 3169869 on 2016/10/20 by Arne.Schober

	duplicated:
	CL 3169845
	#jira UE-35937

Change 3169810 on 2016/10/20 by Steve.Cano

	Moving change from CL 3169642 to 4.14 - fix a library issue that was causing Kindle Fire 1st edition to crash when trying to run QA game, may be causing issues on other devices as well

	#ue4
	#android
	#jira UE-22440

Change 3169635 on 2016/10/20 by Mike.Beach

	Mirroring CL 3169443 from Dev-BP

	Deprecating the [EditoronlyBP] config settings (which are super old, and support legacy functionality, allowing users to export editor-only UBlueprint objects on cook). This is in support of the new event-driven loader (EDL), which is incompatible with these exports. We will be removing support for these settings promptly in 4.15 (hence the choice to deprecate them for 4.14).

	#jira UE-37605

Change 3169618 on 2016/10/20 by Mitchell.Wilson

	rebuilt lighting for all levels in Content Examples
	#jira UE-37570

Change 3169447 on 2016/10/20 by Peter.Sauerbrei

	fix for double quotes causing arguments to not be sent correctly to rsync
	#jira UE-37018

Change 3169362 on 2016/10/20 by tim.gautier

	Updated TM-UMG Level Blueprint - mouse-clicks outside of UMG assets no longer take focus from the set Display Widget

	#jira abc-123

Change 3169244 on 2016/10/20 by Chris.Babcock

	Update to new CodeWorks for Android 1R5
	#jira UE-37554
	#ue4
	#android

Change 3169240 on 2016/10/20 by Jon.Nabozny

	#rn Fixup GameModeClassAliases in Engine.ini files. These must be prefixed with either /Game/ or /Script/ otherwise the asset may fail to resolve and an empty name will be used instead (and cause weird behavior).

	#jira UE-37488

Change 3169155 on 2016/10/20 by Peter.Sauerbrei

	fix for incorrect characters in bundle id when project has underscores in the name
	#jira UE-36436

Change 3169127 on 2016/10/20 by Allan.Bentham

	Fix android vulkan compile error with dev builds
	#jira abc-123

Change 3169058 on 2016/10/20 by Allan.Bentham

	Flush command buffer during init to fix vulkan crash when rendering thread is enabled.
	Fix FDeferredDeletionQueue's resource handle storage on 32 bit platforms.
	#jira UE-36452

Change 3169049 on 2016/10/20 by Peter.Sauerbrei

	fix for minimum ios version in base ini file
	#jira UE-37034

Change 3168910 on 2016/10/20 by Jack.Porter

	Fix occasional race condition crash in FTcpMessageTransportConnection on editor shutdown
	#jira UE-36944

Change 3168906 on 2016/10/20 by Dmitriy.Dyomin

	Fixed: Black rendering on Galaxy S4 PowerVR
	#jira UE-37567

Change 3168858 on 2016/10/20 by Richard.TalbotWatkin

	Made BSP rendering more robust so that out-of-range array accesses trigger an 'ensure' rather than a crash (with a view to identifying the cause of this issue). Also fixed non-editor builds.
	#jira UE-37267 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::GetDynamicMeshElements() [modelrender.cpp:322]

Change 3168826 on 2016/10/20 by Richard.TalbotWatkin

	Duplicated from //UE4/Dev-Editor, CL 3156473

	Attempt to make geometry render / rebuild more robust in the hope of catching UE-36265.
	#jira UE-36265 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::HasSelectedSurfaces() [modelrender.cpp:538]

Change 3168335 on 2016/10/19 by Michael.Trepka

	Restored previous version of FMacWindow::IsPointInWindow function to solve issues with window dragging.

	#jira UE-37418

Change 3168307 on 2016/10/19 by Rolando.Caloca

	UE4.14 - Integrate changes from 3051720 and 3057522

	[RENDERING] [!]
	Revert fix in GPU skin cache (original CL 2722034)
	 - Waiting on shader compilation with the GPU skin update will destroy/recreate render state, causing a crash in the GPU skin cache.

	#jira UE-37545

Change 3168201 on 2016/10/19 by Peter.Sauerbrei

	fix for urls with queries not working correctly
	#jira UE-35090

Change 3168200 on 2016/10/19 by Mitchell.Wilson

	Re-saved multiple cloth assets to resolve building adjacency information warnings.
	Replaced deprecated SetText and GrabComponent blueprint nodes with new SetText and GrabComponentAtLocation.
	Re-saved multiple assets to resolve empty engine version warnings.
	#jira UE-37537

Change 3168174 on 2016/10/19 by Alan.Noon

	#jira UE-37534
	deleted unnecessary files from Photorealistic Character project

Change 3168160 on 2016/10/19 by Arne.Schober

	duplicated:
	fixes for velocity render pass
	CL 3166370
	CL 3166799
	#jira UE-37362

Change 3168136 on 2016/10/19 by Alan.Noon

	#jira UE-37534
	Initial add of Photorealistic Character Sample project

Change 3168127 on 2016/10/19 by Peter.Sauerbrei

	fix for IOS_7 not being found
	#jira UE-37034

Change 3167886 on 2016/10/19 by patrickr.donovan

	#jira UE-37242

	TLDR; Test content updates.
	Bug entered due to finicky hardware returning noise values that weren't accounted for in test contet. Fortified test content against this edge case, no code change necessary.

Change 3167882 on 2016/10/19 by samuel.proctor

	Updating asset for Profiler Heatmap testing

	#jira UE-29618

Change 3167868 on 2016/10/19 by Dmitry.Rekman

	Linux: disable XGE on Windows (UE-37446).

	- XGE does not seem to handle new clang 3.9.0 toolchain well, with very reproducible crashes.

	Also fix build breakage with clang 3.8.1.

	- always_inline was still applied to debug builds and as such was ignored.

	#jira UE-37446

	(Edigrating CL 3166330, 3166456 from Dev-Platform to Release-4.14)

Change 3167832 on 2016/10/19 by Mitchell.Wilson

	Reconnected 'TopMaterial' in multiple materials to resolve warnings.
	Rebuilt lighting and saved levels.
	#jira UE-37529 UE-37535

Change 3167688 on 2016/10/19 by Mitchell.Wilson

	Removing preview mesh from multiple materials to resolve warnings.
	Rebuilt lighting and saved all levels.
	#jira UE-29678 UE-37526

Change 3167616 on 2016/10/19 by Marc.Audy

	Fix reversed logic checking for an Actor after a cast was supposed to have failed, broken in CL 2695656.
	#jira UE-37517

Change 3167585 on 2016/10/19 by Jamie.Dale

	Re-enabled all-cultures upload to OneSky so we prime translations correctly

	#jira UE-37518

Change 3167579 on 2016/10/19 by Jamie.Dale

	Fixed text render component regression with custom MIDs

	#jira UE-37305

Change 3167501 on 2016/10/19 by Matt.Kuhlenschmidt

	Fixed realtime rendering in editor viewport being disabled when simulating in editor

	#jira UE-37466

Change 3167498 on 2016/10/19 by Mitchell.Wilson

	Re-saving multiple blueprints with nodeguid warnings.
	Cleared preview mesh for materials with string asset reference warnings.
	Rebuilt lighting and added _BuildData to resolve lighting rebuild warnings.
	#jira UE-30840

Change 3167492 on 2016/10/19 by Matt.Kuhlenschmidt

	Fix for disappearing menus in lastest windows 10 build

	#jira UE-36752

Change 3167311 on 2016/10/19 by Mieszko.Zielinski

	Fixed EQS template cache issues with multiple query run modes #UE4

	#jira UE-37496

Change 3167206 on 2016/10/19 by Matthew.Griffin

	Moved Github promotion earlier in build script and added 'After' dependencies so that we can guarantee the order of the nightly build/prevent unimportant jobs from running before binary build is completed

Change 3167205 on 2016/10/19 by Matthew.Griffin

	Changed CommandUtils.UnzipFiles to use system unzip tool when running on mono, as there has been issues with Ionic not being able to decompress those created by the zip tool

Change 3167010 on 2016/10/19 by Dmitriy.Dyomin

	Fix for LevelStreaming getting stuck, and World->PersistentLevel null assert
	Contributed by Funcom: https://udn.unrealengine.com/questions/312900/fix-for-levelstreaming-getting-stuck-and-world-per.html
	#jira UE-36397

[CL 3189774 by Matthew Griffin in Main branch]
2016-11-08 02:45:19 -05:00
Gil Gribb
ab5d7150f4 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3122543 on 2016/09/13 by Ben.Woodhouse

	Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.

	#jira UE-35878

Change 3122544 on 2016/09/13 by Ben.Woodhouse

	Shadow stencil optimisation with cvar (enabled by default)

	Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.

	This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)

	Shadow projection GPU time profiling :
	Test map with 35 characters, stationary directional light
	  - 4ms-2ms on XB1
	  - 2.5ms to 0.9ms on PC (r9-390X)
	  - 3ms-2ms on PS4

	Paragon PS4 (roughly 20% reduced - from ~0.39ms)

Change 3122687 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix ES31 crash

Change 3122691 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fixes for SDK 1.0.26.0

Change 3122778 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix number of layers on barrier

Change 3122921 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix ES3.1

Change 3122925 on 2016/09/13 by Ben.Woodhouse

	Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
	#jira UE-35904

Change 3123016 on 2016/09/13 by Chris.Bunner

	Fixed adaptive tessellation, broken by CL 3089208 refactor.
	#jira UE-35341

Change 3123079 on 2016/09/13 by Rolando.Caloca

	DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)

Change 3123503 on 2016/09/13 by David.Hill

	#jira UE-25623
	converted a check() to checkf() to include better diagnostic information.

Change 3123617 on 2016/09/13 by Guillaume.Abadie

	Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.

	#jira UE-35128

Change 3123743 on 2016/09/13 by Brian.Karis

	Separate mesh reduction interfaces for static and skeletal.

	Zero bad tangents from input mesh.

Change 3125378 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.

Change 3125527 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix UT build and mac

Change 3125741 on 2016/09/14 by Rolando.Caloca

	DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)

Change 3125763 on 2016/09/14 by Rolando.Caloca

	DR - vk - Added new Renderpass cache
	- Fix buffer barrier warning

Change 3125769 on 2016/09/14 by Rolando.Caloca

	DR - Renamed cvar to r.DumpSCWQueuedJobs

Change 3125771 on 2016/09/14 by Rolando.Caloca

	DR - Added support for SV_ClipDistance on GL3 & 4

Change 3125792 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix Odin and PS4

Change 3125880 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix Fortnite

Change 3125968 on 2016/09/14 by Brian.Karis

	Removed comment

Change 3126315 on 2016/09/15 by Ben.Woodhouse

	GPU profiler robustness
	-  Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
	- Simplify gathering logic
	- Fix race condition where we could read back queries before they're submitted on the RHI thread.
	- Fix for movie player stat gathering - disable gathering outside of the main engine tick
	#jira UE-35975

Change 3126792 on 2016/09/15 by Rolando.Caloca

	DR - vk - Release render pass cache

Change 3126804 on 2016/09/15 by Rolando.Caloca

	DR - vk - Fix UpdateTexture2D()
	#jira UE-34151

Change 3126884 on 2016/09/15 by Rolando.Caloca

	DR - vk - Compile fix

Change 3126953 on 2016/09/15 by Rolando.Caloca

	DR - Enable GPU capture when running OpenGL under RenderDoc
	- Will also set the memory mode to non coherent so not to kill performance on RenderDoc

Change 3126966 on 2016/09/15 by Rolando.Caloca

	DR - Allow cooking for Vulkan SM4 to help with packaging

Change 3127082 on 2016/09/15 by Guillaume.Abadie

	Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.

	#jira UE-35367, UE-33602, UE-33603, UE-33604
	#review-3125887 @brian.karis

Change 3127130 on 2016/09/15 by Mark.Satterthwaite

	Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
	#jira FORT-25869
	#jira UE-34263

Change 3127475 on 2016/09/15 by Rolando.Caloca

	DR - vk - Debug dump

Change 3128131 on 2016/09/16 by Ben.Woodhouse

	(Integrated from //UE4/Private-Partner-NREAL/...)

	Alpha output support for postprocess materials (optional via a parameter)

	Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)

Change 3128135 on 2016/09/16 by Ben.Woodhouse

	GPU profiler (PS4) - remove bubbles between commandlist submissions from query times

	Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)

	Also fixes some potential precision issues with unit GPU timing

Change 3128247 on 2016/09/16 by Rolando.Caloca

	DR - vk - Cache framebuffers

Change 3128593 on 2016/09/16 by Rolando.Caloca

	DR - vk - Fix for crash loading map
	#jira UE-36072

Change 3128759 on 2016/09/16 by Mark.Satterthwaite

	Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.

Change 3130236 on 2016/09/19 by Chris.Bunner

	Exposed full SceneCaptureComponent classes instead of select methods.
	#jira UE-35996

Change 3130388 on 2016/09/19 by Rolando.Caloca

	DR - Avoid crash when adding dynamic primitives
	#jira UE-35327

Change 3130393 on 2016/09/19 by Marc.Olano

	Improve vector noise tooltips & documentation

Change 3130547 on 2016/09/19 by Ben.Woodhouse

	Fix for ensure fail when initializing point light shadowmaps.

	This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.

	I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
	#jira UE-35837

Change 3130578 on 2016/09/19 by Daniel.Wright

	Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL

Change 3130682 on 2016/09/19 by Rolando.Caloca

	DR - Better fix for UE-35327
	#jira UE-35327

Change 3130767 on 2016/09/19 by Uriel.Doyon

	Better handling of color array in VisualizeComplexity code to prevent assert.
	#jira UE-29332

Change 3130965 on 2016/09/19 by Arne.Schober

	DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.

Change 3130967 on 2016/09/19 by Chris.Bunner

	Hid redundant texture sampler properties from texture object parameter.
	Hid redundant texture property input on texture parameter nodes.
	Fixed copy-paste error in expression texture parameter docs.
	#jira UE-32724

Change 3131118 on 2016/09/19 by Mark.Satterthwaite

	Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
	#jira FORT-25869
	#jira UE-34263

Change 3131153 on 2016/09/19 by Rolando.Caloca

	DR - Fix recompute normals when triangles have a LHS tangent basis

	Integrate from 3028634
	- Also make meshes that don't have morphs be able to run through the recompute normals path
	#jira UE-35472

Change 3131228 on 2016/09/19 by Mark.Satterthwaite

	Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
	#jira UE-35240

Change 3131246 on 2016/09/19 by Rolando.Caloca

	DR - Shrink gpu skinning permutations

Change 3131261 on 2016/09/19 by Mark.Satterthwaite

	Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
	ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.

Change 3131265 on 2016/09/19 by Mark.Satterthwaite

	Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.

Change 3131271 on 2016/09/19 by Mark.Satterthwaite

	Use private memory for the Metal stencil SRV workaround needed on El Capitan.

Change 3131273 on 2016/09/19 by Mark.Satterthwaite

	Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.

Change 3131280 on 2016/09/19 by Mark.Satterthwaite

	For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.

Change 3131283 on 2016/09/19 by Mark.Satterthwaite

	Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.

Change 3131402 on 2016/09/19 by Rolando.Caloca

	DR - Disambiguate callstack
	#jira UE-34415

Change 3131469 on 2016/09/19 by Rolando.Caloca

	DR - vk - Check if we can allocate descriptors off a pool

Change 3131482 on 2016/09/19 by Rolando.Caloca

	DR - vk - Remove unused var

Change 3131506 on 2016/09/19 by Mark.Satterthwaite

	With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.

Change 3131536 on 2016/09/19 by Rolando.Caloca

	DR - vk - Compile fix

Change 3131564 on 2016/09/19 by Rolando.Caloca

	DR - vk - Submit Hint
	- Disable framebuffer recycling as its causing a hang

Change 3131625 on 2016/09/19 by Mark.Satterthwaite

	Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.

Change 3131630 on 2016/09/19 by Mark.Satterthwaite

	More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.

Change 3131955 on 2016/09/20 by Gil.Gribb

	Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3131978 on 2016/09/20 by Gil.Gribb

	CIS fix

Change 3132584 on 2016/09/20 by Ben.Woodhouse

	Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling

	#jira UE-35937

Change 3132696 on 2016/09/20 by Mark.Satterthwaite

	Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.

Change 3132772 on 2016/09/20 by Mark.Satterthwaite

	Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.

Change 3132870 on 2016/09/20 by Ben.Woodhouse

	Fix mac compile error

Change 3133049 on 2016/09/20 by Brian.Karis

	Changed light source shapes in reflection captures to use alpha

Change 3133057 on 2016/09/20 by Brian.Karis

	Alphaed out on spot light cone as well.

Change 3133263 on 2016/09/20 by Rolando.Caloca

	DR - vk - Debug names for objects

Change 3133292 on 2016/09/20 by Rolando.Caloca

	DR - vk - Fix SRGB upload/formats

Change 3133395 on 2016/09/20 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3134026 on 2016/09/21 by Gil.Gribb

	Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3134663 on 2016/09/21 by Chris.Bunner

	Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
	#jira UE-34347

Change 3134730 on 2016/09/21 by Arne.Schober

	DR - [UE-34481] - Fix minor brokenness found by Gil

Change 3134792 on 2016/09/21 by Chris.Bunner

	Fixed compile errors for non-editor builds.

Change 3135214 on 2016/09/21 by Rolando.Caloca

	DR - vk - Fix visualize texture
	- Dump memory when OOM (to track leaks)

Change 3135225 on 2016/09/21 by Rolando.Caloca

	DR - vk - Ensure on exit if mem leak
	- Update fences if running wait for idle

Change 3135672 on 2016/09/22 by Gil.Gribb

	Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3135793 on 2016/09/22 by Rolando.Caloca

	DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer

Change 3135816 on 2016/09/22 by Rolando.Caloca

	DR - Add names for d3d on renderdoc

Change 3135894 on 2016/09/22 by Chris.Bunner

	Fixed initialization order warning.

Change 3136024 on 2016/09/22 by Rolando.Caloca

	DR - vk - Fix stencil faces

Change 3136042 on 2016/09/22 by Marcus.Wassmer

	Fix compile error

Change 3136046 on 2016/09/22 by Chris.Bunner

	Renamed material for PostTonemapHDRColor visualization to reflect actual usage.

Change 3136308 on 2016/09/22 by Uriel.Doyon

	Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
	#jira UE-36094

Change 3136798 on 2016/09/22 by Chris.Bunner

	Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.

Change 3137092 on 2016/09/22 by Rolando.Caloca

	DR - vk - Rename pipeline to gfx pipeline

Change 3137263 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135157:
	Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
	#jira FORT-30061

Change 3137265 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135169:
	Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).

Change 3137266 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135237:
	Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.

Change 3137268 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3136033:
	To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
	Fix GPU selection code in MetalRHI to confirm everything is working.
	#jira FORT-30385

Change 3137269 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3137164:
	Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
	#jira FORT-30377

Change 3137606 on 2016/09/23 by Gil.Gribb

	Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3137936 on 2016/09/23 by Rolando.Caloca

	DR - Split RHICmdList clear into color & ds in prep for changes

Change 3138346 on 2016/09/23 by Rolando.Caloca

	DR - vk - Some renaming and splitting classes in prep for compute

Change 3138628 on 2016/09/23 by Rolando.Caloca

	DR - vk - Fix mem leak on framebuffers

Change 3138721 on 2016/09/23 by Daniel.Wright

	Better comment for r.DefaultFeature.AntiAliasing

Change 3138722 on 2016/09/23 by Daniel.Wright

	Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface

Change 3138723 on 2016/09/23 by Daniel.Wright

	Corrected GC doc

Change 3138892 on 2016/09/23 by Daniel.Wright

	Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build

Change 3138905 on 2016/09/23 by Daniel.Wright

	"Optimizations" -> "Optimization Viewmodes"

Change 3138939 on 2016/09/23 by Daniel.Wright

	Disabled the stationary light overlap viewmode with forward shading

Change 3139710 on 2016/09/26 by Rolando.Caloca

	DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture

Change 3139820 on 2016/09/26 by Rolando.Caloca

	DR - Remove prefix from shader frequency strings

Change 3139828 on 2016/09/26 by Marcus.Wassmer

	Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.

Change 3139840 on 2016/09/26 by Benjamin.Hyder

	Adding VectorNoise Examples to TM-Noise map

Change 3139862 on 2016/09/26 by Rolando.Caloca

	DR - Better log to track down crash
	#jira UE-36271

Change 3140142 on 2016/09/26 by Rolando.Caloca

	DR - Fix clang warning

Change 3140145 on 2016/09/26 by Rolando.Caloca

	DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters

Change 3140360 on 2016/09/26 by Daniel.Wright

	Lighting Scenarios and lightmaps moved to separate package
	* Levels can be marked as lighting scenarios (eg Day, Night).  Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden.  Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
	* Most outputs of the lighting build now go into a separate _BuiltData package.  This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
	* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package.  This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both).  This also means that lightmaps for a streaming level will not be streamed with it.
	* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
	* Reflection captures and precomputed visibility were not moved to the separate package.  Reflection captures are force updated on load of a lighting scenario level, which can increase load times.

Change 3140361 on 2016/09/26 by Daniel.Wright

	Lighting Scenarios UI

Change 3140582 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140166
	Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
	#jira FORT-30551

Change 3140584 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140131:
	Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
	#jira FORT-30622

Change 3140586 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140450:
	Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
	#jira FORT-30649

Change 3140594 on 2016/09/26 by Zabir.Hoque

	Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.

Change 3140601 on 2016/09/26 by Marcus.Wassmer

	New 'Cinematic' Scalability level.  Remove unused 'new' motionblur CVAR

Change 3140602 on 2016/09/26 by Zabir.Hoque

	CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.

	#Tests: Fix was tested by licensee (GearBox).

Change 3140622 on 2016/09/26 by Rolando.Caloca

	DR - vk - More prep for sm5

Change 3140765 on 2016/09/26 by Rolando.Caloca

	DR - Fix ensure from bad clear depth surface

Change 3141251 on 2016/09/27 by Rolando.Caloca

	DR - vk - Rename & cleanup

Change 3141394 on 2016/09/27 by Rolando.Caloca

	DR - vk - Compute pipeline state

Change 3141463 on 2016/09/27 by Mark.Satterthwaite

	Fix the include order to avoid compile errors on Mac.

Change 3141529 on 2016/09/27 by Gil.Gribb

	Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3141830 on 2016/09/27 by zachary.wilson

	Adding testing content for lighting scenarios to collaborate with Ben

Change 3141941 on 2016/09/27 by Olaf.Piesche

	Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.

Change 3142035 on 2016/09/27 by Olaf.Piesche

	Fix compiler error from silly leftover bit of code.

Change 3142065 on 2016/09/27 by Benjamin.Hyder

	Updating Lighting Scenario map

Change 3142262 on 2016/09/27 by Mark.Satterthwaite

	Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
	On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
	On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
	#jira UE-35749

Change 3142292 on 2016/09/27 by Rolando.Caloca

	DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
	#jira UE-31438

Change 3142397 on 2016/09/27 by Mark.Satterthwaite

	Update hlslcc for Mac including RCO's changes in CL #3142292.
	#jira UE-31438

Change 3142438 on 2016/09/27 by Daniel.Wright

	UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking

Change 3142452 on 2016/09/27 by Rolando.Caloca

	DR - Proper support for int defines

Change 3142519 on 2016/09/27 by Arne.Schober

	DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.

Change 3142537 on 2016/09/27 by Daniel.Wright

	Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset

Change 3142691 on 2016/09/27 by Daniel.Wright

	Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content

Change 3142711 on 2016/09/27 by Daniel.Wright

	GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser

Change 3142712 on 2016/09/27 by Daniel.Wright

	Separate category for ParticleCutout properties

Change 3142762 on 2016/09/27 by Uriel.Doyon

	Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
	The density are computed by the engine but can be overridden by the user in the material tabs.

	Texture streaming intermediate component data is now per material instead of per lod-section.

	New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
	This is currently used to show which UV channel and which texture index is being
	shown in the texture streaming accuracy viewmodes.
	This replaces r.Streaming.AnalysisIndex

	Renamed texture streaming viewmodes:
	MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
	MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
	MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales

	Improved UV density computation and viewmode.

	LightmapUVDensity is now computed separately from UVChannel Density.

	Fixed texture streaming for instanced static mesh component and derived types.

Change 3143464 on 2016/09/28 by Daniel.Wright

	Removed 'experimental' from forward shading setting

Change 3143508 on 2016/09/28 by Chris.Bunner

	Added component type handling to FoldedMath and Length material expressions.
	#jira UE-36304

Change 3143557 on 2016/09/28 by Rolando.Caloca

	DR - Back out changelist 3142292

Change 3143563 on 2016/09/28 by Rolando.Caloca

	DR - vk - Force hlslcc re-link

Change 3143648 on 2016/09/28 by Daniel.Wright

	Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.

Change 3143661 on 2016/09/28 by Chris.Bunner

	Warning fix.

Change 3143723 on 2016/09/28 by Daniel.Wright

	DumpUnbuiltLightIteractions after lighting build for debugging

Change 3143822 on 2016/09/28 by Arne.Schober

	DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.

Change 3143860 on 2016/09/28 by Benjamin.Hyder

	Updating TM-Noise map to include 3d noise examples

Change 3143939 on 2016/09/28 by Rolando.Caloca

	DR - vk - Better debugging of submissions
	- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs

Change 3144006 on 2016/09/28 by Brian.Karis

	Fixed PixelError not being set correctly with LOD groups.

	Removed unneeded Simplygon references.
	Mesh reduction module can now be chosen by name with r.MeshReductionModule

Change 3144026 on 2016/09/28 by Benjamin.Hyder

	Updating QA-Effects map to correct numbering issue

Change 3144098 on 2016/09/28 by Arne.Schober

	DR - ViewMatrices Refactoring - Fix UT

Change 3144158 on 2016/09/28 by Rolando.Caloca

	DR - Undo splitting RHI command context

Change 3144952 on 2016/09/29 by Rolando.Caloca

	DR - vk - Missing swapchain flag

Change 3145064 on 2016/09/29 by Olaf.Piesche

	#jira UE-36091

	Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.

Change 3145354 on 2016/09/29 by Benjamin.Hyder

	Updating Tm-ContactShadows

Change 3145485 on 2016/09/29 by Daniel.Wright

	Made SeamlessTravelLoadCallback handle legacy lightmaps

Change 3145527 on 2016/09/29 by Daniel.Wright

	Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel

Change 3145530 on 2016/09/29 by Simon.Tovey

	UE-36188 - Editor crash when updating hierarchical instance static mesh component

	Dirtied render state rather than unsafe update of bounds.

Change 3145608 on 2016/09/29 by Gil.Gribb

	Attempt to fix a random compiler error under win32

Change 3145749 on 2016/09/29 by Uriel.Doyon

	Fix for static analysis warning

Change 3146091 on 2016/09/29 by Zabir.Hoque

	RHI Interface changes to support PSO based APIs

Change 3146092 on 2016/09/29 by Zabir.Hoque

	D3D12 RHI support for PSO based APIs.

Change 3146590 on 2016/09/30 by Gil.Gribb

	Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3146731 on 2016/09/30 by Rolando.Caloca

	DR - Fix merge conflicts

Change 3146778 on 2016/09/30 by Rolando.Caloca

	DR - More integration compile fixes

Change 3146790 on 2016/09/30 by Rolando.Caloca

	DR - Integration fix

Change 3146849 on 2016/09/30 by Rolando.Caloca

	DR - Final integration fix

Change 3146899 on 2016/09/30 by Daniel.Wright

	Static analysis fix for dereferencing World

Change 3147020 on 2016/09/30 by Rolando.Caloca

	DR - vk - Fix depth issue on AMD cards
	- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
	- Added num color attachments to pipeline key

Change 3147034 on 2016/09/30 by Rolando.Caloca

	DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
	#jira UE-36277
	#jira UE-36500

Change 3147080 on 2016/09/30 by Rolando.Caloca

	DR - vk - Disable debug info by default

Change 3147082 on 2016/09/30 by Chris.Bunner

	Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
	#jira UE-36491

Change 3147388 on 2016/09/30 by Chris.Bunner

	Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
	#jira UE-35288

Change 3147394 on 2016/09/30 by Chris.Bunner

	Additional logging for rare error.
	#jira UE-35812

Change 3147459 on 2016/09/30 by Rolando.Caloca

	DR - vk - Some more srgb formats

Change 3147537 on 2016/09/30 by Rolando.Caloca

	DR - vk - Standarize srgb flag like D3D11
	- Minor FVulkanShader cleanup

Change 3147620 on 2016/09/30 by Olaf.Piesche

	#jira UE=34486
	particle component tick function task can be invalid during pause; add check

Change 3148028 on 2016/10/01 by Daniel.Wright

	Renamed RenderingSettings.cpp to match header

Change 3148059 on 2016/10/01 by Daniel.Wright

	Disabled reparenting in the profiler which is disorienting

Change 3148067 on 2016/10/01 by Daniel.Wright

	Support for ReflectionEnvironment and light type show flags with ForwardShading

Change 3148069 on 2016/10/01 by Daniel.Wright

	Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars

Change 3148072 on 2016/10/01 by Daniel.Wright

	Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing.  r.ReflectionEnvironmentLightmapMixBasedOnRoughness

Change 3148073 on 2016/10/01 by Daniel.Wright

	r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream

Change 3148074 on 2016/10/01 by Daniel.Wright

	Enabled planar reflection receiving on the material used for the preview of a APlanarReflection

Change 3148084 on 2016/10/01 by Daniel.Wright

	Fixed reflections on Surface TranslucencyVolume in deferred

Change 3148085 on 2016/10/01 by Daniel.Wright

	Fixed planar reflection composite being done too many times in stereo deferred

Change 3148086 on 2016/10/01 by Daniel.Wright

	Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.

Change 3148107 on 2016/10/01 by Daniel.Wright

	CIS fix

Change 3148113 on 2016/10/01 by Daniel.Wright

	Translucency lighting modes for forward shading
	* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway

Change 3148306 on 2016/10/02 by Rolando.Caloca

	DR - vk - Fix for some NV drivers on Win10

Change 3148307 on 2016/10/02 by Rolando.Caloca

	DR - vk - Compute pipeline

Change 3148358 on 2016/10/02 by Rolando.Caloca

	DR - vk - Consolidate and renumber enum for binding types

Change 3148396 on 2016/10/03 by Rolando.Caloca

	DR - vk - Warning fix

Change 3148697 on 2016/10/03 by Benjamin.Hyder

	Submitting M_Chromebal after enabling planar reflectionsl

Change 3148799 on 2016/10/03 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3148934 on 2016/10/03 by Chris.Bunner

	Added pre-skinned local position material graph node, vertex shader only.

Change 3148994 on 2016/10/03 by Chris.Bunner

	Added missing header file.

Change 3149085 on 2016/10/03 by Daniel.Wright

	Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead

Change 3149095 on 2016/10/03 by Rolando.Caloca

	DR - vk - Disable new render passes

Change 3149125 on 2016/10/03 by Rolando.Caloca

	DR - vk - Fix for multiple memory types

Change 3149181 on 2016/10/03 by Rolando.Caloca

	DR - Better message when missing pipelines

Change 3149215 on 2016/10/03 by Rolando.Caloca

	DR - RHIClearColor -> RHIClearColorTexture
	#tests Orion Editor run match on Agora_P

Change 3149288 on 2016/10/03 by Chris.Bunner

	Added PreTonemapHDRColor for buffer visualization and target output.
	#jira UE-36333

Change 3149402 on 2016/10/03 by Daniel.Wright

	Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)

Change 3149403 on 2016/10/03 by Daniel.Wright

	Forward lighting supports lighting channels

Change 3149574 on 2016/10/03 by Marcus.Wassmer

	PR #2817: Ansel/Photography system (Contributed by adamnv)
	Modified to become a plugin

Change 3149615 on 2016/10/03 by Rolando.Caloca

	DR - vk - Fix PF_G16R16 which fixes reflections

Change 3149639 on 2016/10/03 by Olaf.Piesche

	Adding more ensures to catch NaNs occasionally appearing in particle locations early

Change 3149745 on 2016/10/03 by Uriel.Doyon

	Moved UVDensity computation in the staticmesh DDC.

Change 3149749 on 2016/10/03 by Daniel.Wright

	Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility

Change 3149755 on 2016/10/03 by Benjamin.Hyder

	Checking in built lighting for QA-postprocessing

Change 3149758 on 2016/10/03 by Benjamin.Hyder

	re-submitting built lighting for QA-PostProcessing

Change 3149940 on 2016/10/04 by Gil.Gribb

	Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3150098 on 2016/10/04 by Marcus.Wassmer

	Fix some clang and win32 errors

Change 3150323 on 2016/10/04 by Rolando.Caloca

	DR - vk - Static analysis fix

Change 3150456 on 2016/10/04 by Daniel.Wright

	Revert temp logs

Change 3150731 on 2016/10/04 by Daniel.Wright

	Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid

Change 3150795 on 2016/10/04 by Marcus.Wassmer

	Fix RHIClearUAV and Drawindirect bugs on PS4.
	Also fix PS4 compile error from bad merge.

Change 3151065 on 2016/10/04 by Ben.Marsh

	Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)

Change 3151134 on 2016/10/04 by Brian.Karis

	Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.

Change 3151201 on 2016/10/04 by Marcus.Wassmer

	Nvidia approved icon for ansel plugin.

Change 3151240 on 2016/10/04 by Marcus.Wassmer

	Fix string concat build error.

Change 3151258 on 2016/10/04 by Ben.Marsh

	Fix compile error.

Change 3151290 on 2016/10/04 by Marcus.Wassmer

	Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.

Change 3152104 on 2016/10/05 by Chris.Bunner

	Workaround for legacy BreakMA material node invalid component masks.
	#jira UE-36832

Change 3152130 on 2016/10/05 by Ben.Woodhouse

	Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
	#jira UE-35890

Change 3152240 on 2016/10/05 by Rolando.Caloca

	DR - Fix for missing gizmo colors
	#jira UE-36515

Change 3152338 on 2016/10/05 by Daniel.Wright

	Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker

Change 3152833 on 2016/10/05 by Brian.Karis

	Improved precision of quadrics. Fixes bad triangles on large meshes

Change 3153376 on 2016/10/06 by Rolando.Caloca

	DR - Fix for SM4 missing pipelines fallout

Change 3153650 on 2016/10/06 by Gil.Gribb

	Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3153656 on 2016/10/06 by Uriel.Doyon

	Fixed main integration compilation issues.
	Some of the Mesh UVDensity UI is temporary disabled.

Change 3153725 on 2016/10/06 by Uriel.Doyon

	Fixed crash when source data is missing for lightmaps
	#jira UE-36157

Change 3153998 on 2016/10/06 by Gil.Gribb

	Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)

Change 3154056 on 2016/10/06 by Marcus.Wassmer

	Fix compile errors from merge.  Also restore some light scencario code

Change 3154176 on 2016/10/06 by Marcus.Wassmer

	Fix deprecation warning

Change 3154252 on 2016/10/06 by Marcus.Wassmer

	Fix more deprecation warnings

Change 3154632 on 2016/10/07 by Chris.Bunner

	Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
	#jira UE-37002

[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
Marcus Wassmer
edea678466 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3072736)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3055495 on 2016/07/19 by Marc.Olano

	Allow Noise material node on mobile

	No reason to exclude mobile, except for Fast Gradient Noise, which uses 3D textures. Allow this node on ES2 for all of the other noise functions.

	#jira UE-33345

Change 3055602 on 2016/07/19 by Luke.Thatcher

	Fix crash bug in D3D11 RHI when selecting adapters.
	 - Array of adapter descriptors will get out of sync with the adapter index if any adapter is skipped (e.g. the Microsoft Basic Render Device).
	#jira UE-33236

Change 3055890 on 2016/07/19 by Daniel.Wright

	Improved the assert in LoadModuleChecked so we won't have to check the log to see which module it was

Change 3055891 on 2016/07/19 by Daniel.Wright

	Fixed Global Distance Field not dirtying previous object position on UpdateTransform - left behind a phantom shadow on teleports
	* This will effectively double partial distiance field update costs until clipping of the update regions is implemented

Change 3055892 on 2016/07/19 by Daniel.Wright

	Higher poly light source shapes drawn into reflection captures

Change 3055893 on 2016/07/19 by Daniel.Wright

	More info to 'Incompatible surface format' GNM assert

Change 3055904 on 2016/07/19 by Daniel.Wright

	Reflection environment normalization improvements
	* Indirect specular from reflection captures is now mixed with indirect diffuse from lightmaps based on roughness, such that a mirror surface will have no mixing.  Reflection captures now match other reflection methods like SSR and planar reflections much more closely.
	* When a stationary skylight is present, Reflection captures are now normalized as if the initial skylight will always be present, giving consistent results with static skylight reflections.  The skylight and reflection captures with sky removed used to be normalized separately, compacting the relative brightness between the sky and scene.
	* Added r.ReflectionEnvironmentLightmapMixing for debugging lightmap mixing issues.  This toggle was previously not possible due to prenormalizing the capture data.
	* The standard deferred reflection path (r.DoTiledReflections 0) can no longer match the results of the compute path or base pass reflections, as it would require MRT to accumulate the average brightness
	* Removed unused r.DiffuseFromCaptures
	* Cost of reflection environment on PS4 increased from 1.52ms -> 1.75ms with this change, but decreased back to 1.58ms by reducing tile size to 8x8

Change 3055905 on 2016/07/19 by Daniel.Wright

	Workaround for RTDF shadows not working on PS4 - manual clear of ObjectIndirectArguments instead of RHICmdList.ClearUAV

Change 3059486 on 2016/07/21 by Nick.Penwarden

	Testing #uecritical

Change 3060558 on 2016/07/21 by Daniel.Wright

	Fixed skylight with specified cubemap being black

Change 3061999 on 2016/07/22 by Marcus.Wassmer

	Disable old AMD driver hacks for DX11.  QA has already tested with them off and given thumbs up.

Change 3062241 on 2016/07/22 by Daniel.Wright

	Fixed bug in RHISupportsSeparateMSAAAndResolveTextures that was preventing MSAA for any non-Vulkan platforms

Change 3062244 on 2016/07/22 by Daniel.Wright

	Discard old prenormalized reflection environment data on load

Change 3062283 on 2016/07/22 by Daniel.Wright

	MSAA support for the forward renderer
	* AntiAliasing method is chosen in Rendering project settings, DefaultSettings category
	* Deferred passes like shadow projection, fogging and decals are only computed per-pixel and can introduce aliasing
	* Added Rendering project setting VertexFoggingForOpaque, which makes height fog cheaper and work properly with MSAA
	* The AntiAliasing method in PostProcessSettings has been removed, this may affect existing content
	* Added r.MSAACount which defaults to 4
	* Integrated wide custom resolve filter from Oculus renderer, controlled by r.WideCustomResolve
	* GBuffer targets are no longer allocated when using the forward renderer
	* Decal blend modes that write to the GBuffer fall back to SceneColor emissive only

Change 3062666 on 2016/07/23 by Uriel.Doyon

	Added legend to streaming accuracy viewmodes
	Added a new helper class FRenderTargetTemp to be reused in different canvas rendering.
	Exposed the pass through pixel shader so that it can be reused.
	#review-3058986 @marcus.wassmer

Change 3063023 on 2016/07/25 by Luke.Thatcher

	Fix "RecompileShaders Changed" when using Cook On The Fly.
	#jira UE-33573

Change 3063078 on 2016/07/25 by Ben.Woodhouse

	Add -emitdrawevents command line option to emit draw events by default. This is useful when capturing with Renderdoc

Change 3063315 on 2016/07/25 by Ben.Woodhouse

	Fix div 0 in motion blur. This caused artifacts in some fairly common cases
	#jira UE-32331

Change 3063897 on 2016/07/25 by Uriel.Doyon

	Fixed missing qualifier on interpolants

Change 3064559 on 2016/07/26 by Ben.Woodhouse

	Fix for cooker crash with BC6H textures (XB1, but may affect other platforms). Also fixes corruption issue with texture slices not being a multiple of 4 pixels (expanding as necessary), courtesy of Stu McKenna at the Coalition
	Tested fix on xbox, PC and PS4, using QAGame
	#jira UE-28592

Change 3064896 on 2016/07/26 by Ben.Woodhouse

	Fix compile errors on PS4 (the variable "sample" was conflicting with a keyword, causing compile errors). Also making encoding consistent on new shaders (ansi rather than UTF16)

Change 3064913 on 2016/07/26 by Ben.Marsh

	Fix spelling of "Editor, Tools, Monolithics & DDC" node in Dev-Rendering build settings.

Change 3065326 on 2016/07/26 by Uriel.Doyon

	Fixed UnbuiltInstanceBoundsList not being reset correctly, creating broken rendered primitives.
	#jira UE-32585

Change 3065541 on 2016/07/26 by Daniel.Wright

	Materials with a GBuffer SceneTexture lookup will fail to compile with forward shading

Change 3065543 on 2016/07/26 by Daniel.Wright

	Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413

Change 3065545 on 2016/07/26 by Daniel.Wright

	Added material property bNormalCurvatureToRoughness, which can slightly reduce aliasing.  Tweakable impact with r.NormalCurvatureToRoughnessScale.
	Fixed reflection capture feedback with base pass reflections

Change 3066783 on 2016/07/27 by Daniel.Wright

	Moved PreShadowCacheDepthZ out of FSceneRenderTargets and into FScene, which fixes issues with cached preshadows and multiple scenes, including HighResScreenShot
	Disabled GMinScreenRadiusForShadowCaster on per-object shadows, which fixes popping when trying to increase shadow resolution from the defaults (r.Shadow.TexelsPerPixel 3)

Change 3066794 on 2016/07/27 by Daniel.Wright

	Fixed crash rendering planar reflections due to NULL PostProcessSettings

Change 3067412 on 2016/07/27 by Daniel.Wright

	Fix for OpenGL4 with uint interpolator

Change 3068470 on 2016/07/28 by Daniel.Wright

	Fixed crash rendering translucency with translucent shadows which were determined to be invisible

Change 3069046 on 2016/07/28 by Daniel.Wright

	Handle null Family in SetupAntiAliasingMethod

Change 3069059 on 2016/07/28 by Daniel.Wright

	Added r.ReflectionEnvironmentBeginMixingRoughness (.1) and r.ReflectionEnvironmentEndMixingRoughness (.3), which can be used to tweak the lightmap mixing heuristc, or revert to previous behavior (mixing even on a mirror surface)

Change 3069391 on 2016/07/28 by Daniel.Wright

	Fixed AverageBrightness being applied to reflections in gamma space in the mobile base pass, causing ES2 reflections to be overbright

Change 3070369 on 2016/07/29 by Daniel.Wright

	r.ReflectionEnvironmentBeginMixingRoughness and r.ReflectionEnvironmentEndMixingRoughness set to 0 can be used to achieve old non-roughness based lightmap mixing

Change 3070370 on 2016/07/29 by Daniel.Wright

	Bumped reflection capture DDC version to get rid of legacy prenormalized data

Change 3070680 on 2016/07/29 by Marcus.Wassmer

	Fix slate ensure that is most likely a timing issue exposed by rendering.
	#ue-33902

Change 3070811 on 2016/07/29 by Marcus.Wassmer

	Fix ProjectLauncher errors when loading old versions
	#ue-33939

Change 3070971 on 2016/07/29 by Uriel.Doyon

	Updated ListTextures outputs to fix cooked VS non cooked differences and also to put enphasis on disk VS memory

Change 3071452 on 2016/07/31 by Uriel.Doyon

	Updated the legend description for the (texture streaming) primitive distance accuracy view mode

[CL 3072803 by Marcus Wassmer in Main branch]
2016-08-01 18:56:49 -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
Gil Gribb
07eea7c4b8 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2967470)
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2943963 on 2016/04/14 by Daniel.Wright

	Shader compile errors are unsuppressed

Change 2943978 on 2016/04/14 by Gil.Gribb

	UE4 - First pass at async loading improvements....mostly disabled.

Change 2944021 on 2016/04/14 by Martin.Mittring

	fixed HLSL compiler warning

Change 2944031 on 2016/04/14 by Martin.Mittring

	fixed ensures, wrapped some members behind get accessor functions

Change 2944086 on 2016/04/14 by Martin.Mittring

	cleanup: removed not needed code

Change 2944177 on 2016/04/14 by Daniel.Wright

	Clamp on FarShadowCascadeCount, prevents crashing from huge values

Change 2944182 on 2016/04/14 by Martin.Mittring

	removed not needed code

Change 2944250 on 2016/04/14 by Rolando.Caloca

	DR - vk - Minor fixes

Change 2944286 on 2016/04/14 by Daniel.Wright

	Added bRenderSceneTwoSided to planar reflections, which can be useful to limit leaking
	Added ShowOnlyActors and HiddenActors to SceneCaptureComponent for easy use without having to call BP functions
	Added bShowPreviewPlane to planar reflection actors
	The view state is recreated on planar reflection edit, which resets the Temporal AA history, allowing instant previewing of changes

Change 2944288 on 2016/04/14 by Daniel.Wright

	Fixed refraction with a world space normal

Change 2944291 on 2016/04/14 by Daniel.Wright

	Panner nodes have an optional speed input

Change 2944346 on 2016/04/14 by Rolando.Caloca

	DR - Fix Vulkan shader platform on Android
	- Added more info on checks()

Change 2945007 on 2016/04/15 by Gil.Gribb

	Merging //UE4/Dev-Main@2944911 to Dev-Rendering (//UE4/Dev-Rendering)

Change 2945348 on 2016/04/15 by Daniel.Wright

	Fixed compile error

Change 2945358 on 2016/04/15 by Olaf.Piesche

	#jira UE-29241

	Sequential particle selection code was all sorts of weird. Rewrote and simplified.

Change 2945941 on 2016/04/15 by Martin.Mittring

	added r.DisplayInternals to debug determinism for screen shot comparison

Change 2945999 on 2016/04/15 by Martin.Mittring

	improved r.DisplayInternal output

Change 2946023 on 2016/04/15 by Olaf.Piesche

	Adding missing call to Super::PostEditChangeProperty; UDN 286717

Change 2947155 on 2016/04/18 by Martin.Mittring

	started minor cleanup of transluceny rendering, use Sort key to support SeparateTransluceny, not fully hooked up
	#test:PC

Change 2947207 on 2016/04/18 by Martin.Mittring

	fixed engine compiling in shipping/test
	#code_review:Uriel.Doyan

Change 2947212 on 2016/04/18 by Uriel.Doyon

	Lightmap density viewmode now shows the wanted resolution when the lighting isn't build.
	#jira UE-29317

Change 2947374 on 2016/04/18 by Uriel.Doyon

	Fixed support for resolution scale for the PostProcessVisualizeComplexity
	#jira UE-29473

Change 2947903 on 2016/04/19 by Gil.Gribb

	Merging //UE4/Dev-Main@2947728 to Dev-Rendering (//UE4/Dev-Rendering)

Change 2948019 on 2016/04/19 by Rolando.Caloca

	DR - Allow vk format as a target format for win

Change 2948162 on 2016/04/19 by Simon.Tovey

	Fix for crash with Collision visualization.

Change 2948419 on 2016/04/19 by Martin.Mittring

	fixed sort priority of translucent rendering (caused by recent checkin)

Change 2948433 on 2016/04/19 by Martin.Mittring

	fixed memory handling of FRendererViewExtension

Change 2948631 on 2016/04/19 by Martin.Mittring

	fixed compile error on Mac

Change 2948832 on 2016/04/19 by Martin.Mittring

	fixed UE-29572 (should result in less CPU cost and it might even fix some rendeirng issues)

Change 2949013 on 2016/04/19 by Martin.Mittring

	refactored Transluceny rendering, SepTrans and non SepTrans is now in the same container, sorted by that critera first and rendered with ranges. This makes it easier to extend it to more transluceny types e.g. after TemporalAA, after Tonemapping
	this is useful for MeshDecals
	#test:PC, parallel on and off

Change 2949620 on 2016/04/20 by Martin.Mittring

	fixed compiler warning

Change 2949639 on 2016/04/20 by Uriel.Doyon

	Fixed Material TexCoord Analysis not compiling when sampling textures for shader frequency other than PixelShader

Change 2949721 on 2016/04/20 by Chris.Bunner

	Avoid creating additional inline code fragment casting matching uniform types.
	#jira UE-29089

Change 2949722 on 2016/04/20 by Chris.Bunner

	Prevent nullptr crash and added additional logging.
	#jira UE-28387

Change 2949913 on 2016/04/20 by Martin.Mittring

	marked ccommand as cheat

Change 2950064 on 2016/04/20 by Martin.Mittring

	added MatineeTime to r.DisplayInternals to track down rendering determinsim issues, added dark background

Change 2950065 on 2016/04/20 by Martin.Mittring

	nicer debug printout

Change 2950201 on 2016/04/20 by Martin.Mittring

	fixed UE-29752 Console commands input with " = " should display an error message

Change 2950531 on 2016/04/20 by Martin.Mittring

	fixed comment

Change 2951737 on 2016/04/21 by HaarmPieter.Duiker

	Adds support forHDR displays using Dolby PQ output

Change 2951869 on 2016/04/21 by Martin.Mittring

	polish r.DisplayInternal

Change 2951950 on 2016/04/21 by HaarmPieter.Duiker

	Reordered variable definition to address build warning

Change 2951996 on 2016/04/21 by Martin.Mittring

	fixed PerformanceCapture code, added AutomationTest "Rendering.RenderOutputValidation",
	changed directory order
	to run locally it currently requires "r.ScreenshotDelegate=0"
	#code_review:Ben.Salem, Michael.Noland

Change 2952146 on 2016/04/21 by Olaf.Piesche

	make sure that ST PDI primitives render through regular translucency if ST is disabled; fixes light shapes in scene/reflection captures

Change 2952230 on 2016/04/21 by Martin.Mittring

	* Fixed automated ScreenshotVerify difference because of not streamed in texture, wait for up to 5sec .
	* changed some GFrameNumberRenderThread usage to ViewFamily.FrameNumber
	#code_review:Daniel.Wright

Change 2953173 on 2016/04/22 by Olaf.Piesche

	Adding UI for easilly browsing and switching in a folder full of stats dumps

Change 2953213 on 2016/04/22 by Olaf.Piesche

	Renaming a stat to be more descriptive

Change 2953393 on 2016/04/22 by Zabir.Hoque

	Get DX12 running again:
	  - Port Shader Resource Table change
	  - Line up VS outputs and ps inputs
	  - Fix incorrectly defining a static global in a .h

Change 2953453 on 2016/04/22 by Martin.Mittring

	polished r.DisplayInternal

Change 2954618 on 2016/04/25 by Zabir.Hoque

	2 Fixes:
	  - GLSL does not understand "unsigned int", converted to "uint"
	  - Refactored problematic prev buffer allocation code to be more inline with proper level of abstraction.

Change 2955369 on 2016/04/25 by Rolando.Caloca

	DR - hlslcc - Fix some memory leaks in the frontend

Change 2955403 on 2016/04/25 by Uriel.Doyon

	Fixed texture streaming build on OpenGL. Probably more likely to work on other platforms like Mac and Linux.
	Enabled debug view shaders on PCD3D_SM4 and OPENGL_SM4
	#jira UE-28840

Change 2955419 on 2016/04/25 by Rolando.Caloca

	DR - hlslcc - Reenabled support for static global variables being not const

Change 2955432 on 2016/04/25 by Zabir.Hoque

	Fix build break from not undef'ing LOCTEXT_NAMESPACE

Change 2955459 on 2016/04/25 by Zabir.Hoque

	TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque.

Change 2956292 on 2016/04/26 by Zabir.Hoque

	Fix OpenGL shader compile break from CL: 2951737 (Adds support forHDR displays using Dolby PQ output).

	#CodeReview: Jack.Porter, Allan.Bentham

Change 2956662 on 2016/04/26 by Chris.Bunner

	Temporary fix for new Tonemapper issues.
	#jira UE-29935

Change 2957614 on 2016/04/27 by Marcus.Wassmer

	Fix PS4 shader compiler errors.

Change 2958468 on 2016/04/27 by Rolando.Caloca

	DR - Fix hlslcc validation issue
	- Show error on SCW if shader format not found when running with -directcompile
	#jira UE-29982

Change 2959105 on 2016/04/28 by Rolando.Caloca

	DR - Rebuilt hlslcc for Mac

Change 2959891 on 2016/04/28 by Daniel.Wright

	Shader compiler does a recreate render state even during blocking compile - fixes saving a material giving different behavior from applying changes with global distance fields

Change 2959895 on 2016/04/28 by Daniel.Wright

	Work around build machine string matching heuristics that will cause a cook to fail

Change 2959902 on 2016/04/28 by Daniel.Wright

	Added LowerHemisphereSolidColor to sky lights

Change 2959930 on 2016/04/28 by Daniel.Wright

	Added OpacitySourceMode to SubUVAnimation, which is useful with textures created for additive particles

Change 2959933 on 2016/04/28 by Daniel.Wright

	Substring matching for console command suggestions
	* Only implemented in the editor, game uses UConsole which needs an entirely different implementation
	* Not sorting starting matches first, although that is desired

Change 2959942 on 2016/04/28 by Daniel.Wright

	Gracefully handle when input string doesn't match search results

Change 2960743 on 2016/04/29 by Gil.Gribb

	UE4 - UAT - Add map name to editortest command line.

Change 2960940 on 2016/04/29 by Chris.Bunner

	Allow custom material nodes to be used with tessellation outputs.
	#jira UE-29586

Change 2960955 on 2016/04/29 by Gil.Gribb

	UE4 - Improved the CPU burden of loading in several places. Made substantial progress on the complete loading revamp (currently disabled).

Change 2960961 on 2016/04/29 by Chris.Bunner

	Potential material translator Lerp node pre-computations/optimizations.
	#jira OR-20138

Change 2961087 on 2016/04/29 by Gil.Gribb

	Fixed compile error in preflight relating to load time test rig

Change 2962565 on 2016/05/02 by Gil.Gribb

	Merging //UE4/Dev-Main@2962478 to Dev-Rendering (//UE4/Dev-Rendering)

Change 2965058 on 2016/05/03 by Chris.Bunner

	Shader version bump.
	#lockdown Gil.Gribb
	#jira UE-30206

Change 2966554 on 2016/05/04 by Chris.Bunner

	Bumping shader version again, unintentionally polluted DDC previously.
	#lockdown Gil.Gribb
	#jira UE-30329

Change 2967183 on 2016/05/05 by Gil.Gribb

	UE4 - Fixed a bad hash on landscape grass components. Simple, safe.
	#lockdown nick.penwarden

[CL 2967480 by Gil Gribb in Main branch]
2016-05-05 12:13:26 -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
Matthew Griffin
984342ca17 Merging //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) post CL#2804086 to CL#2817167
CL#2805395 resolved as target to avoid copying 2015 changes
#lockdown Nick.Penwarden

[CL 2819197 by Matthew Griffin in Main branch]
2016-01-07 11:21:22 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Daniel Wright
143fb4d900 Worked around AMD driver bug with distance field shadowing, so that the feature works again without having to get the latest driver
[CL 2710215 by Daniel Wright in Main branch]
2015-09-29 17:18:50 -04:00
Marcus Wassmer
8c7861c485 UAV resource transition support. Validation for UAV transitions.
Some RenderTarget validation fixes.

[CL 2708113 by Marcus Wassmer in Main branch]
2015-09-28 14:13:15 -04:00
Daniel Wright
6752a00381 Fix for objects being culled by the near plane of the shadow frustum with RTDF shadows (shadow casters behind the camera pop out)
New TraceDistance property on directional lights

[CL 2700942 by Daniel Wright in Main branch]
2015-09-22 13:51:50 -04:00
Marcus Wassmer
445543fd51 First pass at new RHITransitionResources API.
Rendertarget transitions are completed and validated on DX11 and PS4 RHI's.

[CL 2700116 by Marcus Wassmer in Main branch]
2015-09-21 20:07:00 -04:00
Mark Satterthwaite
977542aeaa Merging general rendering & shader changes necessary to support desktop Metal.
reviewedby michael.trepka, rolando.caloca, lee.clark

[CL 2670859 by Mark Satterthwaite in Main branch]
2015-08-27 10:11:22 -04:00
Marcus Wassmer
11ff098ea0 Bind clear color to rendertargets at creation time.
#codereview Rolando.caloca

[CL 2615534 by Marcus Wassmer in Main branch]
2015-07-09 15:11:37 -04:00
Gil Gribb
356a7d8f96 UE4 - Large upgrade to parallel rendering. No longer block per pass. Several RHI cmdlist passthrough functions added and implemented on the consoles
[CL 2570510 by Gil Gribb in Main branch]
2015-05-29 10:47:57 -04:00