Commit Graph

35 Commits

Author SHA1 Message Date
carl lloyd
9bc1cec538 Enabling half precision floating point for Metal on iOS/tvOS
#rb Dmitriy.Dyomin, Laura.Hermanns
#jira UE-120588
#preflight 624c3b06f4217035fac65500

[CL 19626453 by carl lloyd in ue5-main branch]
2022-04-05 11:51:04 -04:00
axel riffard
92a7004918 Harmonize Metal version to use in iOS / Mac
#jira UE-135971
#rb jack.porter
[FYI] will.damon, carl.lloyd
#preflight 61e51ef2a2616066f675dd5e

#ROBOMERGE-OWNER: axel.riffard
#ROBOMERGE-AUTHOR: axel.riffard
#ROBOMERGE-SOURCE: CL 18631139 in //UE5/Release-5.0/...
#ROBOMERGE-BOT: UE5 (Release-5.0 -> Release-Engine-Staging) (v899-18417669)
#ROBOMERGE-CONFLICT from-shelf
#p4v-cherrypick 18631594
#preflight 61e643cb1f30b67a22f3febd

[CL 18636647 by axel riffard in ue5-main branch]
2022-01-17 23:50:00 -05:00
aaron mcleran
c853793da9 Fixing tooltips in platform settings
#jira UE-123772
#rb trivial

#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 18427039 in //UE5/Release-5.0/... via CL 18427112
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18427141 by aaron mcleran in ue5-release-engine-test branch]
2021-12-09 18:59:43 -05:00
will damon
6295503c66 Fix the description used for Mac platform target architecture in the editor project settings.
#rb andrew.grant
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 16706311 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16706320 by will damon in ue5-release-engine-test branch]
2021-06-17 12:53:56 -04:00
will damon
4d9be3b3ee Update min macOS version to 10.15 and roll default MSL to v2.2.
[REVIEW] [at]richard.wallis [at]axel.riffard [at]jack.porter [at]dave.hunter
#jira UE-109999
#rnx

#ROBOMERGE-SOURCE: CL 15681710 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15684125 by will damon in ue5-main branch]
2021-03-11 21:32:06 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
ethan geller
ec66713f7e #ROBOMERGE-SOURCE: CL 9765321 via CL 9765325 via CL 9765326 via CL 9765327 via CL 9765329
#ROBOMERGE-BOT: (v545-9751379)

[CL 9765330 by ethan geller in Main branch]
2019-10-23 18:14:10 -04:00
jimmy smith
6aaf321b7e SoundNodeQuality should be evaluated during cooking
#rb Aaron.Mcleran, Marc.Audy, Ethan.Geller
#jira UE-80323


#ROBOMERGE-OWNER: jimmy.smith
#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 9542946 via CL 9542950
#ROBOMERGE-BOT: (v521-9539702)

[CL 9543087 by jimmy smith in Main branch]
2019-10-10 17:58:16 -04:00
ethan geller
a84d71f486 #ROBOMERGE-SOURCE: CL 9387878 via CL 9387880
#ROBOMERGE-BOT: (v456-9359915)

[CL 9389736 by ethan geller in Main branch]
2019-10-03 09:09:42 -04:00
bob tellez
f1dd5d1025 Back out changelist 9324635. CIS errors
[FYI] Ethan.Geller


#ROBOMERGE-SOURCE: CL 9325589 via CL 9325591 via CL 9325592
#ROBOMERGE-BOT: (v455-9298202)

[CL 9325593 by bob tellez in Main branch]
2019-10-01 22:56:41 -04:00
ethan geller
1a436fb87f Flip on Stream Caching for Android, Mac and Windows on 11.10.
#ROBOMERGE-SOURCE: CL 9324633 via CL 9324634
#ROBOMERGE-BOT: (v455-9298202)

[CL 9325117 by ethan geller in Main branch]
2019-10-01 20:47:59 -04:00
Marcus Wassmer
6517c68ef5 Copying //UE4/Dev-RenderPlat-Staging@8684824 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 8684840 by Marcus Wassmer in Main branch]
2019-09-14 09:45:25 -04:00
Mark Satterthwaite
840de7ff29 Remove the Metal 2.1 + IABs shader version from the Mac target settings as this is an experimental feature that I don't want to expose to users as it has broken since I worked on it last.
#rb none
#jira N/A
#lockdown marcus.wassmer

[CL 4846682 by Mark Satterthwaite in Dev-Rendering branch]
2019-01-30 14:48:54 -05:00
Mark Satterthwaite
8ba414e181 Add an option "Force 32bit Floating Point Precision" to the iOS project settings to have the shader compiler promote all half-float operations to FP32 as some projects on iOS encounter rendering issues when fragment shader calculations run into half-float precision limits.
#jira UE-68654
#rb none
#lockdown marcus.wassmer

[CL 4804101 by Mark Satterthwaite in Dev-Rendering branch]
2019-01-24 15:59:40 -05:00
Marcus Wassmer
cbfcbbb93b Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
Should be just copyright updates

[CL 4680440 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:16:26 -05:00
Mark Satterthwaite
e39822bbb0 Remove option for Metal 1.2 support from Mac target settings, Metal 2.0 is now the minimum.
#rb none

[CL 4659463 by Mark Satterthwaite in Dev-Rendering branch]
2018-12-13 16:37:30 -05:00
Mark Satterthwaite
045d68365e Incomplete support for Metal 2.1 using Indirect Argument buffers to bind and access resources that were declared as part of a uniform buffer.
- Added a new Metal shader version (5) which compiles as Metal 2.1 with Indirect Argument Buffers for resource binding.
- Only enable the IAB feature for Metal shader version 5 and above and only on macOS for now.
- Added code to create argument encoders which are cached as creating them is pricey.
- Added code to create argument buffers from RHIUniformBuffers and their layouts.
- Ensured that vertex, index and uniform data is allocated such that the pointer won't be invalidated after being written into the IAB.
- Significant changes to the shader compiler and ue4_stdlib to emit IAB structures.

Todo:
- No support for atomic operations on elements within an IAB yet - need to modify ue4_stdlib and the MetalBackend.
- Incorrect compilation of StructuredBuffera and/or ByteAddressBuffer when within an IAB - need to emit a different type in the IAB structure and then only bind the buffer pointer at runtime.
- Indirect Argument Buffers are incompatible with the RHI thread because the creation of texture-views is deferred to the RHI thread but IAB creation is not yet.

#rb none

[CL 4554125 by Mark Satterthwaite in Dev-Rendering branch]
2018-11-08 20:01:54 -05:00
Rolando Caloca
e3ec1a0d94 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4358666)
#lockdown Nick.Penwarden

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

Change 4073167 by Krzysztof.Narkowicz

	Added subsurface profile for eye shading model.
	#jira none

Change 4073422 by Krzysztof.Narkowicz

	Added dual specular for subsurface profile shading model.
	#jira none

Change 4075278 by Krzysztof.Narkowicz

	Fixed forward reflection/refraction rendering issues, which caused ShaderModels.Material.Refraction to fail.
	#jira none

Change 4084231 by Krzysztof.Narkowicz

	Dual specular - replace lobe spread with two separate roughness multipliers. Default material roughness is now replaced by an average lobe roughness in order to support non dual specular features.
	#jira none

Change 4092798 by Matt.Collins

	Some HDR refactoring.

	Previously the DisplayOutput and ColorGamut were only set in GameUserSettings.
	I added a Sink that checks the HDR enable. If it's toggled we apply the correct DisplayOutput and ColorGamut for the current platform (this way we get good settings even if you toggle via the console). These settings are still exposed via the console and can be set independently if the user wants.

Change 4096954 by Chris.Bunner

	Added ShaderModelID as scene texture option and renamed existing value to ShaderModelColor to better reflect the internal code.

Change 4111285 by Brian.Karis

	Eye shading update.
	Added Iris normal (disabled). Removed wrap. Fixed contact shadows.

Change 4155261 by Krzysztof.Narkowicz

	Planar reflection prefilter - use scene viewport size instead of reflection target size in order to keep filter size constant in screen space. This makes planar reflection filter more stable in case of dynamic resolution.

	#jira none

Change 4167644 by Krzysztof.Narkowicz

	Global shader map is now stored in multiple DDC entries (one per shader filename) instead of keeping everything in a single one. This allows to skip recompilation of unchanged shader files.

Change 4183727 by Yuriy.ODonnell

	Implemented auto-conversion from deferred to DBuffer decals in forward shading mode (when GBuffer is not available).

	Added support for specular and metallic channels for DBuffer decals, based on work by Chris Bunner.
	This requires DBufferC to be expanded from 2 to 4 channels, leading to slight increase in DBuffer bandwidth and memory requirements.

	Appearance of DBuffer decals is affected by this change, as specular and metallic channel values previously hard-coded in DBufferDecalShared.ush.
	Decals were forced to be non-metallic and have specular of 4% (0.5 numeric value). Now the authored decal material values will be used, which matches GBuffer decals.

	Added support for DBuffer decals with emissive component.

	Most decal types can now be automatically converted, with the exception of stain decals. Those are currently approximated as regular translucent decals.

Change 4197684 by laz.matech

	Added a PostProcess Volume test to the map to test that Cinematic Depth of View can be achieved through PPVs as well. Changed the BP_DepthOfFeildPOV asset - I exposed Focus Method so that it can be disabled for the PPV test. Added a second Hair Model head to the InFocusHair test so that it tests in and out of focus hair models (changed the name of the test to FocusHair).

	#jira none

Change 4225614 by Rolando.Caloca

	DR - Enable depth collision particles on Vulkan mobile

Change 4235489 by Uriel.Doyon

	Removed r.DefaultFeature.PointLightUnits and r.DefaultFeature.SpotLightUnits and replaced them by a single r.DefaultFeature.LightUnits which also controls the units of newly placed rect lights.

	#jira UE-59525

Change 4260154 by Mark.Satterthwaite

	Parallelize the creation of Metal archives and libraries when they are broken up into smaller sub-libraries, this should reduce apparent cook time by going wide across threads on the host of the cooker.

Change 4270594 by Brian.Karis

	Fix for textured rect light L pointing away from plane due to approximate diffuse integration.

Change 4273361 by Daniel.Wright

	Particle Cutouts with 8 verts now always use stochastic approach.  Circle textures with > 234 edges in the convex hull were overflowing the uint64 calculation of the total number of combinations, causing an infinite loop.

Change 4309174 by Mark.Satterthwaite

	Graph device utilization from the driver monitor stats - really helps see how well the GPU is being used.

Change 4310121 by Matt.Collins

	Optmizing RemoveUniformBuffersFromSource. Brings it from ~20% to ~1.5% in my testing.

	#jira none

Change 4312960 by Daniel.Wright

	Fix from Stephen Hill for incorrect light grid culling near the near plane

Change 4314169 by Richard.Wallis

	FShaderCache and associated public structures are now marked as deprecated.  All FShaderCache code hooks removed from MetalRHI, OpenGLDrv and engine Launch/Shutdown logic.

	#jira none

Change 4320760 by Arne.Schober

	DR - Remove SV_Coverage from basepass interpolants when running with Masked in early Depth with ForwardShading as otherwise earlyZ will be disabled (as the PS has to run).
	#jira UE-60992

Change 4334607 by Uriel.Doyon

	Added custom overrides to reset ULightComponent::Intensity to default (in FLightComponentDetails).
	Now settings a light Intesity to default resets the brightness to the archetype brightness.
	This handles correctly cases where the intensity units differs between the two objects.
	Also changed FLocalLightComponentDetails so that changing intensity units kepts the same brightness
	(by recomputing the Intensity).

	#jira UE-61401

Change 4336188 by Rolando.Caloca

	DR - Added -ReduceThreadUsage so programs can use less threads (for SCW )

Change 4337967 by Rolando.Caloca

	DR - Remove unused RHISupportsShaderCompression function

#rb none

[CL 4358751 by Rolando Caloca in Main branch]
2018-09-11 14:44:10 -04:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Thomas Sarkanen
6b2c402ca8 Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3624379)
#lockdown Nick.Penwarden
#rb none

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

Change 3536809 by Ben.Marsh

	Fixing case of files in "iOS" directory, pt 1.

Change 3536814 by Ben.Marsh

	Fixing case of files in "iOS" directory, pt 2.

Change 3596207 by Thomas.Sarkanen

	Copying //Tasks/UE4/Dev-UEAP-29-PhATUpgrade to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3590250

	PhAT Upgrade

	#jira UEAP-29 - New PhysicsAsset editor

	Changelists from task stream:

	Change 3380649 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Initial pass at allowing viewports to be extended more easily, still plenty TOD, but just unearthing this old shelf and getting it working.

		This gets the Persona skeleton tree and viewport into PhAT, without any PhAT functionality added.

	Change 3380685 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Renaming PhAT files to PhysicsAssetEditor

	Change 3380749 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Rename PhAT -> PhysicsAssetEditor

	Change 3380832 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed up PhAT to Physics Asset Editor

	Change 3380884 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Reverted some over-zealous renaming

	Change 3380970 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Tweaked ISkeletonTreeBuilder interface to make way for actually making a derived class of it
		Added the ability to hide filter menus to skeleton tree

	Change 3381017 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added new physics asset skeleton tree builder

	Change 3384407 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Skeleton tree extensions to support physics assets

		Only started this work - still much to do

	Change 3384460 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Rearranged persona viewport menus

	Change 3392222 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed body/constraint modes.
		Added graph editor
		Added edit mode - moved viewport client code over
		Got PhAT skel mesh rendering in viewport

	Change 3392268 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Increased hit proxy priority to improve selection

	Change 3401648 on 2017/04/20 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Skeleton tree gets bodies & shapes back.

		Selection works in graph, now displaying the correct constraint in the detials panel. Still need to add selection from viewport.

		Added multi-select to bone proxy customization

		Re-tweaked editor layout

	Change 3403701 on 2017/04/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Selection sync work.

		Customization of anim viewport menus.

		Context menus for physics asset items, as well as masking of various context menu items via settings.

	Change 3405246 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Started more work on viewport menu extensions, but need to refactor the toolbar system to use actual multiboxes. Up next!

	Change 3405274 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		More viewport menu fixups (plus deleting duplicate functionality).

	Change 3409155 on 2017/04/26 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Got simulation working again - as we switched to the debug skel mesh comp, the normal tick path didnt work for post-blend physics (it tried to flip the buffer too early).
		Also tweaked debug skel mesh comp root motion consumption code to not reset transfor every frame if we are not using root motion.
		Cleaned up unused files & code

	Change 3410814 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Allow extensibility of viewport menu bars

		Slate changes:

		Allow menu bars to optionally specify an icon to use. This is intended to allow us to move viewport tool/menu bars over to use multibox, with all the attendant features and extension points.
		Allow menu bars to optionally invert-on-hover.
		Allow styling of menus to affect closed appearance of menu header. Previously only NoBorder was used.
		Adjusted core styling of menu bar elements.

		Other changes:

		Adjusted padding for various UI elements to preserve previoud behavior.
		Adjusted SAnimViewportToolbar to use the new menu bar builder.
		Exposed SEditorViewportViewMenu so that it can be used in a standard menu bar.

	Change 3410816 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added extension point to viewport menu bar

	Change 3410818 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Getting sim working again

		Moved over to using preview instance so we share functionality with Persona editors.
		Added time dilation options to persona preview scene.
		Removed PhAT specific recording functionality (it is in the viewport now).

	Change 3410840 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Recreate physics state on edit, not sim start

		This allows velocity to be inherited when simulation is started

	Change 3410863 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Moving viewport to continually-invalidated one like animation editors

		Fixed crash in non-extended viewport toolbars

	Change 3410936 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Bodies start off non-expanded

		Selection now synced between viewport and graph

		Constraint selection in graph not works on the first try

	Change 3410943 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added missing icon

	Change 3410966 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed shape listing from graph nodes

	Change 3411013 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Double click on body node recenters graph

		Fixed graph disappearing on right-click

	Change 3411111 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Prevented cursor getting swallowed in sim mode

	Change 3411126 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed overlapping text

	Change 3411213 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Node layout now takes dimensions into account

	Change 3411320 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed crash opening Persona editors

		Renamed file

	Change 3411327 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Tweaks to profiles menu

	Change 3420822 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Profiles can now be edited in their own details panel

		Existing customizations folded into the new panel

		Tweaks to toolbar

		Added the ability for the persona details panel to have extra top/bottom content added

	Change 3420832 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Add profile control to context menus

		Also delete old unused code

	Change 3422651 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Toolbar trimmed down & re-ordered

		Body/constraint ops moved to context menus

		Apply physmat now a context-menu option with an asset picker

	Change 3422654 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed extra warning dialog when auto-creating bodies

		Changed title of new asset dialog to "auto-create bodies"

	Change 3422680 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix "simulate selected"

		As we dont re-init the physics state each time we start simulating, our tweaked physics type was never applied. We now manually do this in the editor.

	Change 3422937 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Replaced EKCollisionPrimitiveType with EAggCollisionShape::Type

		Fixed up selection so body selection works & tree seleciton is properly synced with viewport
		Added recursion guard to selection delegate handlers.

		Removed vestigial instance property editing support (no longer needed).

		Removed unused old tree support code

	Change 3423034 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added constraints to tree

	Change 3423318 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix bone proxiies stopping updating after initial viewport selection

	Change 3424993 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed up selection issues when creating new bodies

		Added constraint context menu

	Change 3424998 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Moved icons to central location

	Change 3425445 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Customized filtering of the skeleton tree

		Hide constraints by defualt

		Added option to hide parents when filtering (so the vertical space is nto wasted, but some idea of hierarchy is preserved).

		BREAKING CHANGE: changed skeleton tree filtering API to add args & removed bWillFilter bool.

	Change 3425488 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen

		Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3425303

	Change 3427886 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Moved physics sim options to viewport menu (so seleciton changing is not required to change them)

		Moved physics-related rendering options to show menu

		We no longer switch to sim options when nothing is selected.

		During simulation we now disable the details panel

		Constraint scaling now works correctly (rather than just scaling the screen size limit that axes only are rendered)

	Change 3428040 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Small fixes based on feedback:

		Exposed Mirror tool to menus

		Exposed constraint quick actions to menus

		Added edit condition to Position & Velocity strength for physical animation

		Fixed up some tooltips & display names

	Change 3428143 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Defaulted to constraints as points

	Change 3428216 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Request from Nick D:

		Update in-level primitive transforms immediately, rather than on mouse up. We only do this for non-convex primitives however, to avoid re-cooking meshes.

	Change 3430326 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Tweaks to rendering of constraints and shapes to allow for better seleciton & interaction with editor widgets.

		Slightly increased point-constraint rendering size and added crosshair cursor to constraints

	Change 3430327 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed object-reuse issue in skeleton tree items with sanem names (use a GUID instead)

	Change 3430391 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed duplicate time dilation (can just use viewport menu!)

	Change 3430419 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixup post-merge

		Prevent crash by attaching to root component in the correct place

		Add IWYU include for TArrayView

		Remove more unused code

	Change 3430443 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix constraint/body selection one final time

		Move constraint drawing to SDPG_World (apart from point mode)

		Remove depth offset in material

	Change 3430495 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Enabling/disabling collision between bodies is now clearer

		Menu items are now enabled and disabled correctly depending on collision state

		Tooltip reflects what actually gets done when the operation is enacted

		Also corrected a few functions that still reference constraint & body mode

	Change 3430553 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added enable/disable collision with all

	Change 3432386 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Color code graph items based on current profile

	Change 3432401 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Color code tree items too

	Change 3432418 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Bone selection & manipulation now possible - allows for pose setup before simulation

		Item expansion now expands leaf nodes when selecting - helps with constraint selection etc.

	Change 3432427 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix compile error

		Color code according to simulated/kinematic status

	Change 3432428 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		File i missed

	Change 3432540 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added physics asset factory so physics assets can be created form the "new asset" menu.

		Skeletal mesh is picked then a defualt asset is generated

	Change 3432556 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Improve interactions with bones & bodies

		Clear bone selection when selecting bodies/constraints

		Always hide gizmo in simulate

	Change 3432703 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed unused selection lock feature

		Fixed selection working incorrectly with details panel closed

	Change 3434710 on 2017/05/11 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Selection improvements

		Multiselect in tree now only selects non-collapsed tree elements

		Selection API revamped in shared data, so multiselect of constraints can work correctly (they appear more than once in the tree, so the preivous single-point-of-access API was insufficent).

	Change 3489030 on 2017/06/14 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen

		Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3488994

	Change 3491459 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixup post-merge issues

	Change 3491486 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Simulation now works in a simlar way to the level editor

		Only on 'simulate' button, which controls repeating the last simulation (be it selected or not). Options are on a dropdown.

	Change 3491529 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed selection color of wireframe drawing (this broke ages ago!)
		Fixed initialized environment color/intensity

	Change 3491537 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Tweaked materials so they dont repend on seperate translucency (which is optional, and disabled currently)

	Change 3491791 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix crash when simulating selected new bodies

		Make sure we recreate physics state appropriately (it used to be done on simulation start, so wasnt needed each time)

	Change 3494359 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Select all is now a menu option

		Context menu pops when right-clicking nothing now too
		Menu no longer grows enormous when multiple types of objects are selected

	Change 3494373 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Enlarged constraint rendering size
		Show constraints (rather than points) by default

	Change 3511708 on 2017/06/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Physics Assets now appear in the asset family shortcut bar

		Physics Assets now render thumbnails

		Skeleton tree can now work in 'picker' mode

		Constraints can now be created manually in the graph, tree and viewport

		Fixed double-click and mousewheel not working right sometimes

	Change 3513121 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed clicks incorrectly selecting bones in simulate mode

	Change 3513160 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Physics Asset config is now loaded/saved

		Fixed antoher corner case with viewport clicks in sim

	Change 3513540 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Moved body creation params over to a details panel & settings object

		Moved initial creation dialog over to use the new system too

	Change 3513591 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Renamed shapes and constraints in the tree view

	Change 3513752 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Constraints are now not filtered by default

	Change 3513797 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Selecting constraints now shows them (and the bodies involved) in the graph

	Change 3513859 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed "Show Kinematic Bodies"

		We now always show kinematic status in simulate mode

	Change 3515732 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		PhAT rendering settings are now persisted across sessions.

		Access to sim/edit settings is now not gated on state of the editor. Sim/edit settings are always both available.

		Added editable opacity to collision rendering.

	Change 3515735 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		New materials with opacity parameter

	Change 3515757 on 2017/06/29 by thomas.sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Re-saved materials

	Change 3515759 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added ability to only show selected bodies as solid

	Change 3515812 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix focus 'F' shortcut sometimes not working

	Change 3515984 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix a bunch of selection issues with the graph not keeping in sync

	Change 3517456 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen

		Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3516853

	Change 3517514 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed disappearing convex meshes on simulate

		Also fixes crash in thumbnail rendering

	Change 3517556 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Disabled selection on mesh. Fixes selection issues.

		Also made the hit proxy use a crosshair when over bodies, for easier selection

	Change 3517642 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added body/body collision buttons back to the main toolbar

		Fixed solid body drawing using the wrong material when no bodies are selected

	Change 3517828 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix delete shortcut not working when tree is focused

	Change 3517927 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Integrated per-bone primitive generation with the new tab method

		Removed context menu item for bones (fixes duplicate popup)

		Fixed undo/redo not working for regenerating all bodies

	Change 3519931 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Disabled body regeneration when simulation is running

		Fixed up tab icons

	Change 3519978 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Preview mesh is now set like every other Persona editor (via toolbar picker of via preview scene settings)

		Animation picker removed from toolbar (we use the preview scene settings for this now)

		Fixed profiles tab icon

	Change 3519982 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Show attached assets in tree

	Change 3519995 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix broken multi-selection of bone proxies

	Change 3532799 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed code that prevented parts of the UI (like simulation) from working in PIE

		Removed graph overlays & added "PHYSICS" label

	Change 3532837 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed arrows from graph

		Fixed dragging off constraints/input pins/bodies in constraint-created graphs

		Constraint names now include both bodies

	Change 3532880 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Switched from colors to icons in the skeleton tree

		Removed bold fonts

	Change 3532907 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Layout fixes

		Added border around generate button in tools panel

		Removed skeleton tree header in contexts where it is not needed

	Change 3532932 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added slow task dialog for body generation

	Change 3532992 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Rearranged context menus to be not so huge

	Change 3533134 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Rearranged menus some more

	Change 3533135 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Colorized details customization of swing/twist items

	Change 3533174 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Auto-open assets when creating from skeletal mesh

		Tweaked tooltip on suggestion from Nick D

	Change 3535652 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed mirroring changes not showing up straight away

	Change 3535731 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Moved over to Persona-style floor adjustment

	Change 3539689 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Tweaked tooltips for filtering items

	Change 3539693 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added "deselect all" option (Esc)

	Change 3539731 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Graph selection tweaks

		Selected bodies in the viewport/tree are now also selected in the graph.
		Selection outline is now matched to the graph outline instead of using default outline.
		Pin allocation no longer happens twice

	Change 3539750 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Switched simulate shortcut to Alt+Enter

		Avoids conflict with clobal PIS/SIE shortcuts

	Change 3539933 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Minor body regeneration refactor

		Label for tools tab button is dynamic depending on selection context
		Generation setttings are now re-used by creation dialog too
		Added in per-bone and per-body regeneration menu items. Bone regeneration now deletes the old body(s) instead of aborting

	Change 3543884 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Resetting animation to default now correctly applies the animation

	Change 3544101 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed up physics asset editor's use of debug skel mesh component

		This broke post-merge from Dev-AnimPhys.
		Kinda hacky, but we need to double-flip the buffers in this case as we want to force non-threaded work AND also wait on the physics tick group to complete (to blend in physics).
		This also requires making ShouldBlendPhysicsBones protected, otherwise the buffers are never flipped in the non=simulating case (before simulation is enabled in the physics asset editor).

	Change 3547893 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Moved code to add/remove/assign/unassign profiles to details customization

		Also allowed dupication again (via the menu)
		Allows correct naming of new profiles as before (as this is handled in PostEdit)

		#jira UE-47448 - Deleting profiles in Physics Asset Editor does not update the current profile
		#jira UE-47514 - Unable to duplicate profiles in Physics Asset Editor
		#jira UE-47384 - New profiles in Physics Asset Editor are all named the same
		#jira UE-47375 - Physics Asset Editor 'None' current profile Delete option is available
		#jira UE-47378 - Current Profile name boxes in Physics Asset Editor are size limited and overlap buttons if too long
		#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save

	Change 3547925 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Prevented ctrl+selection of constraints from re-selecting

		Avoided defered broadcast of seleciton event from the graph

		#jira UE-47515 - Ctrl + click and Shift + click does not remove constraints from skeleton tree in Physics Asset Editor

	Change 3550332 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed bodies incorrectly simulating outside of 'simulate' mode

		Forced all bodies to be non-simulated when simulation is disabled.

		Also removed non-functioning motor menu options & disabled more menu options when simulating

		#jira UE-47579 - Entire mesh rotates uncontrollably after rotating a simulated body in Physics Asset Editor

	Change 3550355 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed crash when failing to create a physics asset with multi convex hull

		#jira UE-47590 - Crash when New Physics Asset window is closed with no asset being created

	Change 3558007 on 2017/07/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed typo that disabled editability of profile names incorrectly

		#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save

	Change 3566157 on 2017/08/01 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed crash when opening a physics asset with a deleted preview skeletal mesh

		Now assigns default mesh as before

		If the mesh is then reset, the asset editor must be re-opened as the skeleton will have changed underneath it.

		#jira UE-47918 - Crash when opening certain Physics Assets

	Change 3568327 on 2017/08/02 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Prevent "set bodies below" from improperly enabling simulation on bodies

		#jira UE-47752 - Set all bodies below to simulated causes the viewport to simulate those bodies immediately in Physics Asset Editor

	Change 3570436 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Physics assets with simulated bodies no longer simulate when first opened

		#jira UE-48000 - Physics assets with simulated bodies begin simulating when first opened

	Change 3570470 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix excessive gravity crash when actors pop out of the world

		Also restrict gravity to non NaN-causing levels.

		#jira UE-48002 - Crash when mesh falls out of world due to high gravity simulation in Physics Asset Editor

	Change 3570717 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen

		Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3570581

	Change 3570781 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix merge issues

	Change 3587760 on 2017/08/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed delegate for skeleton tree context menu extension, now uses an empty section

	Change 3589915 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Added comments to bone proxy & physics asset editor shared data

		Removed unused variables

	Change 3589976 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixed constraint 'all positions' rendering

		Removed empty override of unregister tab spawners

	Change 3589983 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fix crash when setting skeletal mesh

		Toast is not displayed when the skeleton is changed as well as the skeletal mesh.
		Toolkit was getting invalidated as setting the preview mesh to a different skeleton ends up restarting the sub-editor

		#jira UE-48196 - Crash when changing preview mesh of Physics Asset and applying

	Change 3589990 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Physics asset selection color now uses editor settings

	Change 3589994 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed unused functions

	Change 3589997 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Commented SetBodiesBelowPhysicsType as per code review

	Change 3590007 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Disabled physical material menu in simulate

	Change 3590130 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Removed unused code

		Commented a few functions

		Re-instated preview mesh selection

		Removed delegate allowing viewport client class creation

	Change 3590154 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Remove unused code

	Change 3590197 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen

		Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3589965

	Change 3590250 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen

		Fixup merge errors

Change 3596227 by Jonathan.Poncelet

	Fixed physics substepping interpolation using the wrong starting value.

	#jira UE-48150 Physics Substepping doesn't have the same effect from 4.15 to 4.16

Change 3596241 by Jonathan.Poncelet

	Fixed cloth not being drawn correctly in the editor, due to bounds not being computed accurately.

	#jira UE-48243 Clothing disappears during cloth paint mode once you navigate to a section far from the origin

Change 3596247 by Thomas.Sarkanen

	Fixup CIS errors post PhAT Upgrade merge

Change 3596250 by Thomas.Sarkanen

	More CIS fixes

Change 3596255 by Benn.Gallagher

	Fixed compilation errors when nativizing animation blueprints that use subinstances

	#jira UE-46522

Change 3596256 by Benn.Gallagher

	Fixed orphaned sub anim instance pins hanging around
	#jira UE-46545

Change 3596257 by Benn.Gallagher

	Fixed skel surf particles being misplaced when clothing was active. And fixed particles spawning on disabled cloth proxy sections.

	#jira UE-48045

Change 3596258 by Benn.Gallagher

	Hide mass override when selecting skeletal meshes. Mass overrides are taken from physics asset and will be ignored on the component so it makes no sense to have this visible

	#jira UE-47755

Change 3596259 by Benn.Gallagher

	Fixed mismatch between paint values and view values for clothing tools

	#jira UE-48110

Change 3596260 by Benn.Gallagher

	Stopped property context menus killing the whole window stack when an item is clicked
	#jira UE-48158

Change 3596261 by Thomas.Sarkanen

	One last Mac CIS fix (hopefully)

Change 3596308 by Benn.Gallagher

	Removed outdated references to APEX in clothing example map.

Change 3596360 by Martin.Wilson

	Fixing inconsistent animation entries in blueprint context menu (displaying differently depending on whether the asset is loaded) + Cache correct tooltip when asset isn't loaded

	#jira UE-48452

Change 3596459 by Benn.Gallagher

	Fixed anim curves not correctly being updated to post process instances. Change made to curve update in Dev-General fixed main and sub instances but missed post process instances.

	#jira UE-47567

Change 3596967 by Aaron.McLeran

	Adding setting default reverb send level in audio settings.

Change 3596974 by Ethan.Geller

	Merge in fix from Christopher Oliver

Change 3597243 by Aaron.McLeran

	Checking in missing files.

Change 3597686 by Ethan.Geller

	Fix warnings/errors from CL 3597452

Change 3597846 by Ethan.Geller

	Fix errors, take 2

Change 3598290 by Ethan.Geller

	Panning Angle Issue

Change 3598412 by Ethan.Geller

	Change Core.h header to CoreMinimal.h, fix warnings

Change 3599797 by Jurre.deBaare

	LODs from Merge Actor tool have bad normals
	#jira UE-47129
	#fix normals weren't wrong but user was complaining about the lightmap resolution behaviour, so added a new feature that calculates the lightmap resolution according to:
		1) Summing all lightmap pixel counts for each mesh component being merged
		2) Calculating fitting texture dimension by taking square root of the total pixels

Change 3599863 by Lina.Halper

	PR #3919: rename flag 'DEPERCATED_PHYSBLEND_UPDATES_PHYSX' to 'DEPRECATED_PHYSBLEND_UPDATES_PHYSX' to fix the typo (Contributed by aziot)


Change 3599883 by Jurre.deBaare

	HLOD: update outliner tooltip when UE docs arrive

	#jira UE-20352

Change 3599944 by Martin.Wilson

	Smart name refactor
	- Remove guids entirely
	- Remove automatic fix up
	- Simplify smart name mapping container
	- Make animations deterministic for cooking

	#jira UEAP-264

Change 3600133 by Benn.Gallagher

	Fixed crash shutting down editor with active cloth paint tab, as mode manager was being used unsafely.
	#jira UE-48612

Change 3600166 by Benn.Gallagher

	Fixed cloth paint gradient allowing invalid values

	#jira UE-48114

Change 3600719 by Lina.Halper

	PR #3894: PlayMontage node bug Fix (Contributed by ArCorvus)


Change 3601668 by Jurre.deBaare

	Improve BlendSpace preview pin dragging controls
	#fix Click and drag now also works for the preview pin which should allign it with other pins on the grid and makes the preview functionality more discoverable
	#misc Also added tooltips on the grid to make the functionality more discoverable
	#jira UE-43011

Change 3601669 by Jurre.deBaare

	No easy way to tell which Blend Sample in the blend graph matches up to which Blend Sample in the Asset Details panel
	#fix I've added the SampleIndex to the names to make it easier recognizing which one is which
	#jira UE-46892

Change 3601731 by Benn.Gallagher

	Fixed cloth paint falloff to actually calculate falloff, and take brush strength into account.

	#jira UE-48329

Change 3601897 by Lina.Halper

	fixing issue with sequencer reinitialization

	#jira: UE-48556

Change 3602339 by Benn.Gallagher

	Fixed comment/tooltip typo

Change 3602502 by Benn.Gallagher

	Fixed clothing gradient tool renderer not showing selected points when camera was moving
	#jira UE-48331

Change 3602664 by Ethan.Geller

	Unshelved fixes from Dev-VR

Change 3602726 by Lina.Halper

	Back out revision 3 from //UE4/Dev-AnimPhys/QAGame/QAGame.uproject

	#jira: UE-48700

Change 3603011 by Lina.Halper

	Fix build error

Change 3604139 by Benn.Gallagher

	Restricted painter processing to no longer attempt painting while in simulation previews in cloth paint mode.

	#jira UE-47960

Change 3604284 by Benn.Gallagher

	Fixed crashes in physics asset editor and skeletal mesh editor when the preview scene clears out the preview mesh while clothing is running

	#jira UE-48687

Change 3604612 by Lina.Halper

	Fix curve issue from automation test
	- It was actual bug.

Change 3604614 by Lina.Halper

	- Fix crash with macro anim notify
	- Make sure macro anim notify doesn't show up in the menu

	#jira: UE-45036

Change 3604725 by Lina.Halper

	fixed issue with opening state machine from anim graph
	#jira: UE-48726

Change 3604971 by Aaron.McLeran

	#jira UE-48738 Launching Oculus Rift without -VR plays audio in the oculus rift.

	Bringing fix from 4.17 to Dev-AnimPhys

Change 3605787 by Aaron.McLeran

	Adding ability to pass in an optional owner in PlaySound2D and PlaySoundAtLocation BP calls

	- This is necessary in order to use the sound concurrency "limit by owner" feature

Change 3606851 by Jurre.deBaare

	UE4Editor Static Analysis Win64 - Warning fix

Change 3607022 by Lina.Halper

	Fix static analysis warning

Change 3607229 by Jurre.deBaare

	RemoveAllCurveData should not allow removing data from the Skeleton
	#jira UE-48107

Change 3607660 by Martin.Wilson

	Live link client can run in cooked builds too

	#jira UEAP-306

Change 3607668 by Ethan.Geller

	#jira UE-48792 fix null dereference case in audiodevice.cpp

Change 3607734 by Lina.Halper

	LOD linking to curve
	- consolidated to one param - curve eval option
	- for long time, looking at why morphtarget wasn't working on LOD 1, later realized it was due to simplified :(
	- fixed to make sure param to clear is always checking with default value - this is correct behavior and it's not too bad for perf because internally the default value is also in the TMap
	- flipped meaning to align with bAllowCurveEvaluation
	- also fixed issue with orion cooking - where transform curves are added as normal curves

	#jira:  UE-37996, UE-48782

Change 3607859 by Martin.Wilson

	Missed files from live link editor checkin

Change 3607958 by Martin.Wilson

	Redo Jurre's changes from CL 3607229 (were removed by CL 3607734)

Change 3608566 by Ethan.Geller

	change include to avoid header conflicts on Linux

Change 3609074 by Ethan.Geller

	Take 2: Fix capitalization on include, fix Linux build.

Change 3610024 by Lina.Halper

	Fix issue with material editor crashing due to missing load module of AdvancedPreviewScene

	- we used to load advanced preview setting by persona module
	- this has been moved to persona tool kit, and now all other modules are crashing
	- If we want to do it for tool kit, we have to make sure all other editor's loading should change also.

	#jira: UE-48809

Change 3610081 by Jurre.deBaare

	Animations can't be set on blend samples from the dropdown
	#fix Skeleton asset registry tag now includes 'AssetTypeName' PathToAsset, so replacing compare with contains
	#jira UE-48746

Change 3610088 by Jurre.deBaare

	Editor crashes if you CtrlZ several times after adding animations to a 1D blendspace
	#fix removed the hacky OnObjectPropertyChanged and tied the refresh into propertyhandles instead
	#misc found out of sync widget values due to incorrect encapsulation inside of lambdas
	#jira UE-48741

Change 3610862 by Ethan.Geller

	Fix submix effects for situations where number of input channels does not equal output channels

Change 3611346 by Aaron.McLeran

	Using audio thread platform affinity mask for audio render thread.

Change 3613297 by Ethan.Geller

	Simple delay submix

Change 3614435 by Martin.Wilson

	CIS fix

Change 3614482 by Martin.Wilson

	Store root motion on anim instance instead of proxy to avoid thread safety stalls

	#jira UE-46896

Change 3614483 by Martin.Wilson

	Evaluate curves in anim offsets

	#jira UE-47119

Change 3614495 by Jurre.deBaare

	Reimport alembic file with new source option does not automatically tick any tracks
	#fix If no tracks are set to import, reset them all to do so (we're assuming here the user is importing something completely different, and we wouldn't want her to import an empty animation either)
	#jira UE-46141

Change 3614645 by Thomas.Sarkanen

	Fixed physics assets not simulating when BlockAll was globally overridden

	Persona viewport was overriding the collision profile back to BlockAll, which projects can override. Setting to the internal PhysicsActor profile prevents this, as it used to in PhAT

	#jira UE-48591 - Physics assets not simulating correctly in Orion

Change 3614683 by Lina.Halper

	Fixed crash when modifying default physicsasset

	#jira: UE-48844

Change 3614721 by Jurre.deBaare

	Vertex painting on skeletal meshes bound by physics asset
	#fix Now try and find intersecting triangle if we do hit the mesh bounds, but not any physics bodies
	#jira UE-48004

Change 3614730 by Thomas.Sarkanen

	Fixed crash when regenerating multi convex hulls from zero-vert bones

	We handled this in the single convex hull case, but multi did not.

	#jira UE-48780 - Editor crashes if you regenerate a box body to a complex hull body

Change 3614763 by Jurre.deBaare

	Moving over:
	HLOD crash when dragging and dropping actors into their own cluster in the HLOD outliner - ALODActor
	#jira UE-48249
	#fix ensure that we nullptr check the static mesh as a LODActor can be reset to have a null static mesh

Change 3615029 by Lina.Halper

	Fix issue with highlight
	#jira: UE-48855

Change 3617593 by Thomas.Sarkanen

	Fixed crash when regenerating large amounts of bodies

	We were overflowing the PhysX shape limit for aggregates - this refers to shapes, not bodies, it seems

	#jira UE-48606 - Crash when adding new multi convex hull body to bone on skeleton that already has multi convex hull bodies

Change 3617609 by Jonathan.Poncelet

	Fixed crash that could occur when opening a physics asset and deleting bones.

	#jira UE-48971 Editor crashes if you clear a preview mesh on a physics asset and delete the bones when reopening it

Change 3617723 by Thomas.Sarkanen

	Prevented actors & components of anim preview scenes (and the preview scenes themselves) from persisting after editors are shut down

	Fixed up 2 locations where the persona toolkit was being held onto by a strong ptr (cloth paint and new PhAT). This should stop the preview scene from persisting.
	Moved AddToRoot pattern used for anim preview scene to FGCObject

	#jira UE-47227 - [CrashReport] UE4Editor_Persona!TSharedPtr<IEditableSkeleton,0>::ToSharedRef() [sharedpointer.h:794]
	#jira UE-47717 - SkelMesh Editor creates preview World, but it never gets destroyed

Change 3617818 by Benn.Gallagher

	Final v1 UX changes for clothing tool, and removed experimental flag

Change 3617937 by Jurre.deBaare

	Default bounds for Alembic skel-mesh are too large
	#fix bounds was initialised to zero and +-ed which meant that it would always include (0,0,0) and enlarge the bounds
	#jira UE-47139

Change 3618187 by Ethan.Geller

	Implement Audiomixer in HTML5

Change 3618188 by Lina.Halper

	Fix issue with highlight in persona

	#jira: UE-49020

Change 3618229 by Lina.Halper

	Fix crash on exit when modify is causing it to serialize again in the middle of tear down

	#jira: UE-48025

Change 3618248 by Lina.Halper

	fix issue by workaround where clamp is not happening with allowspin is false

	#jira: UE-47001

Change 3618289 by Aaron.McLeran

	Removing audio format types we're not using for simplicity

Change 3618291 by Martin.Wilson

	Fix duplicate of curve name appearing in list when renaming

	#jira UE-49041

Change 3618390 by Aaron.McLeran

	Removing a case for DTYPE_Xenon since this is never used.

Change 3618425 by Martin.Wilson

	Keep notify UI up to data across multiple editors when adding notifies to an animation

	#jira UE-48104

Change 3619023 by Aaron.McLeran

	Removing DTYPE_Xenon from XAudio2Buffer.cpp since it's not used

Change 3619129 by Aaron.McLeran

	Source bus feature.

	- New architectural feature for audio mixer that allows audio sources to route to other audio sources.
	- Buses can be routed to each other
	- Buses have a duration which can be set in bus asset
	- Buses can choose between mono and stereo channels
	- Sources can send to buses and also toggle to *only* output to buses (and bypass submixing)
	- Will allow persistent source effects on different source audio, while also maintaining 3d spatialization capabilities. Lots of future features will build on this change: 3d audio-volume-based submixing, sidechaining, environment reflections, diagetic microphones, etc.

	- Some engine changes and optimizations:
	  - Format conversion to float is done in async workers for decode vs the render callback
	  - Procedural sound waves can opt to output only float vs int16 PCM data (avoids a format conversion in audio mixer)
	- Apply master attenuation at the final output vs per-source
	- Fixed code that performs fade in/fade out for smooth startup and shutdown.
	- Moved FSourceParam to FParam into DSP utility so others can use it.
	 - Some engine fixes:
	    - Audio spat plugins that are external sends will not send audio to default/base submix. But will also allow their audio to be panned and sent to submix sends (e.g. reverb) so external HRTF rendering can also get reverb effects, etc.
	  - Fixed an issue with pause
	  - Fixed an issue with the final source buffer in a source voice not getting properly rendered and causing discontinuties
	- Fixed an issue with WorldID not getting set for listeners

	TODO:
	 - fill out source bus details panel customization to hide USoundBase params which aren't relevant to source buses

Change 3619159 by Ethan.Geller

	#jira UE-48950 fix steam audio crash on editor exit

Change 3619555 by Jonathan.Poncelet

	Fixed constraint debug drawing arrows in the physics asset editor being too large.

	#jira UE-48863 Limited constraints and free constraints are much larger on screen

Change 3619574 by Thomas.Sarkanen

	Fixed debug link for animation blueprints not persisting when changing preview mesh

	Anim instance is no longer re-created all the time when setting skeletal mesh, so we need to re-init the preview instance and re-set the linked skeletal mesh component manually when the mesh changes.

	#jira UE-46642 - Switching Preview mesh when you've selected an AnimBP breaks the link between the AnimBP and PIE session

Change 3619586 by Thomas.Sarkanen

	Fixed physics asset shortcut not working correctly in certain circumstances

	FBox was using uninitialized memory

	#jira UE-49034 - Pressing F to focus on a physics body focuses on the area in between the root and the physics body and not the selected body

Change 3619640 by Thomas.Sarkanen

	Assets with no preview mesh now no longer allow access to other skeleton's physics assets in their shortcut bars

	Unified the skeleton/mesh search code between FPersonaAssetFamily and FPersonaToolkit, so they bot *look* for a compatible skeletal mesh if one was not found on the asset (but still dont set it automatically).

	#jira UE-49038 - If you open a skeleton or an animation it won't open persona with the correct physics asset in the quick switch bar

Change 3619644 by James.Golding

	Change FBodyInstance::InstanceBodyIndex back to int32 (need to support ISMC with many instances)
	#jira UE-47652

Change 3619654 by Martin.Wilson

	Fix removing a curve when it isn't used on any animations

	#jira UE-49048

Change 3619771 by Thomas.Sarkanen

	Make sure the physics asset editor floor has collision, regardless of what BlockAll does

	#jira UE-49088 - PhysicsAsset Editor Floor should not depend on BlockAll config

Change 3619803 by Jonathan.Poncelet

	Fixed localization warnings caused by duplicate keys.

	#jira UE-48580 //UE4/Main: Step "Build Engine Localization" has completed with 4 Warnings

Change 3619813 by Jurre.deBaare

	Baked bones using a pose animation are rotated in the wrong direction
	#fix root bone transform wasn't being taken into account while generating final bone transforms
	#misc added debug logging for future work
	#jira UE-47362

Change 3619830 by Jurre.deBaare

	Biased Texture Size option is not functioning when Merging Actors
	#fix Fixed up material baking setup after refactoring, now sets correct texture sizes again according to texture sizing type, this will be removed in the long term anyhow
	#misc Found a bug in material rendering  if previous render size < current render size it would not set the viewport size/projection matrix correctly which broke the material bake
	#jira UE-48108

Change 3619859 by Thomas.Sarkanen

	Fixed HLOD selection sphere persisting on undo/redo

	Removed HLOD selection actors when the outliner is refreshed

	#jira UE-47032 - HLOD Cluster radius sphere remains in level if you move an actor in a cluster and then undo the movement.

Change 3619871 by Martin.Wilson

	Calculate root motion over the correct segment times, not the track times

	#jira UE-43719

Change 3619898 by Thomas.Sarkanen

	Improve UI feedback around bounds/in-game bounds in animation editor viewports

	Tooltip for in-game bounds is now more detailed
	In-game bounds cannot be selected if bounds is not also selected

	#jira UE-47958 - Bound vs In-game Bound in Viewport Show menu in Physics Asset Editor is confusing

Change 3619908 by Thomas.Sarkanen

	Fixed tooltip for PhysicsType

	#jira UE-48421 - Incorrect tooltip for Physics Type

Change 3620014 by Jurre.deBaare

	Only the first mesh bake material property in the array can be set to diffuse, diffuse cannot be selected on the other array elements
	#fix Changed the way the restriction is setup and retrieve the UMaterialOptions from the details view instead of GetDefault<>
	#misc Also added more delegates to ensure the restriction is up to date
	#jira UE-46980

Change 3620104 by Jurre.deBaare

	HLOD doesn't support renaming in levels
	#fix ensure that during renaming of UWorld we also rename the HLOD assets into their respective new HLOD package outer
	#jira UE-48072

Change 3620151 by Thomas.Sarkanen

	Undo/redo now correctly affects animation preview scene settings

	Preview scene desc is now transactional & state is correctly set up on undo/redo according to the current preview scene desc

	#jira UE-47816 - Undoing setting the animation mode to Refrence pose doesn't update the UI

Change 3620152 by Thomas.Sarkanen

	Exposed LOD menu in PhAT

	This allows auto LOD to be optionaly selected. It was hidden and we forced to LOD 0 before. We still default to forcing LOD 0 to preserve the old behavior.

	#jira UE-47970 - LODs not working in Physics Asset Editor

Change 3620177 by Benn.Gallagher

	PR #3696: Fix for USkinnedMeshComponent::GetCPUSkinnedVertices() (Contributed by Koderz)


Change 3620250 by Jurre.deBaare

	HLOD assets left in HLOD folder when clusters are deleted
	#fix some added lifetime management for HLOD assets, keeping list of 'stale' HLOD assets which if not Undo-ed will either be deleted when LODActor is saved, or marked PendingKill when LODActor is destroyed
	#jira UE-47450

Change 3620273 by James.Golding

	PR #3908: Removing duplicated forward declation (Contributed by celsodantas)
	#jira UE-48530

Change 3620274 by James.Golding

	PR #3909: Removing unnecessary conditional (Contributed by celsodantas)
	#jira UE-48531

Change 3620275 by James.Golding

	Add icon for destruction plugin

Change 3620401 by Ethan.Geller

	#jira UE-47684 Remove SDL dependencies from Win64

Change 3620586 by Jurre.deBaare

	Linux CIS fix

Change 3620660 by Martin.Wilson

	Fixes for state machines getting reinitialized in situations that users don't want them to.
	-Added option to state machine to allow it to skip reinitialization when it becomes relevant
	-Added option to slot nodes to keep source pose relevant while montage slot is playing.

	#jira UE-43578

Change 3620665 by Aaron.McLeran

	Making source buses only show relevant source bus data.

	- hiding sound wave categories that aren't relevant to source buses

Change 3621087 by Ethan.Geller

	#jira UE-49000 implement device change listener to ensure we are properly handling when audio is disabled.

Change 3621144 by Aaron.McLeran

	#jira UE-49147
	#jira UE-49145

	 Fixing concurrency and volume stats

Change 3621148 by Aaron.McLeran

	Fixing typo

Change 3621180 by Ethan.Geller

	#jira UE-49151 Fix for browser preview on bus only sounds

Change 3621421 by Ethan.Geller

	#jira UE-49165 Fix real time audio slider.

Change 3621604 by Ethan.Geller

	#jira UE-44847 fix iOS panning algorithm on non-audio mixer

Change 3621626 by Lina.Halper

	Fix issue with anim montage displaying when selecting animation

	#jira: UE-48749

Change 3621813 by Thomas.Sarkanen

	Fixing undo/redo of bone modifications in Physics Asset Editor (and others)

	Bone proxy objects now get recycled (instead of the pool constantly growing) as their names are stable and unique.
	Fixed broken skeleton tree RTTI (so selection persistance now works correctly on undo/redo again)
	We no longer force a re-selection on phyiscs asset changes (the tree takes care of that anyway).

	#jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work

Change 3621831 by Jurre.deBaare

	Crash fix for Material baking when trying to analyse a MP_MAX material property
	#jira UE-49172

Change 3621936 by Thomas.Sarkanen

	Fixed CIS error from merge

Change 3621937 by Thomas.Sarkanen

	Fix merge issue with API change in USynthComponent

Change 3622173 by Thomas.Sarkanen

	Fixed ortho viewports being bright white in sub-editors

	Preview scenes in general are responsible by default for the background color.
	Advanced preview scenes now use background color from settings. Previously only te animation editors did this.

	#jira UE-48841 - The background of the orthographic viewports is bright white

Change 3622730 by Ethan.Geller

	#jira UE-49182 UE-49198 UE-49201 Fix for channel mismatch in procedural sound waves, remove singleton behavior for MMNotificationClient. CL by Aaron.McLeran

Change 3622759 by Ethan.Geller

	#jira 49170 reduce static analysis warnings for audiodevice.cpp

Change 3622901 by Benn.Gallagher

	Bumped PhysX DDC key after change in Orion caused verify failures

Change 3623458 by Aaron.McLeran

	#jira UE-49204 Delores monologue cut short in Odin elevator

Change 3623667 by Aaron.McLeran

	#jira UE-49204 UE-49243 Delores monologue cut short in Odin elevator

Change 3623752 by Aaron.McLeran

	#jira UE-49247 Sound Source Bus Properties Are Inappropriate

	Fixing issues with new source bus uobject so properties show up appropriately.

Change 3624058 by Ben.Marsh

	Fix stale module being enumerated when running UE4Editor-Cmd.exe, causing warning when running incremental automated tests.

	Module and version manifest filenames are derived from the executable filename, so when running the executable compiled for the console subsystem, we need to strip the -Cmd suffix from the executable name to find the correct path.

Change 3624193 by Ethan.Geller

	#jira UE-49170 Static analysis fix, take 2

Change 3354003 by Thomas.Sarkanen

	Back out changelist 3353914

Change 3355932 by Thomas.Sarkanen

	Back out changelist 3354003

	Reinstating merge from Main:

	Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3353839

Change 3477632 by Jurre.deBaare

	Automated test content and ground truths for Actor Merging and Material baking functionality

Change 3491464 by Jurre.deBaare

	Updated automation content for MergeActor behaviour

Change 3587878 by Thomas.Sarkanen

	Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @  CL 3587489

Change 3597452 by Ethan.Geller

	#jira UEAP-304, UEAP-280, UEAP-281: Major structural refactor of Audio Plugin interfaces, Oculus Audio plugin, Steam Audio Plugin. Introduction of Sony Audio3D plugin.

Change 3602935 by Lina.Halper

	Allow curve evaluation to be controlled by users

	#jira: UE-46446

Change 3606120 by Ethan.Geller

	Move Tap Delay Submix to Synthesis library, modify tap delay API

Change 3621830 by Thomas.Sarkanen

	Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3621691

Change 3622807 by Ethan.Geller

	#jira UE-49201 Fixing volume issues

	Issue is that these platforms weren't using the proper public function and an audio mixer refactor changed how volume is calculated to seperate out distance attenuation vs other volume gains.

[CL 3624383 by Thomas Sarkanen in Main branch]
2017-09-04 04:17:46 -04:00
Marcus Wassmer
0341e5d5c1 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden

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

Change 3441680 by Uriel.Doyon

	Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
	New point light actors now configure the intensity in candelas by default.
	Replaced viewport exposure settings by an EV100 slider.
	Hidding the tone mapper in the show flag now still applies the exposure.
	Added a new AutoExposure method called EV100 which allows to specify :
	- MinEV100, MaxEV100
	- Calibration Constnat
	- Exposure Compensation
	#jira UE-42783

Change 3454934 by Chris.Bunner

	Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.

Change 3512118 by Marc.Olano

	Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points

	Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing

Change 3512129 by Benjamin.Hyder

	Fixing up content in TM-SobolNoise

Change 3512151 by Rolando.Caloca

	DR - Fixed some layouts that were general
	- Added some extra dump information

Change 3512160 by Benjamin.Hyder

	Still Fixing TM-Sobol

Change 3512180 by Marc.Olano

	PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.

Change 3512261 by Michael.Lentine

	Move Subsurface to shared properties.

	Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.

	#jira UE-44405

Change 3512288 by Rolando.Caloca

	DR - Fix issue when recycling image handles

Change 3512338 by Michael.Lentine

	Fix precision if user enters a multiple of 90 degree rotation for transforms.

	This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.

	#jira UE-46137

Change 3512424 by Michael.Lentine

	Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.

	#jira UE-44315

Change 3512686 by Brian.Karis

	Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.

Change 3512696 by Brian.Karis

	Unrevert TAA. Fixed DOF NaN artifacts

Change 3512717 by Marcus.Wassmer

	PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)


Change 3513112 by Richard.Wallis

	Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform.  Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.

	Fix includes:
	- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
	- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
	- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.

	#jira UE-45657

Change 3513357 by Richard.Wallis

	Windows compile fix.

Change 3513375 by Guillaume.Abadie

	Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.

Change 3513685 by Richard.Hinckley

	#jira UEDOC-3822
	Fixing a comment that refers to a non-existent function, for documentation purposes.

Change 3513705 by Marc.Olano

	Updates to Sobol test levels in RenderTest project

Change 3513730 by Rolando.Caloca

	DR - Fix mip size copying resolve targets
	- Fix compute fence
	- Fix descriptor set texture layout
	- More dump info

Change 3513742 by Marc.Olano

	Texture-free numeric print for shader debugging

Change 3513777 by Daniel.Wright

	Handled edge case where no furthest samples are found in precomputed visibility

Change 3514852 by Rolando.Caloca

	DR - Fix -directcompile on SCW

Change 3515049 by Rolando.Caloca

	DR - hlslcc dump crash fix

Change 3515167 by Rolando.Caloca

	DR - hlslcc - Fix bogus string pointer
	- Allow reading from non-scalar UAVs

Change 3515745 by Rolando.Caloca

	DR - Linux compile fix

Change 3515862 by Rolando.Caloca

	DR - Remove old reference to CCT
	- Link with hlslcc debug libs on SCW debug config for easier debugging

Change 3516292 by Rolando.Caloca

	DR - glslang exe fixes

Change 3516568 by Rolando.Caloca

	DR - hlslcc - Copy fix for *Buffer as functionparameters

Change 3516659 by Marcus.Wassmer

	Fix some d3derrors with distance fields

Change 3516801 by Daniel.Wright

	Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built.  Any UObject reference that is to an asset can be NULL'ed by the editor.

Change 3516825 by Rolando.Caloca

	DR - Some initial fixes for structured buffers

Change 3516843 by Rolando.Caloca

	DR - Fix for Vulkan dist fields

Change 3516869 by Marcus.Wassmer

	Add format to the createrendertarget blueprint node

Change 3516957 by Daniel.Wright

	Fixed bUsesDistortion being editable

Change 3516965 by Daniel.Wright

	Still mark the distance field task completed, even if the static mesh has been deleted

Change 3517039 by Yujiang.Wang

	GitHub #2655: Optimization for shadow map resolution selection for spot lights

	* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius

	Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly

	#jira UE-33982

Change 3517069 by Yujiang.Wang

	Fix for ScissorRect settings in d3d11 being lost under certain scenarios

	* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
	* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
	* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does

	#jira UE-45465 UE-44760

Change 3517134 by Yujiang.Wang

	CIS fix

Change 3517662 by Rolando.Caloca

	DR - Execute upload Vulkan cmds on the RHI thread
	- Fix crash with structured buffer

Change 3517677 by Rolando.Caloca

	DR - Update/copy textures on RHI thread

Change 3517680 by Rolando.Caloca

	DR - Copy texture bulk data on rhi thread

Change 3517748 by Marcus.Wassmer

	temporary workaround for one class of GPU crashes

Change 3518832 by Rolando.Caloca

	DR - Copy & extend 3518077
	- Fix for movable skylight shader missing on simple forward (low lighting quality mode)

Change 3519973 by Richard.Wallis

	Jittering in Engine Menu Dropdown Options.  Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.

	#jira UE-46505

Change 3520849 by Uriel.Doyon

	Fixed issue with investigate texture command and dynamic component entries.

Change 3521064 by Guillaume.Abadie

	Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.

Change 3521834 by Rolando.Caloca

	DR - Fix decals on Vulkan

Change 3521892 by Rolando.Caloca

	DR - Fix Vulkan texture streaming

Change 3523181 by Rolando.Caloca

	DR - Copy from 3523176
	UE4.17 - Fix Vulkan scissor causing text to not clip

Change 3523534 by Yujiang.Wang

	UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU

	* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
	* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
	* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame

	#jira UE-46631

Change 3524552 by Yujiang.Wang

	Fix iteration number calculation of LongGPUTask

Change 3524975 by Joe.Graf

	Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
	Added SSE versions using _mm_popcnt_u64 for platforms that support it
	Added a SSE check to gracefully exit when missing the instruction and it was expected to be there

	#CodeReview: arciel.rekman, brian.karis

Change 3525306 by Daniel.Wright

	Fixed ensure from LPV

Change 3525346 by Rolando.Caloca

	DR - Fix linking issue

Change 3525459 by Daniel.Wright

	Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
	* Enabled by default on all maps, effective after a lighting build.  This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
	* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
	* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume.  Positions outside the importance volume get lit with the border texels.
	* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
	* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
	* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
	* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
	* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
	* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
	* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
	* New Visualization show flag for Volumetric Lightmap sample points
	* Level streaming of volume light data is not currently supported with this method

Change 3525461 by Daniel.Wright

	Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out.  This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).

Change 3526459 by Rolando.Caloca

	DR - Fix validation error

Change 3526474 by Rolando.Caloca

	DR - Integrate from GV

Change 3526487 by Daniel.Wright

	Disabled Volumetric Lightmap filtering with neighbors due to artifacts
	Fix linux compile errors

Change 3526833 by Rolando.Caloca

	DR - Workaround for hlslcc

Change 3526991 by Uriel.Doyon

	Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.

Change 3527574 by Rolando.Caloca

	DR - Added some missing resource entries for SCW direct mode

Change 3527625 by Rolando.Caloca

	DR - Copy from 3527113
	UE4.17 - Fix Vulkan not calling Present

Change 3528461 by Brian.Karis

	Support larger hash sizes. Added uint list hashing function.

Change 3528780 by Rolando.Caloca

	DR - Default Vulkan resources

Change 3528818 by Rolando.Caloca

	DR - glslang - Added missing accessor

Change 3528839 by Rolando.Caloca

	DR - Fix virtual path issue when using non-engine relative absolute paths

Change 3528900 by Daniel.Wright

	Fixed variable shadowing

Change 3529039 by Rolando.Caloca

	DR - Read Spirv reflection data (not used yet)

Change 3529040 by Joe.Graf

	Fixed the 32bit compile failures for the popcnt optimization

	#CodeReview: arciel.rekman

Change 3529060 by Rolando.Caloca

	DR - hlslcc - New flag for keeping resource names

Change 3529344 by Rolando.Caloca

	DR - Delete unused file

Change 3529723 by Brian.Karis

	Fixed static analysis cleaner.

Change 3531357 by Michael.Trepka

	Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.

Change 3531517 by Joe.Graf

	Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc

	#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca

Change 3531626 by Joe.Graf

	Mac version of the popcount optimization
	Changed Linux version to use the same builtin

	#CodeReview: mark.satterthwaite, arciel.rekman

Change 3531837 by Chris.Bunner

	SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.

	#jra UE-46753

Change 3533415 by Joe.Graf

	Renamed the SSSE3 checks per feedback

	#CodeReview: arciel.rekman

Change 3533480 by Michael.Lentine

	Use more accurate descriptions for shader recompile options

Change 3533511 by Joe.Graf

	Updated the GenericPlatformMisc to match the SSSE3 name change

	#CodeReview: arciel.rekman

Change 3533521 by Marcus.Wassmer

	Fix scenerenderer leak when updating out of view planar reflections

Change 3533528 by Joe.Graf

	Updated comments

	#CodeReview: n/a

Change 3533608 by Mark.Satterthwaite

	New manual Xcode project for glslang so that we include all the necessary code and can link again.

Change 3534260 by Mark.Satterthwaite

	Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.

Change 3535789 by Yujiang.Wang

	Fix for wrong hair shading in forward shading

	* IBL reflections should be turned off for hairs

Change 3537059 by Ben.Marsh

	Fixing case of iOS directories, pt1

Change 3537060 by Ben.Marsh

	Fixing case of iOS directories, pt2

Change 3538297 by Michael.Lentine

	Add shader comparison test.

	Adding the basic test case.
	Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
	Adding more exported functionality to automation for use in the shader test.

Change 3538309 by Michael.Lentine

	Add missing file from Shader Test CL.

Change 3538751 by Michael.Lentine

	Add missing pragma once.

Change 3539236 by Michael.Lentine

	Do not ignore return values.

Change 3539237 by Michael.Lentine

	Check in the correct file

Change 3540343 by Rolando.Caloca

	DR - Added t.DumpHitches.AllThreads

Change 3540661 by Yujiang.Wang

	Fix spot tube light direction

	* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
	* A new LightTangent is added to FDeferredLightData
	* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere

Change 3541129 by Rolando.Caloca

	DR - vk - Copy all Vulkan fixes from 4.17

Change 3541347 by Yujiang.Wang

	Fix wrong ViewFlags being set between objects when rendering shadow depth maps

	* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
	* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call

Change 3542603 by Rolando.Caloca

	DR - vk - Allow sharing samplers on Vulkan

Change 3542639 by Jian.Ru

	Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
	#RB Marcus.Wassmer

Change 3543167 by Michael.Lentine

	Fix naming for the shader comparison tests.

Change 3543210 by Uriel.Doyon

	Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
	In that case, we used the default settings for texture streaming (assuming a scale of 1).

Change 3543221 by Brian.Karis

	Simplifier optimizations

Change 3543239 by Arciel.Rekman

	hlslcc: remove FCustomStd* workarounds.

	- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
	- The same problem has been resolved by bundling libc++.

Change 3543946 by Michael.Lentine

	Add comparison output.

Change 3544277 by Brian.Karis

	Fixed uninitialized var error

Change 3544404 by Rolando.Caloca

	DR - Fix broken textures

Change 3544503 by Jian.Ru

	Ensure lighting failure delegates are always called
	#RB Marcus.Wassmer,Daniel.Wright
	#3689

Change 3545241 by Daniel.Wright

	Fixed spotlight whole scene shadows using a radius 2x too long

Change 3545347 by Daniel.Wright

	Fixed shadow occlusion culling broken by shadowmap caching change.  FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.

Change 3546196 by Marcus.Wassmer

	Fix minor typo

Change 3546459 by Daniel.Wright

	ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.

Change 3546469 by Jian.Ru

	Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation

Change 3546804 by Daniel.Wright

	[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events

Change 3546814 by Daniel.Wright

	[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows

Change 3546815 by Daniel.Wright

	[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation

Change 3546817 by Daniel.Wright

	[Copy] Warmup time warning

Change 3546828 by Daniel.Wright

	[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch

Change 3546836 by Daniel.Wright

	[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data

Change 3546849 by Rolando.Caloca

	DR - vk - Fix missing samplerstates
	- Fixes for structured buffers
	- Add missing Draw and Dispatch Indirect

Change 3547516 by Brian.Karis

	Linear time 5-coloring for planar graphs.

	Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.

Change 3547542 by Brian.Karis

	Linear time 5-coloring for planar graphs.

	Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.

Change 3547563 by Brian.Karis

	Fixed some compiler warnings and hopefully some errors.

Change 3547610 by Brian.Karis

	Replaced macros with inlined functions

Change 3547620 by Brian.Karis

	Clean up includes

Change 3547770 by Marcus.Wassmer

	GPU Crash for MTBF analytics

Change 3547773 by Marcus.Wassmer

	Updated doxygen comment for new analytic

Change 3548244 by Rolando.Caloca

	DR - Fix for translucency

Change 3548352 by Yujiang.Wang

	Added soft source radius for point and spot lights

	* Soft source radius controls how 'blurry' the shape of specular lighting looks
	* Implemented by LobeRoughness modification
	* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
	* Suppoted LightTangent in forward shading

Change 3548530 by Brian.Karis

	Fix for mac build

Change 3548770 by Rolando.Caloca

	DR - vk - Prereq work for Vulkan parallel RHI contexts

Change 3548772 by Jian.Ru

	Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer

Change 3548865 by Daniel.Wright

	With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query.  Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.

Change 3548952 by Rolando.Caloca

	DR - Allow separate samplers in the shaders on Vulkan

Change 3549197 by Marcus.Wassmer

	Fix DX12 PIx not working in cooked builds

Change 3549209 by Daniel.Wright

	Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'.  Disabled by default as rapid view changes don't work well with latent occlusion queries.

Change 3549943 by Ben.Marsh

	Include better diagnostic information when a modified build product is detected after running a build step.

Change 3550546 by Rolando.Caloca

	DR - Fix merge issue

Change 3550962 by Marcus.Wassmer

	EarlyZ Masking requires full depth prepass, so just force it to.

Change 3551062 by Daniel.Wright

	Handle NULL skylight

Change 3551104 by Rolando.Caloca

	DR - vk - Remove assert to match other platforms

Change 3551221 by Rolando.Caloca

	DR - vk - Add mirror clamp to edge extension
	- Fix framebuffer deletion

Change 3551224 by Daniel.Wright

	Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.

Change 3551495 by Rolando.Caloca

	DR - vk - Intiial support for async queue

Change 3552101 by Rolando.Caloca

	DR - vk - Fix for async

Change 3552102 by Rolando.Caloca

	DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
	- Integrate changes from 4.17 for memory optimizations

Change 3552104 by Rolando.Caloca

	DR - vk - Support for SRVs for index buffers

Change 3552838 by Rolando.Caloca

	DR - vk - Enable debug markers if found

Change 3553106 by Rolando.Caloca

	DR - vk - Fixes for index buffer SRVs

Change 3553107 by Rolando.Caloca

	DR - vk - Enable recompute tangents on Vulkan

Change 3553154 by Rolando.Caloca

	DR - vk - Fix crash with null uav

Change 3553342 by Yujiang.Wang

	Fix redundant skylights in AdvancedPreviewScene

	* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
	* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene

Change 3553481 by Rolando.Caloca

	DR - Integrate fix for D3D12 support of index buffers SRVs

	#jira UE-47674

Change 3553715 by Rolando.Caloca

	DR - Fix crash when launching PC with -featureleveles31

Change 3553725 by Rolando.Caloca

	DR - Redo fix

Change 3553803 by Rolando.Caloca

	DR - Shader compile fixes for ES3.1

Change 3553963 by Rolando.Caloca

	DR - vk - Remove extra IRDump

Change 3554741 by Ben.Marsh

	CIS fix.

Change 3555222 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3555362 by Rolando.Caloca

	DR - vk - Prep work for separate present queue

Change 3556800 by Daniel.Wright

	Fixed screenshot for simple volume material doc

Change 3556942 by Brian.Karis

	Fixed Bokeh DOF regression.

Change 3556959 by Rolando.Caloca

	DR - vk - Rework staging buffer peak usage

Change 3557497 by Daniel.Wright

	Better display name for Unbound property on post process volume

Change 3557499 by Daniel.Wright

	Disable r.GenerateLandscapeGIData by default, opt-in for kite demo.  Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.

Change 3557068 by Olaf.Piesche

	Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2),  so additional quality levels can be added and scaling customized further.
	IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.

	#tests QAGame test maps

Change 3558123 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3558685 by Yujiang.Wang

	Github #3323: Two sided foliage lightmap directionality fix

	* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
	* Now it uses a constant directionality value

	#jira UE-42523

Change 3559052 by Brian.Karis

	Hopefully fix static analysis

Change 3559113 by Rolando.Caloca

	DR - Fix crash witrh planar reflections

Change 3559275 by Yujiang.Wang

	Fix race condition on several scalability CVars between rendering thread and game thread

Change 3559612 by Rolando.Caloca

	DR - vk - SM5 with uniform buffers backend support

Change 3559716 by Rolando.Caloca

	DR - hlslcc - Fix linker warning on SCW debug

Change 3559768 by Rolando.Caloca

	DR - vk - Keep ub names for bindings

Change 3560195 by Rolando.Caloca

	DR - accessor

Change 3560275 by Rolando.Caloca

	DR - vk - Support for uniform buffers

Change 3560913 by Rolando.Caloca

	DR - vk - Fix static analysis

Change 3561145 by Rolando.Caloca

	DR - Don't crash if out of resource table bits

Change 3561194 by Rolando.Caloca

	DR - vk - Integrate timestamp fixes

Change 3562009 by Rolando.Caloca

	DR - vk - Workaround for bad UTexture data

Change 3563884 by Chris.Bunner

	VK_NULL_HANDLE fix.

Change 3563885 by Jian.Ru

	Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner

Change 3565943 by Jian.Ru

	Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner

Change 3569479 by Michael.Lentine

	Integrate rhino shader changes to dev-rendering

Change 3569511 by Michael.Lentine

	Fix formating and string out on windows.

Change 3569572 by Yujiang.Wang

	Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs

Change 3569614 by Yujiang.Wang

	Flush rendering commands before measuring the long GPU task's excution time to get accurate results

Change 3570524 by Jian.Ru

	Add extra parentheses to avoid compilation warning #rb Chris.Bunner

Change 3570722 by Chris.Bunner

	Static analysis workaround - same code, just validating compile-time assumptions a little further.

Change 3570880 by Jian.Ru

	Add small depth offset to avoid depth test failing during velocity pass

	#jira UE-37556

Change 3572532 by Jian.Ru

	Disable a warning to let tests pass

	#jira UE-48021

Change 3573109 by Michael.Lentine

	Checkin Michael.Trepka's fix for external dynamic libraries on mac.
	This is needed to make the build go green on mac.

Change 3573995 by Jian.Ru

	Move an include out of define to let nightly build pass

Change 3574777 by Chris.Bunner

	Continued merge fixes.

Change 3574792 by Rolando.Caloca

	DR - Rename todo

Change 3574794 by Chris.Bunner

	Re-adding includes lost in a pre-merge merge.

Change 3574879 by Michael.Trepka

	Disabled a couple of Mac deprecation warnings

Change 3574932 by Chris.Bunner

	Merge fix.

Change 3575048 by Michael.Trepka

	Fixed iOS compile warnings

Change 3575530 by Chris.Bunner

	Duplicating static analysis fix CL 3539836.

Change 3575582 by Chris.Bunner

	Fixed GetDimensions return type in depth resolve shaders.
	Compile error fix.

Change 3576326 by Chris.Bunner

	Static analysis fixes.

Change 3576513 by Michael.Trepka

	Updated Mac MCPP lib to be compatible with OS X 10.9

Change 3576555 by Richard.Wallis

	Metal Validation Errors.  Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture.  Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.

	#jira UE-47549

Change 3576562 by Chris.Bunner

	OpenGL SetStreamSource stride updates.

Change 3576589 by Michael.Trepka

	Fixed Mac CIS warnings and errors in Dev-Rendering

Change 3576708 by Jian.Ru

	Fix cascade preview viewport background color not changing
	#jira UE-39687

Change 3576827 by Rolando.Caloca

	DR - Minor fix for licensee

Change 3576973 by Chris.Bunner

	Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).

Change 3577729 by Rolando.Caloca

	DR - Fix for info on SCW crashes

Change 3578723 by Chris.Bunner

	Fixed issue where custom material attribute was using display name as hlsl function name.

Change 3578797 by Chris.Bunner

	Fixed pixel inspector crashing on high-precision normals gbuffer format.

	#jira UE-48094

Change 3578815 by Yujiang.Wang

	Fix for UE-48207 Orion cooked windows server crash on startup

	* Crash caused by rendering features not available in a dedicated server build
	* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()

	#jira UE-48207

Change 3578828 by Daniel.Wright

	Disable volumetric lightmap 3d texture creation on mobile

Change 3579473 by Daniel.Wright

	Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler.  Used these to reduce base pass sampler counts with volumetric lightmaps.

Change 3580088 by Jian.Ru

	Fix QAGame TM-CharacterMovement crashing on PIE
	#jira UE-48031

Change 3580388 by Daniel.Wright

	Fixed shadowed light injection into volumetric fog fallout from Rhino merge

Change 3580407 by Michael.Trepka

	Updated Mac UnrealPak binaries

Change 3581094 by Michael.Trepka

	Fix for ScreenSpaceReflections not working properly on iOS 11

Change 3581242 by Michael.Trepka

	Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame

	#jira UE-48255

Change 3581489 by Olaf.Piesche

	Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475

	#jira FORT-47068, FORT-49705
	Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.

	#tests FN LastPerfTest

Change 3581544 by Simon.Tovey

	Fix for ensure accessing cvar from task thread.

	#tests no more ensure

Change 3581934 by Chris.Bunner

	Fixed ConsoleVariables.ini break from merge.

Change 3581968 by Jian.Ru

	Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
	#jira UE-48251

Change 3581989 by Richard.Wallis

	Fix for NULL PrecomputedLightingBuffer.  It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.

	#jira UE-46955

Change 3582632 by Chris.Bunner

	Resolved merge error.

Change 3582722 by Rolando.Caloca

	DR - Workaround for PF_R8G8B8A8_UINT on GL

	#jira UE-48208

Change 3584096 by Rolando.Caloca

	DR - Fix for renderdoc crashing in shipping

	#jira UE-46867

Change 3584245 by Jian.Ru

	Fix System.Promotion.Editor.Particle Editor test crash
	#jira UE-48235

Change 3584359 by Yujiang.Wang

	Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion

	* Caused by dot(N, V) being negative
	* Clamp to (0, 1)

	#jira UE-48315

Change 3587864 by Mark.Satterthwaite

	Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
	#jira UE-48342

Change 3587866 by Mark.Satterthwaite

	Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.

Change 3588168 by Mark.Satterthwaite

	Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.

Change 3588192 by Rolando.Caloca

	DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled

Change 3588291 by Rolando.Caloca

	DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers

	#jira UE-48299

Change 3590134 by Michael.Trepka

	Copy of CL 3578963

	Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.

Change 3590405 by Rolando.Caloca

	DR - hlslcc - support for sqrt(uint)

Change 3590436 by Mark.Satterthwaite

	Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.

Change 3590674 by Rolando.Caloca

	DR - vk - Integration from working branch
	- Fixes distance field maps
	- Compute pipelines stored in saved file
	- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets

Change 3590699 by Rolando.Caloca

	DR - Fix distance fields mem leak

Change 3590815 by Rolando.Caloca

	DR - vk - Fixes for uniform buffers and empty resource tables

Change 3590818 by Mark.Satterthwaite

	Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.

Change 3590905 by Mark.Satterthwaite

	For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.

	#jira UE-48163

Change 3590961 by Mark.Satterthwaite

	Submitted on Richard Wallis's behalf as he's on holiday:

	Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents.  Problem sampling from buffers/textures as floats with packed data.  Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>().  Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.

	There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.

	#jira UE-46688, UE-39256, UE-47215

Change 3590965 by Mark.Satterthwaite

	Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.

Change 3590969 by Mark.Satterthwaite

	Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.

Change 3591871 by Rolando.Caloca

	DR - Enable PCSS on Vulkan & Metal
	- Enable capsule shadows on Vulkan

Change 3592014 by Mark.Satterthwaite

	Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
	Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
	Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
	Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.

Change 3592171 by Rolando.Caloca

	DR - CIS fix

Change 3592753 by Jian.Ru

	repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)

Change 3594595 by Rolando.Caloca

	DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely

Change 3594794 by Michael.Trepka

	Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app

Change 3594999 by Mark.Satterthwaite

	Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
	While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.

	#jira UE-48342

Change 3595004 by Mark.Satterthwaite

	Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.

	#jira UE-48342

Change 3595386 by Mark.Satterthwaite

	Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.

Change 3595394 by Rolando.Caloca

	DR - Added function for tracking down errors in the hlsl parser
	- Added support for simple #if 0...#endif

Change 3599352 by Rolando.Caloca

	DR - Fixes for HlslParser
	- Added missing attributes for functions
	- Fixed nested assignment

Change 3602440 by Michael.Trepka

	Fixed Metal shader compilation from Windows with remote compilation disabled

	#jira UE-48163

Change 3602898 by Chris.Bunner

	Resaving assets.

Change 3603731 by Jian.Ru

	fix a crash caused by a material destroyed before the decal component
	#jira UE-48587

Change 3604629 by Rolando.Caloca

	DR - Workaround for PF_R8G8B8A8_UINT on Android

	#jira UE-48208

Change 3604984 by Peter.Sauerbrei

	fix for orientation not being limited to that specified in the plist

	#jira UE-48360

Change 3605738 by Chris.Bunner

	Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).

	#jira UE-48748

Change 3606009 by Mark.Satterthwaite

	Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
	- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
	- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
	- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
	- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....

	#jira UE-47663

Change 3606108 by Mark.Satterthwaite

	Temporary hack to avoid a crash in AVPlayer.

	#jira UE-48758

Change 3606121 by Mark.Satterthwaite

	Fix Windows compilation.

Change 3606992 by Chris.Bunner

	Static analysis fix.

[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
Ori Cohen
ad357b41a9 Copying //UE4/Dev-AnimPhys to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 3457157 by Ori Cohen in Main branch]
2017-05-24 14:14:53 -04:00
Chris Bunner
ab9d8e35b1 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3388261)
#lockdown Nick.Penwarden
#rb None

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

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

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

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

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

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

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

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

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

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

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

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

	Merge of pull request #3214 for the RenderDocPlugin

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

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

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

	#tests Ran several Showdown test runs with plugin!

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

	First pass at non-unity & no pch compilation

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

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

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

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

	Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.

	#jira UE-42920

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

	Better method for detecting Kepler

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

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

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

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

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

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

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

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

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

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

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

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

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

	[Copy] Distance field cvar comments

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

	[Copy] Disabled selection color on Volume materials

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

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

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

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

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

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

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

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

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

	Higher quality sharp SSR at quality 4

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

	Fresnel darkens diffuse for clearcoat.

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

	Fixed SSR artifact

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

	Chagned min roughness limit

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

	Added inverse film tone map

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

	Better precision inverse

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

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

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

	Update ACES

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

	Cleaned up alpha support and disabled screen edge clipping.

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

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

	#author Brian.Karis

	#jira UE-42920

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

	DR - Hide scene capture on IF

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

	Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha

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

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

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

	DR - Updated NVAPI
	#RB Marcus.Wassmer

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

	SSR use dynamic velocity

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

	Fix changing off axis projection velocities.

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

	Enabled velocity drawing in scene captures

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

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

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

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

	#jira UE-41331

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

	Exposes the viewport offset within the view property material expression

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

	Fixed skylight intensity from double applying

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

	Stopped post process indirect lighting intensity from scaling skylight reflections

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

	Fix for static analysis

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

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

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

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

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

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

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

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

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

	ClearUAV now supports int types

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

	Submitting Decal Automation map for initial approval

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

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

	#jira UE-42989

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

	Niagara material usage flags

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

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

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

	Missed a file.

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

	Updated items from original shelved version by Mark Satt:

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

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

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

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

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

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

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

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

	Fixed linux build hopefully

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

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

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

	And another fix for Windows compilation of MetalShaderFormat.

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

	And a couple of simpler MSVC errors.

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

	Make SceneRenderTargets compile again.

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

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

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

	Fix non editor compile for now

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

	Get the rest of the things compiling again.

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

	Enabling AMD HDR support by default.

	#jira UE-42113

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

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

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

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

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

	Remove temp working directories after archive packages built.

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

	DR - Copy 3371640 (fix mem leak)

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

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

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

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

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

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

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

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

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

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

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

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

	LPV Fade support
	- mostly integrated from CL 2959511

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

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

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

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

	#jira UE-43492

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

	Nvidia Aftermath support

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

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

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

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

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

	DR - Fix static analysis

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

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

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

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

	Windows Compile Fixes

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

	updating recommended GPU drivers

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

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

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

	DR - vk - Prefer D32S8

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

	DR - vk - Update to sdk 1.0.42.2

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

	DR - Force compiling with updated Vulkan SDK

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

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

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

	Incremental Windows build fix.

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

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

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

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

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

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

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

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

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

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

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

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

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

	Submitting initial HDR test map (WIP)

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

	Fixes scene captures ordering's backward compatibility.

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

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

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

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

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

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

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

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

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

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

	[Copy] Fixed unreferenced local variable

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

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

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

	[Copy] Added r.LightMaxDrawDistanceScale for local light scalability

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

	[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path

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

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

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

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

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

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

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

	Fixed compile error

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

	FFT Code.  Moved over from raven and refactored

	#review-3374589 @guillaume.abadie

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

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

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

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

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

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

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

	FRHIShaderLibrary Opaque Type

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

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

	DR - Fix DCC build

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

	Metal resource cast compile fix post merge.

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

	SM4 assert fix.

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

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

	#jira UE-39885

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

	DR - Fix aftermath staging

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

	DR - Fix missing include

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

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

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

	DR - Fix mismatched interpolators

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

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

	#jira UE-43626

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

	DR - Fix root signature issues on D3D12 PC

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

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

	#jira UE-43626

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

	Fix to input mismatch

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

	Shader type fixes.

	#jira UE-43652

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

	DR - Expose GetOrCreate PSO and document

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

	Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()

	#jira UE-43642

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

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

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

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

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

	#jira UE-43597

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

	Back out changelist 3381092

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

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

	#jira UE-43689

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

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

	#jira UE-43691

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

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

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

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

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

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

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

	DR - Added lock texture array 2d on Vulkan

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

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

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

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

	#jira UE-43652

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

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

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

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

	#jira UE-43739

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

	Move ShaderResource version bump to RenderingObjectVersion

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

	Compile fix for merge.

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

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

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

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

	#jira UE-43783

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

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

	#jira UE-43783

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

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

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

	Fix skincache motion blur

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

	DR - Fix swapchain format for editor on Vulkan

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

	Enable SM5 on Intel as of 10.12.4 and later.

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

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

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

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

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

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

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

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

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

	DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture

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

	DR - Fix metal merge issue

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

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

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

	Resolving merge errors.

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

	Resolved merge issue in RendererScene.cpp.

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

	Silence documentation warnings.

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

	Removed invalid mask correction on MakeMA material nodes.

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

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

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

	Static analysis fix.

[CL 3388266 by Chris Bunner in Main branch]
2017-04-11 10:32:07 -04:00
Marcus Wassmer
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