Commit Graph

114 Commits

Author SHA1 Message Date
Marc Audy 7a0f229e8d Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main/Engine @ 3876564)
#lockdown Nick.Penwarden
#rnx
#rb none

[CL 3903710 by Marc Audy in Main branch]
2018-02-22 11:25:06 -05:00
Ben Marsh 30f891786a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none

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

Change 3805828 by Gil.Gribb

	UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.

Change 3806784 by Ben.Marsh

	UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.

Change 3807549 by Graeme.Thornton

	Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.

Change 3807727 by Graeme.Thornton

	Unhide the text asset format experimental editor option

Change 3807746 by Josh.Engebretson

	Remove WER from iOS platform

Change 3807928 by Robert.Manuszewski

	When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet

Change 3808221 by Steve.Robb

	GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()

	^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.

Change 3809233 by Graeme.Thornton

	TBA: Misc changes to text asset commandlet
	 - Rename mode to "loadsave"
	 - Add -outputFormat option which can be assigned "text" or "binary"
	 - When saving binary, use a differentiated filename so that source assets aren't overwritten

Change 3809518 by Ben.Marsh

	Remove the outdated UnrealSync automation script.

Change 3809643 by Steve.Robb

	GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value

	#jira UE-53037

Change 3809862 by Steve.Robb

	GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately

	#jira UE-42593

Change 3811190 by Graeme.Thornton

	Add support for writing specific log channels to their own files

Change 3811197 by Graeme.Thornton

	Minor updates to output formatting and timing for the text asset commandlet

Change 3811257 by Robert.Manuszewski

	Cluster creation will now be time-sliced

Change 3811565 by Steve.Robb

	Define out non-monolithic module functions.

Change 3812561 by Steve.Robb

	GitHub #3886 : Enable Brace-Initialization for Declaring Variables

	Incorrect semi-colon search removed after discussion with author.
	Test added.

	#jira UE-48242

Change 3812864 by Steve.Robb

	Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.

	See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html

	#jira UE-53089

Change 3820358 by Ben.Marsh

	PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)


Change 3822594 by Ben.Marsh

	UAT: Improvements to log file handling.

	- Always create log files in the final location, rather than writing to a temp directory and copying in later.
	- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
	- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
	- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.

Change 3823695 by Ben.Marsh

	UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).

	Now always queries changes up to the last change for which zipped binaries are available.

Change 3823845 by Ben.Marsh

	UBT: Exclude C# projects for unsupported platforms when generating project files.

Change 3824180 by Ben.Marsh

	UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).

	#jira

Change 3825777 by Steve.Robb

	Fix to return value of StringToBytes.

Change 3825810 by Ben.Marsh

	UBT: Reduce length of include paths for MSVC toolchain.

Change 3825822 by Robert.Manuszewski

	Optimized PIE lazy pointer fixup. Should be up to 8x faster now.

Change 3826734 by Ben.Marsh

	Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.

Change 3827730 by Steve.Robb

	Try to avoid decltype(auto) if it's not supported.

	See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html

Change 3827745 by Steve.Robb

	Initializer list support for TMap.

Change 3827770 by Steve.Robb

	GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()

	#jira UE-53813

Change 3829189 by Ben.Marsh

	UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.

Change 3830444 by Steve.Robb

	BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
	This should be revisited when Core has its own JSON library.

Change 3830718 by Ben.Marsh

	Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.

	The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.

	For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.

	When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.

	#jira UE-53845

Change 3831064 by Ben.Marsh

	Fix log file contention when spawning UBT recursively.

Change 3832654 by Ben.Marsh

	UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.

Change 3832680 by Ben.Marsh

	UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.

Change 3832695 by Ben.Marsh

	UGS: Invert the options in the 'Show Changes' submenu for simplicity.

Change 3833528 by Ben.Marsh

	UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].

Change 3833543 by Ben.Marsh

	UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.

Change 3834354 by Robert.Manuszewski

	Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.

	#jira UE-52035

Change 3834400 by Robert.Manuszewski

	Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.

	#jira UE-52035

Change 3834947 by Steve.Robb

	USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.

Change 3835004 by Ben.Marsh

	Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.

Change 3835340 by Ben.Marsh

	Fix errors making installed build from directories with spaces in the name.

Change 3835972 by Ben.Marsh

	UBT: Improved diagnostic message for targets which don't need a version file.

Change 3836019 by Ben.Marsh

	UBT: Fix warnings caused by defining linkage macros for third party libraries.

Change 3836269 by Ben.Marsh

	Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.

Change 3836543 by Ben.Marsh

	Enable SoundMod plugin on Linux, since it's already supported through the editor.

Change 3836546 by Ben.Marsh

	PR #4412: fix type mismatch (Contributed by nakapon)


Change 3836805 by Ben.Marsh

	Fix commandlet to compile marketplace plugins.

Change 3836829 by Ben.Marsh

	UBT: Fix ability to precompile plugins from installed engine builds.

Change 3837036 by Ben.Marsh

	UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.

Change 3837037 by Ben.Marsh

	UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).

Change 3837040 by Ben.Marsh

	UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.

Change 3837247 by Ben.Marsh

	UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).

	Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.

Change 3837262 by Ben.Marsh

	UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.

	Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.

Change 3837343 by Ben.Marsh

	UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.

Change 3837356 by Ben.Marsh

	Fix invalid character encodings.

Change 3837727 by Graeme.Thornton

	UnrealPak: KeyGenerator: Only generate prime table when required, not all the time

Change 3837823 by Ben.Marsh

	UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.

Change 3837831 by Graeme.Thornton

	UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives

Change 3837857 by Robert.Manuszewski

	PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)


Change 3837943 by Robert.Manuszewski

	PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)


Change 3838451 by Ben.Marsh

	UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.

	#jira UE-53996

Change 3839519 by Ben.Marsh

	UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.

Change 3843790 by Graeme.Thornton

	UnrealPak: Log the size of all encrypted data

Change 3844258 by Ben.Marsh

	Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.

	Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.

	#jira UE-54157

Change 3845796 by Ben.Marsh

	Workaround for slow performance of String.EndsWith() on Mono.

Change 3845823 by Ben.Marsh

	Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.

	#jira UE-54123

Change 3845901 by Arciel.Rekman

	Linux: fix crash due to lambda lifetime issues (UE-54040).

	- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).

	(Edigrating 3819174 to Dev-Core)

Change 3846439 by Ben.Marsh

	Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.

	Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.

Change 3816608 by Ben.Marsh

	UBT: Use DirectoryReference objects for all include paths.

Change 3816954 by Ben.Marsh

	UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.

Change 3816986 by Ben.Marsh

	UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.

Change 3816991 by Ben.Marsh

	UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.

Change 3823090 by Ben.Marsh

	UAT: Improve logging for child UAT instances.

	- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
	- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
	- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
	- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.

Change 3826082 by Ben.Marsh

	UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.

Change 3827025 by Ben.Marsh

	UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.

Change 3829927 by James.Hopkin

	Made HTTP interface const correct

Change 3833533 by Ben.Marsh

	Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.

Change 3835826 by Ben.Marsh

	UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.

Change 3835969 by Ben.Marsh

	UBT: Fix cases where text is being written directly to the console rather than via logging functions.

Change 3837777 by Steve.Robb

	Format string type checking added to FOutputDevice::Logf.
	Fixes for those.

Change 3838569 by Steve.Robb

	Algo moved up a folder.

[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05: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
Marc Audy 9d110f953e Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3806524) (Part2)
#lockdown Nick.Penwarden
#rb none
#rnx

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

Change 3783110 by Thomas.Sarkanen

	Added support for logical negation when copying to array properties in the fast path

	#jira UE-52043 - Anim fast path correctly doesn't handle copying to arrays of bools with logical negation

Change 3783112 by Thomas.Sarkanen

	Fixed not being able to assign/unassign constraint and physical animation profiles from the context menu

	#jira UE-50205 - Constraint cannot be assigned or unassigned from current profile when using "Unassign" from the context menu in the Skeleton Tree and Graph

Change 3783114 by Thomas.Sarkanen

	Asset picker now only reports 'picks' on user interactions

	In Ocean and other projects with lots of animation assets, the asset picker amortizes its filter queries over a number of frames. This causes the list to temporarily not include the currently selected item, which then gets reported to client code as a 'deselection'. To address this (and to maintain backwards compatibility) I've added a new delegate that gives more context for selections to the SAssetPicker, allowing us to not report selections that are 'Direct'.

	#jira UE-46802 - Searching for an animation from the dropdown in persona causes it to instantly close

Change 3783118 by Thomas.Sarkanen

	Added inline time/frame settings to notify context menu

	#jira UE-45410 - Inline MontageSection/Notify Time Entry

Change 3783122 by Thomas.Sarkanen

	Collision Response dropdown is now a checkbox

	Added details customization to allow the enum to masquerate as a bool property

	#jira UE-47916 - Drop down used for Collision Response enable/disable in Physics Asset Editor

Change 3783183 by Jurre.deBaare

	Follow up fix for toggling post processing in the preview scene

Change 3783186 by Jurre.deBaare

	Material Baking Options has two Mesh Settings sections
	#fix Changed category names for to allow for two distinct categories (would have preferred to merge them, but am limited by the way detailsview handles multiple objects with containing same category)
	#jira UE-52645

Change 3783188 by Jurre.deBaare

	Duplicating:
	"Simplygon Skelmesh "Regenerate" button remains for content that had Lods created in simplygon, even when it's not installed. On regenerating editor crashes - FPersonaMeshDetails::ApplyChanges()
	#fix Ensure the regenerate button is disabled when there is no MeshReduction interface available
	#jira UE-52641

Change 3783205 by Jurre.deBaare

	Bounds are not shown correctly in Persona for imported alembic skeletal mesh
	#fix Ensured that we do not add invalid of (0,0,0) bounds to outgoing mesh bounds
	#jira UE-49338

Change 3783248 by Jurre.deBaare

	Preview Scene Settings window is missing Search bar
	#fix changed search bar flag on Details View
	#jira UE-50063

Change 3783267 by Jurre.deBaare

	Animation Modifiers: GetBonePosesForTime does not create valid data for GetBonePose
	#fix changed the way we retrieve bone transforms, now take it directly from the raw data rather than from a pose
	#jira UE-52057

Change 3783281 by Jurre.deBaare

	Tool Tip issues in Animation Editor Preferences
	#fix corrected typos in comments
	#jira UE-51338

Change 3783373 by Thomas.Sarkanen

	Added error-reporting to the profile name widgets

	This means that the effect of renaming profiles the same as an existing one is clear (i.e. we deny it now).

	#jira UE-48120 - Renaming Physics profiles the same as existing Physics profiles switches profiles and is confusing

Change 3783438 by Jurre.deBaare

	Vertex paint fill tool fills all channels
	#fix Ensure that the current channel fill selection in the Mesh Painter is also used for the fill tool, to allow the user masking out certain channels when using fill
	#jira UE-49256

Change 3783583 by Thomas.Sarkanen

	Correctly return whether a mesh section is shown or not when it has not been edited

	This fixes skeletal->static mesh conversion

Change 3783598 by Thomas.Sarkanen

	Fix multi-convex generastion for skeletal meshes

	Some triangle indices were being missed out of the index buffer, so the mesh that the convex hull was generated from was corrupt. Removing an early-out fixes this.

	#jira UE-52529 - Inaccurate Collision is Generated When Using Multi Convex Hull (PhysicsAsset Editor)

Change 3783615 by Jurre.deBaare

	OpacityMask/Opacity bug in MeshUtilities
	#fix ensured that material baking uses correct texture samples for Opacity Mask property
	#misc deprecated all of this functionality as users should be using the MaterialBaking module
	#jira UE-52382

Change 3783620 by Martin.Wilson

	Fix crash due to oversampling animation during compression

	#Jira UE-52713

Change 3783633 by Jurre.deBaare

	Fix deprecation warnings on CIS

Change 3783636 by Benn.Gallagher

	Fixed non-working tethers in clothing
	Fixed clothing config not applying to active simulation after editing
	Fixed and re-enabled accurate wind mode

	#jira UE-50797, UE-43611

Change 3783637 by Benn.Gallagher

	Github PR: Fix world to actor transform bug in anim dynamics

	Fixed incorrect Actor-space calculations for simulation transforms and world vector transformations inside AnimDynamics highlighted when testing the above PR

	#jira UE-48681
	#3929

Change 3783638 by Benn.Gallagher

	Fixed UBlendProfile properties not being correctly customized on anim nodes - and animation sequence references not being correctly filtered on anim nodes.

Change 3783660 by Danny.Bouimad

	Fixing #UE-40686 Mass TranslatedMass Automated test, instead of decreasing tolrence I changed the content to preserve granularity.

Change 3783974 by Ori.Cohen

	Refactor when sync components is called and how we pass the data into plugins. Simplifies how we handle physx data getting invalidated by UE4 during updates.

	Also fixed crash when scene query returns a destructible component that's been destroyed, but final apex delete flush hasn't happened yet.

	#jira UE-50215

Change 3784112 by Benn.Gallagher

	Fixed subinstance nodes inside states failing to correctly create bridge variables on their skeleton class due to not correctly processing subgraphs in the anim blueprint compiler.

	#jira UE-51000

Change 3784277 by Martin.Wilson

	Fix socket name getting an appended _0

	#jira UE-46625

Change 3785589 by Ori.Cohen

	Fix cis

Change 3786336 by Martin.Wilson

	Pushing skeleton to live link can now take source guid
	-Message bus source pushes guid when sending skeleton

Change 3786778 by Martin.Wilson

	Added ability for worker thread animation blueprint code to report to Message Log + added additive warning when playing an animation on an additive pose

	#jira UE-49780

Change 3786847 by Martin.Wilson

	Initialization and delta time for live link retargeter

	#Jira UE-52112

Change 3786852 by Lina.Halper

	Sequencer blending support

	#jira: UE-52183

Change 3786924 by Lina.Halper

	PR #4210: FIX: Incorrectly passing an unrelated bool rather than the expected pose ind. (Contributed by ruffenman)


Change 3787114 by Jurre.deBaare

	Discrepancy in description of Preview Scene setting and keyboard shortcut
	#fix Changed naming of the settings to match the Advanced Preview Scene panel
	#jira UE-50060

Change 3787115 by Jurre.deBaare

	Animation Editor Preferences do not update the preview scene
	#fix Removed unused preference from PersonaOptions
	#jira UE-51318

Change 3787117 by Jurre.deBaare

	Off-by one error in frame time calculations
	#fix Fixed up UAnimSequenceBase::GetTimeAtFrame and UAnimSequenceBase::GetFrameAtTime to return correct frame indices, similar to FAnimationRuntime::GetKeyIndicesFromTime
	#jira UE-52037

Change 3787412 by Martin.Wilson

	CIS Fix

Change 3787622 by Ethan.Geller

	Include Google Resonance SDK.

Change 3787633 by Ethan.Geller

	Promote AmibsonicsMixerPtr to FAudioDevice

Change 3788026 by Lina.Halper

	Retarget source reference to soft object ptr

	#jira: UE-48570

Change 3788252 by Ethan.Geller

	Add blueprint functions for Resonance Global Reverb

Change 3788750 by Ethan.Geller

	fix single file compile for Resonance plugin

Change 3788763 by Ethan.Geller

	include IModularFeatures.h explicitly for incremental build

Change 3789108 by Martin.Wilson

	Fix animations with scaled root bone generating incorrect root motion

	#jira UE-52088

Change 3789642 by Martin.Wilson

	Fix transition nodes from referencing the wrong state node due to non unique node guids being introduced by copy and paste

	#jira UE-43891

Change 3790165 by Martin.Wilson

	Fix marker sync position not being maintained across instant transitions

	#jira UE-21355

Change 3790182 by Ethan.Geller

	Final Resonance edits pass.

Change 3790184 by Lina.Halper

	Fix issue with crash when montage is streamed out while event is queued.

	https://udn.unrealengine.com/questions/404318/anim-montage-queued-montage-event-crash.html

Change 3790207 by dan.reynolds

	#UE-50774 Updated AEOverviewReverb to not attempt to destroy Audio Component that has already been destroyed.

Change 3790215 by Martin.Wilson

	CIS Fix

Change 3790953 by Ethan.Geller

	#jira UE-53023 bypass filters when at max frequency for LPF, DC for HPF

Change 3791832 by Martin.Wilson

	Don't load animations for preview tooltip in Persona

	#jira UE-52118

Change 3792873 by David.Hill

	Fix CIS.  Remove timer from proxylod code.

Change 3793251 by David.Hill

	ProxyLOD Thirdparty libs  build cs files.

	Update from ModuleRules.WindowsPlatform to ReadOnlyTargetRules.WindowsPlatform
	-- The WindowsPlatform alias is deprecated in 4.18

Change 3793400 by Ethan.Geller

	Update Resonance blueprint library to fit google naming conventions

Change 3794097 by Benn.Gallagher

	Fixed clothing visualizations no longer functioning
	#jira UE-52995

Change 3794250 by Danny.Bouimad

	Regenerated ground truth on LODCurveLinkingTest1 and AnimatedCloth, expected change as a result of Ben fixing a bug.
	Needed to update Owens cloth settings too.
	Should resolve automation test CIS fails

Change 3794352 by David.Hill

	ProxyLOD code:

	Disable openvdb-centric warnings within the openvdb platform.h file.
	C6326: Potential comparison of a constant with another constant

	and add annotations
	C28251: Inconsistent annotation for 'copysign'

	also added a warning suppress for static analysis CA_SUPPRESS(6011) within the proxylod version of the simplifier.

Change 3794786 by Lina.Halper

	Pose asset retarget source bug fix

	#jira: UE-52429

Change 3794841 by Danny.Bouimad

	Hopefully fixes the cloth automation CIS

Change 3795191 by Lina.Halper

	Fix build issue

Change 3795486 by Ethan.Geller

	re-enable android support for Oculus Audio

Change 3796162 by Danny.Bouimad

	Third attempt to fix the cloth CIS error. Hopefuly this will solve it.

Change 3796311 by Martin.Wilson

	Remove recompress animation from curve track actions. Allows smoother interaction on animations with slow recompress time.

	#jira UE-51740

Change 3796321 by Thomas.Sarkanen

	Duplicating CL 3770752 from 4.18:

	Prevent crash when generating convex bodies fails

	Note: speculative fix as the issue cannot be reproduced locally

	#jira UE-52449 - [CrashReport] FPhysicsAssetUtils::CreateFromSkeletalMeshInternal()

Change 3797093 by Danny.Bouimad

	Constrant node AnimBP Automated tests

Change 3797384 by Danny.Bouimad

	Fixing CIS error caused by automated test lighting issue

Change 3800621 by Thomas.Sarkanen

	Fix CIS: Shadowed variable warning

	#jira UE-53253 - FMenuBuilder declaration shadows a local variable warning appears when building the editor on Linux

Change 3800690 by Danny.Bouimad

	Checking in fix for CIS automation for ConstraintNode, set the screenshot tool to use BaseColor. This should fix the issue with the rendering fuzzyness

Change 3800874 by David.Hill

	Clean up static analysis warnings

	#jira: UE-53270

Change 3801227 by David.Hill

	Allow proxylod to fail gracefully if the input mesh is way too big (e.g. sky sphere)

	Added code to automatically compute the correct spatial sampling rate based on the geometry size, also allow the user to override.

	#cl: UE-53155

Change 3801228 by David.Hill

	UI: Mesh Proxy Dialog  re-write.  Make this more like MeshMerging, and share some code.

	#cl UE-53155, UE-52787, UE-53106

Change 3801319 by Danny.Bouimad

	Regenerated all the screen shots for the constraint tests.

Change 3801383 by Ethan.Geller

	#jira UE-53311 fix additional #if PLATFORM_WINDOWS  guards in Oculus Audio

Change 3801697 by Ethan.Geller

	include AudioDevice.h directly to resolve FAudioDevice.

Change 3802180 by David.Hill

	This should fix the Incremental UE4Editor Linux build.

Change 3802643 by David.Hill

	ProxyLOD UI change. Add limits to the target screen size.  They now reflect the values in the old version of the UI and the thirdparty tool.

	#CL: UE-53313

Change 3802986 by Ethan.Geller

	#jira UE-53330 Change vraudio to explicit library path

Change 3803448 by Danny.Bouimad

	disabling constraint tests

Change 3803678 by Danny.Bouimad

	#jira UE-53306 Fix

Change 3804333 by Ethan.Geller

	#jira UE-53330 fix library paths for iOS on Resonance

Change 3804453 by David.Hill

	Fix Shadow warning when compiling UE4Editor on linux:

	FlattenedMaterials.

	#CL: UE-53349

Change 3804510 by Lina.Halper

	CIS warning on shadow vars

	#jira: UE-53348, UE-53345

Change 3805451 by Lina.Halper

	Fix build issue : Renamed variable -

	https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/74095846?stepName=Incremental%20UnrealHeaderTool%20Win64&jobId=8173688&jobName=UE4%20Dev-AnimPhys%20-%20CL%203805429%20-%20Incremental%20Editor%20Win64&tabGroup=diagnosticHeader

Change 3805470 by Lina.Halper

	Fix build issue

Change 3806524 by Martin.Wilson

	Only use previous frame end position if it is valid for this frame

	#jira UE-53414

Change 3792620 by David.Hill

	Copying //UE4/Dev-ProxyLOD to Dev-AnimPhys-Minimal (//UE4/Dev-AnimPhys-Minimal)

	Adding the ProxyLOD code to AnimPhys.

Change 3796059 by Thomas.Sarkanen

	Persona viewport settings are now per-asset editor

	This prevnets bone following (etc) being shared by all Persona asset editors
	FOV & view type is no longer chared by all Persona asset editors

	#jira UE-53005 - Viewport settings like bone following are shared between all animation sub-editors

[CL 3806814 by Marc Audy in Main branch]
2017-12-13 16:02:45 -05:00
Ben Marsh cfc9f4775f Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092)
#lockdown Nick.Penwarden
#rb none

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

Change 3623004 by Ben.Marsh

	Fix RemoteExecutor not taking the remote machine specs into account.

Change 3623172 by Ben.Marsh

	UGS: Fix "More Info..." button not using P4 server override.

Change 3628820 by Ben.Marsh

	PR #3979: Get working directory from task element, not tool node (Contributed by nullbus)


Change 3630424 by Graeme.Thornton

	Make the AES key parameter const in FAES::EncryptData()

Change 3632786 by Steve.Robb

	FString constructor fixed to not take an ignored void* parameter, which can be misleading.

Change 3639534 by Ben.Marsh

	Remove old P4.NET library. Doesn't seem to be used by anything.

Change 3640536 by Steve.Robb

	GitHub #4007 : Delete unnecessary specialization of MakeArrayView

	#jira UE-49617

Change 3641155 by Gil.Gribb

	UE4 - Speculative fix for problem with summary reading in FAsyncArchive2.

Change 3643932 by Ben.Marsh

	Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument).

Change 3644825 by Ben.Marsh

	Use VSWHERE to find the location of MsBuild.exe, if available.

	https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645

Change 3647395 by Ben.Marsh

	Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options.

Change 3650300 by Ben.Marsh

	UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis.

Change 3650856 by Robert.Manuszewski

	Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread

Change 3651022 by Gil.Gribb

	UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher.

Change 3658331 by Steve.Robb

	Fix for the parsing of large integer values.

Change 3661958 by Gil.Gribb

	UE4 - Fixed rare hang in task graph.

Change 3664021 by Robert.Manuszewski

	Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy

	See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html

Change 3664254 by Steve.Robb

	Use ANSI allocator when thread sanitizer is enabled.  This allows the generation of more accurate and meaningful reports.

Change 3664436 by Steve.Robb

	Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads.

Change 3666461 by Graeme.Thornton

	Improvements to signing/encryption key embedding and runtime access
	 - Changed method of embedding key into the executable to make it more secure
	 - Added FAESKey class to wrap a 32 byte key

Change 3666462 by Graeme.Thornton

	Cut ShooterGame AES key down to 32 characters

Change 3677560 by Ben.Marsh

	PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn)


Change 3683534 by Steve.Robb

	Refactoring of enum/struct lookup during hot reload.

Change 3683754 by Steve.Robb

	Alignment fixes to allow int64 on 32-bit platforms
	Support for integral types in IsAligned.
	Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types.
	Some fixes to existing code.

Change 3686670 by Steve.Robb

	Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS.

Change 3687540 by Ben.Marsh

	Fix all UBT/UAT output going to stderr rather than stdout.

Change 3688931 by Gil.Gribb

	UE4 - Critical fix for a rare race condition in the pak file async IO layer.

Change 3690000 by Graeme.Thornton

	Manual copy of 4.18 CL 3687869

	Make UBT include the destination INI file for a given hierarchy if it exists
	Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name

Change 3690030 by Graeme.Thornton

	VSCode fixes
	 - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path
	 - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for
	 - Various fixes for vscode project file generation

	#jira UE-50554

Change 3690885 by Steve.Robb

	Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.

Change 3691052 by Steve.Robb

	Free stats thread on shutdown.

Change 3695138 by Steve.Robb

	AsConst helper function added.

Change 3696627 by James.Hopkin

	Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr

	(review-3606695)

Change 3697099 by Steve.Robb

	GitHub #4105 : Removed redundant class access modifier

Change 3697154 by Steve.Robb

	Removal of deprecated functions in delegates.
	Mutable lambdas to can now be bound to delegates.

Change 3697180 by Steve.Robb

	GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty

Change 3697239 by Steve.Robb

	Allow TArray::Insert to take an array with any allocator type.

Change 3697269 by Steve.Robb

	RelocateConstructItems instead of MoveConstructItems.

Change 3697558 by Steve.Robb

	New _GetRef functions for TArray, which return a reference to the newly-added element.
	Unit tests for these functions.

Change 3699776 by Steve.Robb

	TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.

Change 3702397 by Steve.Robb

	TIsTrivial type trait.

Change 3702569 by Steve.Robb

	Allow a TGuardValue to be assigned to a different type from the one being guarded.

Change 3706644 by Robert.Manuszewski

	Different stack ingore count for development builds for FArchiveStackTrace

Change 3709272 by Steve.Robb

	Removal of redundant UpdateVertices, which causes a race condition on the renderer thread.

Change 3709452 by Robert.Manuszewski

	Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies

Change 3709454 by Robert.Manuszewski

	Added command line option -NOEDL to disable EDL

Change 3709487 by Steve.Robb

	Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.

Change 3709645 by Ben.Marsh

	Fix race condition between multiple instances of UBT trying to write out the XML config cache.

Change 3711193 by Ben.Marsh

	Add an editor setting for the shared DDC location to use.

	#jira UE-51487

Change 3713811 by Steve.Robb

	Update .modules files after a hot reload.
	Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks.
	Pass hotreload flags around in UBT instead of relying on global state.

	This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205.

	#jira UE-51472

Change 3715654 by Steve.Robb

	GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy.

Change 3718782 by Steve.Robb

	TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called.

Change 3720830 by Steve.Robb

	Initial import of TAtomic object wrapper, which guarantees atomic access to an object.

Change 3720881 by Steve.Robb

	FCompression ThreadSanitizer data race fixes.

Change 3722640 by Graeme.Thornton

	Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading.

	#jira UE-51463

Change 3722655 by Steve.Robb

	Don't null name table because it's already zeroed at startup.
	Some tidy-ups.

Change 3722754 by Steve.Robb

	Thread sanitizer fix.
	Small typo fix.

Change 3722849 by Graeme.Thornton

	Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server

Change 3723081 by Steve.Robb

	TAtomic is now aligned to the underlying integer type.
	TAtomic will now static assert with a better error message when given an unsupported type.
	Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number.
	Misc renames.

Change 3723270 by Ben.Marsh

	Include /d2cgsummary argument when running UBT with -Timing.

Change 3723683 by Ben.Marsh

	Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance.

Change 3725422 by Robert.Manuszewski

	When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning.

Change 3725735 by Robert.Manuszewski

	Making all CheckDefaultSubobjects related functions const

Change 3726167 by Steve.Robb

	FMinimalName::IsNone added.

Change 3726458 by Steve.Robb

	TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer.

Change 3726542 by Ben.Marsh

	UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths.

Change 3726595 by Ben.Marsh

	Allow building multiple game targets in the example BuildEditorAndTools.xml script.

Change 3726724 by Ben.Marsh

	Fix ambiguities in calculating root directory. (GitHub #4172)

Change 3726959 by Ben.Marsh

	Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does.

Change 3728437 by Steve.Robb

	VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel.
	Some improved documentation.

	NOTE: This is a backward-incompatible change to VisitTupleElements.  Any existing calls will need their arguments swapping.

Change 3732262 by Gil.Gribb

	UE4 - Fixed rare hangs in the task graph.

Change 3732755 by Steve.Robb

	Stats TSAN fixes.
	Optimizations to FCycleCounter::Start() to only read the stat name once.

Change 3735000 by Robert.Manuszewski

	Always preload the AssetRegistry module on startup. even if EDL is disabled.

	Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert.

Change 3735292 by Robert.Manuszewski

	Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates.

Change 3735332 by Steve.Robb

	Refactoring of UDelegateProperty::Identical() to clarify logic.
	Fixed UMulticastDelegateProperty::Identical() to compare the bound function names.
	PPF_DeltaComparison removed, as it doesn't seem useful.

Change 3737960 by Graeme.Thornton

	VSCode - Add launch task for generating project files for the given folder

Change 3738398 by Graeme.Thornton

	Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor

	#jira UE-51451

Change 3738405 by Graeme.Thornton

	VSCode: Format c/cpp settings strings using comment path formatting function

Change 3738928 by Steve.Robb

	Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18)

	#jira UE-51842

Change 3739135 by Ben.Marsh

	Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history.

	#jira UE-51855

Change 3739360 by Ben.Marsh

	UAT: Fix issue with P4PORT setting not being parsed correctly.

Change 3745959 by James.Hopkin

	#core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types

Change 3746125 by Steve.Robb

	FName ThreadSanitizer fixes.

Change 3747274 by Steve.Robb

	TSAN fix for FMediaTicker::Stopping.

Change 3747618 by Steve.Robb

	ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.

Change 3747720 by Steve.Robb

	ThreadSanitizer fix for FMessageRouter::Stopping.

Change 3749207 by Graeme.Thornton

	First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys.

Change 3749323 by Graeme.Thornton

	Fix UAT crash when only -targetplatform is specifiied

Change 3749349 by Steve.Robb

	TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.

Change 3749617 by Steve.Robb

	Logf static_assert for formatting string enabled.

Change 3749897 by Steve.Robb

	FDebug::LogAssertFailedMessage static assert for formatting string enabled.

Change 3754011 by Steve.Robb

	Static asserts that the allocator supports move.
	Move-enabled our allocators which don't support move.

Change 3754227 by Ben.Marsh

	Fix build command line in generated projects missing a space before the compiler version override.

	#jira UE-52226

Change 3754562 by Ben.Marsh

	PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk)


Change 3755616 by Graeme.Thornton

	Runtime code for using the new crypto ini files to define signing/encryption keys

	#jira UE-46580

Change 3755666 by James.Hopkin

	Used ImplicitConv to remove Casts being used for up-casts

	#review-3745965

Change 3755671 by Graeme.Thornton

	Add log message in unrealpak to say which config file system it is using for crypto keys

Change 3755672 by Graeme.Thornton

	Updating ShooterGame with new CryptoKeys based security setup

Change 3756778 by Ben.Marsh

	Add support for running multiple jobs simultaneously on a single builder.

	When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used.

Change 3758498 by Ben.Marsh

	Re-throw exceptions when a file cannot be deleted when cleaning a target.

Change 3758921 by Steve.Robb

	ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access.
	DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory.

Change 3760599 by Graeme.Thornton

	Added missing epic header comment to some new source files

Change 3760642 by Steve.Robb

	ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.

Change 3760669 by Graeme.Thornton

	Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually.

	Added a test mode to the cryptokeys commandlet to test signing key generation

Change 3760711 by Steve.Robb

	ThreadSanitizer fixes to GIsRenderingThreadSuspended.

Change 3760739 by Steve.Robb

	ThreadSanitizer fix for FQueuedThread::TimeToDie.

Change 3760763 by Steve.Robb

	ThreadSanitizer fix for GRunRenderingThreadHeartbeat.
	Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread.

Change 3760793 by Steve.Robb

	Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos.

Change 3760817 by Steve.Robb

	ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.

Change 3761331 by Josh.Engebretson

	UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj

	#jira UE-52416

Change 3761521 by Steve.Robb

	ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.

Change 3763117 by Graeme.Thornton

	PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL)


Change 3763358 by Graeme.Thornton

	Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes
	Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path

	Derived from the content of this PR:
	PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang)


Change 3764058 by Graeme.Thornton

	Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes

	#jira UE-52359

Change 3764705 by Steve.Robb

	Better handling of whitespace in ImportText_Internal() for set and map properties.
	Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data).
	Fix to USetProperty's temp buffer size to avoid buffer overruns.
	Duplicate map keys are now skipped during import, same as USetProperty's behavior.

Change 3764731 by Steve.Robb

	Don't re-run UHT if only source files have changed in the same folder as headers.  This was already done for hot reload, but there's no reason why it should be limited to that.

Change 3765923 by Graeme.Thornton

	VSCode - "taskName" -> "label" for C# build tasks

Change 3766018 by Steve.Robb

	constexpr constructor for TAtomic.

Change 3766037 by Steve.Robb

	Misc tidyings in HotReload.cpp.

Change 3766046 by Steve.Robb

	ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local.

Change 3766288 by Steve.Robb

	Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects.

Change 3766374 by Josh.Engebretson

	Fix issue with ini quoted value comparison

	#jira UE-52066

Change 3766532 by Josh.Engebretson

	PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu)
	#jira UE-46156

Change 3766740 by Steve.Robb

	TMultiMap::Append added.

Change 3767523 by Steve.Robb

	ThreadSanitizer fix for UE4Delegates_Private::GNextID.

Change 3767601 by Steve.Robb

	ThreadSanitizer fix for FStats::GameThreadStatsFrame.

Change 3770567 by Ben.Marsh

	Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives.

Change 3770826 by Ben.Marsh

	Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it.

Change 3770875 by Steve.Robb

	Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading.  This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps.

Change 3772167 by Ben.Marsh

	Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data.

Change 3772248 by Steve.Robb

	ThreadSanitizer fixes to FMalloc call counters.

Change 3772383 by Ben.Marsh

	Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive.

Change 3772906 by Graeme.Thornton

	TextAssetCommandlet - Utility commandlet for testing/converting to text asset format

Change 3772932 by Ben.Marsh

	Fix "String:" prefix not being stripped from escaped string values.

Change 3772942 by Graeme.Thornton

	Add experimental setting to enable in-editor text asset format functionality
	Add "export to text" option into the content browser asset actions context menu

Change 3772955 by Ben.Marsh

	Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility.

Change 3772963 by Ben.Marsh

	Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries.

Change 3773010 by Graeme.Thornton

	Added CORE_API to FArchiveFromStructuredArchive
	Gave text asset format experimental option a slightly less random tooltip comment

Change 3773057 by Ben.Marsh

	Add a flag to FArchive to determine whether the archive is text (IsTextFormat()).

	Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive.

	Also rename FStructuredArchive::TryEnterSlot() to TryEnterField().

Change 3773118 by Steve.Robb

	TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size.

Change 3773122 by Steve.Robb

	TAtomic fixes for pointer arithmetic.
	TSignedIntType used instead of reimplementing its own trait.

Change 3773123 by Steve.Robb

	Unit tests for TAtomic.

Change 3773138 by Steve.Robb

	Run numeric tests on integer types instead of basic tests.
	Fix for compiler warnings when subtracting from unsigned atomics.

Change 3773166 by Steve.Robb

	Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that.

Change 3774216 by Gil.Gribb

	UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file.

Change 3774426 by Ben.Marsh

	Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all.

	See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html

Change 3774658 by Ben.Marsh

	Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it.

Change 3775141 by Ben.Marsh

	Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor.

Change 3775459 by Ben.Marsh

	Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically.

Change 3775522 by Ben.Marsh

	UGS: Treat .uproject and .uplugin files as code changes.

Change 3775597 by Ben.Marsh

	Fix post-build steps for plugins not being executed.

	#jira UE-52754

Change 3777895 by Graeme.Thornton

	StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive

Change 3777931 by Graeme.Thornton

	Refactored FArchiveUObjects serialization code into some static helpers
	Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers

Change 3777942 by Graeme.Thornton

	Added missing CORE_API to FStructuredArchive::FStream
	Added FStructuredArchive::FSlot insertion operator for char
	Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value

Change 3778084 by Graeme.Thornton

	Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files

Change 3778096 by Graeme.Thornton

	Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class

Change 3778389 by Josh.Engebretson

	Fix an optimization issue with CPU benchmarking
	Add better support for debugging/testing local rocket builds

	UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html

	#jira UE-52192

Change 3778701 by Josh.Engebretson

	Ensure plugin content folders are mounted consistently.  Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets

	UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html

	#jira UE-40317

Change 3778832 by Chad.Garyet

	Adding enterprise path support for PCB's for UGS

Change 3780258 by Graeme.Thornton

	TextAssetCommandlet - Accumulate timings for loading packages and saving packages

Change 3780463 by Graeme.Thornton

	CryptoKeys improvements
	 - Enable CryptoKeys plugin by default
	 - Attempt to inherit settings from the old system by default
	 - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system

	Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings

Change 3780557 by Ben.Marsh

	Fix LoginFlow module not being precompiled for the binary release.

Change 3780846 by Josh.Engebretson

	Improve filename to long package name resolution when provided a relative path

Change 3780863 by Ben.Marsh

	UAT: Add a better error message when a C# project has an invalid reference.

Change 3780911 by Ben.Marsh

	Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce.

	The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument.

Change 3780956 by Josh.Engebretson

	Add support for ! (RemoveKey) config command to UBT

	UDN Link: https://udn.unrealengine.com/questions/397267/index.html

	#jira UE-52033

Change 3782957 by Robert.Manuszewski

	UE4 - Fixed a linear search in EDL that caused performance problems for very large maps.

Change 3784503 by Ben.Marsh

	Optimizations for FStructuredArchive:

	* Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it.
	* Prevent shrinking of arrays when removing elements.
	* Add an inline allocator to the scope and container stacks.

Change 3784700 by Ben.Marsh

	Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front.

Change 3784989 by Ben.Marsh

	Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0.

Change 3786860 by Gil.Gribb

	UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely.

Change 3787159 by Ben.Marsh

	Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution.

Change 3787493 by Josh.Engebretson

	Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores
	Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile
	Fix for multiple threads parsing ini keys (PR 3995)

	#PR 3995
	#jira 52913
	#jira 49503

Change 3787773 by Steve.Robb

	Fix for missing final values from FOREACH_ENUM_ macros.

Change 3788287 by Ben.Marsh

	TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique.

Change 3788678 by Ben.Marsh

	Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive.

Change 3789353 by Graeme.Thornton

	Removed unused/rotten modes from TextAsset commandlet.
	Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing.

Change 3789396 by Ben.Marsh

	Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h

Change 3789772 by Ben.Marsh

	Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line.

Change 3790003 by Ben.Marsh

	TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record.

Change 3790051 by Steve.Robb

	PIE is disabled during a hot reload.
	Hot reload in editor is disabled during PIE.
	Hot reload from IDE is deferred until after PIE is exited.
	Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change.

	#jira UE-20357
	#jira UE-52137

Change 3790709 by Steve.Robb

	Better move support for TVariant.
	EVariantTypes switched over to using an enum class to aid debugger visualization.

Change 3791422 by Ben.Marsh

	TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time.

Change 3791489 by Graeme.Thornton

	TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record

Change 3792344 by Ben.Marsh

	Improvements to base64 encoding library.

	* Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations.
	* Added support for decoding base-64 blobs without padding marks.
	* Added support for decoding into pre-allocated buffer.
	* Added constexpr functions for determining the encoded and maximum decoded size of an input buffer.
	* Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes).

Change 3792949 by Ben.Marsh

	TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.

Change 3794078 by Robert.Manuszewski

	Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine

	#jira UE-52392

Change 3794413 by Ben.Marsh

	TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack.

Change 3794731 by Ben.Marsh

	TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable.

Change 3795081 by Ben.Marsh

	UBT: Move LinuxCommon.cs into Platform/Linux folder.

Change 3795137 by Ben.Marsh

	UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property).

Change 3795247 by Ben.Marsh

	Fix missing header when creating a new interface from the editor new code wizard.

	#jira UE-53174

Change 3796025 by Graeme.Thornton

	Fixed some deprecated "Definitions" warnings in OpenCV build files

Change 3796103 by Graeme.Thornton

	Disable experimental text asset option - it does nothing useful yet.

Change 3796157 by Graeme.Thornton

	Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open.

	#jira UE-53206

Change 3796315 by Ben.Marsh

	Move Formatter to the correct position for initializer.

	#jira UE-53208

Change 3797082 by Ben.Marsh

	UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT.

	#jira UE-53232

Change 3799050 by Ben.Marsh

	Make UnrealPak.version files writable for Mac and Linux.

Change 3801012 by Graeme.Thornton

	VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory

Change 3801214 by Gil.Gribb

	UE4 - Remove assert to work around minor problem with lock free lists.

	#jira UE-49600

Change 3801219 by Steve.Robb

	WeakObjectPtrs now warn when casting away const.

Change 3801299 by Graeme.Thornton

	Fix quote issue with foreign project build tasks on PC

Change 3803292 by Graeme.Thornton

	Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries

Change 3803559 by Steve.Robb

	TSAN fix for FMalloc::MaxSingleAlloc.

Change 3803735 by Graeme.Thornton

	Last set of cryptokeys changes
	 - Added some comments for editor exposed settings
	 - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets"

Change 3803929 by Ben.Marsh

	UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog.

Change 3624590 by Steve.Robb

	AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector.
	Tidy-up of existing calls to AddReferencedObjects.

Change 3629473 by Ben.Marsh

	Build: Rename the option for embedding source server information in PDB files for installed engine builds.

Change 3632894 by Steve.Robb

	VARARG* macros deprecated and usage replaced with variadic templates.

Change 3640704 by Steve.Robb

	MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type.
	Fix to TWeakObjectPtr's constructor which implicitly removed const.
	Fixes to everything which didn't compile as a result.

Change 3650813 by Graeme.Thornton

	Removed FStartupPackages and associated code

Change 3651000 by Ben.Marsh

	Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out.

	#jira UE-49980

Change 3690842 by Steve.Robb

	FPlatformAtomics::AtomicRead added - needs optimizing.
	AtomicRead() used in FThreadSafeCounter::GetValue().

Change 3699416 by Steve.Robb

	Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator.
	Improved readability of TSparseArray visualization.

Change 3720812 by Steve.Robb

	Atomic functions for 8-bit and 16-bit.
	Android, Linux and Switch implementations now just use the Clang implementation.
	AtomicRead64 deprecated in favor of the int64* AtomicRead overload.

Change 3722698 by Steve.Robb

	VS debugger visualizers for TAtomic.

Change 3732270 by Steve.Robb

	Relaxed stores and loads.

Change 3749315 by Graeme.Thornton

	If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform

	#jira UE-52034

Change 3750657 by Josh.Engebretson

	Fixed issue when debugging editor cook/package and project launch operations

	#jira UE-52207

Change 3758514 by Steve.Robb

	Fixes to FString::Printf having non-literals being passed as its formatting string.

Change 3763356 by Steve.Robb

	ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters.

Change 3770549 by Steve.Robb

	Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES.
	Tidy up of existing code which uses it.

Change 3770553 by Ben.Marsh

	Adding structured serialization API to Core/CoreUObject for use with text-based assets.

	* FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types.
	* Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Maps are string -> value dictionaries where the key names are present regardless of the build type.
	* Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects.
	* Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type.
	* The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Includes implementations of FArchiveFormatter for binary and JSON formats.

Change 3771105 by Steve.Robb

	Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS.
	Fix for incorrect warning formatting on Clang platforms.

Change 3771520 by Steve.Robb

	Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header.

Change 3771564 by Steve.Robb

	More common macros moved to the Clang pre-setup header.

Change 3771613 by Steve.Robb

	EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.

Change 3772881 by Ben.Marsh

	Add support for serializing FName and UObject through FStructuredArchive.

	In order to allow custom linker behavior when serializing objects:

	* The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer.
	* The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table)

	Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix).

Change 3772941 by Graeme.Thornton

	Make build work when including StructuredArchive.h from core container types
	Added standard header to new files
	Add structured archive serializer for TArray
	Fix bug in structured archive where containers weren't being popped from the scope stack

Change 3772972 by Ben.Marsh

	Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot.

	Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately.

	When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields.

Change 3773006 by Ben.Marsh

	Rename FStructuredArchive::FRecord::EnterSlot() to EnterField().

Change 3773013 by Steve.Robb

	bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes.

Change 3774499 by Ben.Marsh

	Minor fixes for FStructuredArchive related classes:

	* Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0.
	* Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types.
	* FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions.

Change 3774600 by Ben.Marsh

	Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data.

	This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data.

Change 3789721 by Ben.Marsh

	TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing.

Change 3789920 by Ben.Marsh

	TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double.

	#jira UECORE-364

Change 3789982 by Ben.Marsh

	TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter.

Change 3792466 by Ben.Marsh

	TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly.

	In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations.

Change 3792935 by Ben.Marsh

	TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.

Change 3795100 by Ben.Marsh

	UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer.

Change 3795106 by Ben.Marsh

	Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions.

Change 3796275 by Ben.Marsh

	Fix paths to Version.h includes from resource files.

Change 3800683 by Josh.Engebretson

	Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format
	#jira UE-50073

Change 3803545 by Steve.Robb

	TWeakObjPtr const-dropping assignment fix.
	Fixes to change.

[CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
Chris Bunner 337291cb1d Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3760894)
#rb Rendering
#lockdown Nick.Penwarden

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

Change 3658809 by Chris.Bunner

	Changing default HDR display gamut to P3 as in practice that's more common than Rec2020, this should be a user-facing option where possible though as we can't automatically retrieve that data.

Change 3658842 by Chris.Bunner

	Backing out previous HDR default gamut change as it conflicts with mandatory platform defaults.

Change 3695269 by Arne.Schober

	DR - Make clang happy wreorder

Change 3695418 by Guillaume.Abadie

	Fixes compilation failure in FoliageType_InstancedStaticMesh.cpp.

Change 3695430 by Guillaume.Abadie

	Fixes missing BeginFrame dynamic resolution event in EngineTest.

Change 3695469 by Guillaume.Abadie

	Fixes crash when passing down an invalid parameter on the sample material expression's DDX, DDY parameters.

Change 3696091 by Guillaume.Abadie

	Fixes Linux compilation failure in DynamicResolution.cpp

Change 3696593 by Chris.Bunner

	Fixed typo in vetex factory enum.

Change 3696596 by Chris.Bunner

	Added material attributes type checking to If material expression.
	Updated If material expression to validate compilation of inputs.

Change 3696597 by Chris.Bunner

	Allow visible parameter retrieval to correctly traverse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs.

Change 3696599 by Chris.Bunner

	Fixed material instance parameter visiblity when using nested static switches across functions.

	#jira UE-50878

Change 3696734 by Chris.Bunner

	Return type fix.

Change 3697123 by Guillaume.Abadie

	Fixes compilation failure in PostProcessWeightedSampleSum.cpp on Windows 32bits.

Change 3697125 by Guillaume.Abadie

	Fixes compilation failure in MaterialExpressionIf.h

Change 3697127 by Guillaume.Abadie

	Fixes compilation failure in DynamicResolution.cpp on shipping build.

Change 3697135 by Guillaume.Abadie

	Fixes crash in dynamic resolution event frontend when resizing game play viewport in EngineTest.

Change 3697199 by Guillaume.Abadie

	Fixes TAA upsample's shader compilation failure on Mac.

Change 3697220 by Guillaume.Abadie

	Makes static analysis happy again.

Change 3697280 by Chris.Bunner

	Fixing up invalid casts in material layers validation.

Change 3697366 by Rolando.Caloca

	DR - hlslcc - Fix warning

	#jira UE-43988

Change 3697451 by Rolando.Caloca

	DR - vk - Per pipeline descriptor pools
	Descriptor pool are now allocated per PSO instead of globally to reduce peak mem consumption and fragmentation
	Enabled on Windows only via VULKAN_USE_PER_PIPELINE_DESCRIPTOR_POOLS

Change 3697477 by Rolando.Caloca

	DR - vk - Custom memory allocator
	Remove old/unused stats

Change 3697486 by Rolando.Caloca

	DR - vk - Fix validation issue

Change 3697488 by Richard.Wallis

	Fix for Mac editor session no longer accurately tracking Mouse location after moving between Desktops in Mission Control on 10.12.6.  Problem stems from the extra call to update the slate cached window position in mouse move while dragging, which is itself is a hack but apparently this is needed as we don't get window position updates on Mac while dragging (although I couldn't see any -ve side effects without it) then the OS (in 10.12.6) doesn't always push out a final window did move notificaiton when changing desktops which leaves the window according to slate incorrectly positoned to it's frame.

	Solution is to either remove the mouse-move-while-drag window position hack or add a final window position update to the mouse-up event while dragging - this change is the latter.

	#jira UE-37553

Change 3697501 by Richard.Wallis

	Move audio processing over to audio bus tap.  Currently on Mac Media audio playback uses OS media player mixer rather than Engine as existing implemtation, using AVAssetReader, now suffers from poor performance with new Media Framework.  This audio tap version replaces that asset reader implementation but also suffers from bad quality audio hence is still disabled at the top of AvfMediaTracks.cpp.

	Original Code Review Description:

	Convert Mac to Play audio through the engine MediaFramework API rather than using AVMediaPlayer.  This is the Mac implementation only - this should work ok on iOS but unable to test due to missing audio type implementation (throws error "Init Buffer on unsupported sound type name = Synth type = 5"), as such is only enabled for Mac.  There maybe some extra tweaks required for iOS on app backgrounding etc if this feature is enabled.

	- Stuttering Audio Performace issue investiagation:  Re-Tested this implementation against [now fixed] current Mac implementation which was working fine last year and that implementation now has the same audio output quality (performance) issues as this one.  Basic investigation seems to point to somewhere in the engine audio handing.  When poor audio is heard the FMediaAudioResampler::Generate() function is dequeing an IMediaAudioSample sample buffer and the audio sample queue usually has 50-100 of these IMediaAudioSample buffers waiting in the queue.  I think the AvfMedia playback system is providing the sample buffers in good time but they are not getting consumed "fast" enough.  This under consuming also occurs if I force the Core Audio - Audio Unit mixer to use 48000 samples/sec.

	#jira UEPLAT-1677

Change 3697517 by Richard.Wallis

	XCode 9.0 extra nullability specifiers required.

Change 3697537 by Richard.Wallis

	Back out revision 23 from //UE4/Dev-Rendering/Engine/Plugins/Media/AvfMedia/Source/AvfMedia/Private/Player/AvfMediaTracks.cpp

Change 3697670 by Rolando.Caloca

	DR - vk - Fix mapstaging surface

Change 3697846 by Uriel.Doyon

	Allow denormalized values when converting float32 to float16.

Change 3697892 by Uriel.Doyon

	Fix for unaligned structure elements

Change 3699335 by Richard.Wallis

	Mac compile fix - turns out I did need these nullability specifiers here.

Change 3699663 by Guillaume.Abadie

	Fixes time unit conversions from microseconds to milliseconds error in dynamic resolution heuristic when using GPU busy time queries.

Change 3699959 by Rolando.Caloca

	DR - Fix barrier in the middle of render pass

Change 3699969 by Rolando.Caloca

	DR - vk - Change dump layer location so it prints out validation ids

Change 3700356 by Guillaume.Abadie

	Implements secondary screen percentage to be able to do TAA upsample followed spatial upscale so that the editor viewport still have same TAA upsample screen percentage range to test the content with no matter monitor's DPI.

Change 3701105 by Guillaume.Abadie

	Ignore per view automatic mip bias on texture type other than 2d textures.

	#jira UE-51396

Change 3702297 by Richard.Wallis

	Mac compile fix for nullable specifier.  Looks like Obj class using the C++ class also needs this otherwise it throws.  Seems to be some kind of xcode/compiler caching bug with this stuff as it'll report the error once then on subsequent compiles say everything is ok.

	#jira UE-51386

Change 3702357 by Richard.Wallis

	Mac nullability compile fix - again.  Looks like I fell foul of that xcode compile caching!
	#jira UE-51386

Change 3702424 by Guillaume.Abadie

	Fixes planar reflection from drowing themselves in their own FSceneRenderer in forward shading.

	#jira UE-51395

Change 3702464 by Guillaume.Abadie

	Fixes wrong viewport to buffer conversion of the distortion.

	#jira UE-51406

Change 3702819 by Guillaume.Abadie

	Fixes planar reflections with secondary screen percentage for HighDPI editor viewports.

Change 3703732 by Guillaume.Abadie

	Removes unecessary check(); when there is more than 2 players with planar reflections.

	#jira UE-51436

Change 3704302 by Guillaume.Abadie

	Removes unecessary Interface suffix on new dynamic resolution related interfaces

Change 3704390 by Chris.Bunner

	Fixed a coincidentally correct define.

Change 3704730 by Rolando.Caloca

	DR - vk - Fix map for depth surfaces

Change 3704739 by Rolando.Caloca

	DR - Debug label on D3D11 UAVs
	- Validate when running -d3debug

Change 3705000 by Chris.Bunner

	Skip compiling opacity and opacity mask inputs on opaque surface materials. Previously the code was always added to the shader, sometimes we force opaque materials down a masked path which then calls the dormant code unintentionally. A safer fix for UE-48254.
	Partially reverted previous fix in CL 3608303 which removed a material instance optimization caching the overridden base properties.

Change 3706065 by Guillaume.Abadie

	Does some renaming for primary screen percentage, and move the primary screen percentage method selection from dynamic resolution driver to FSceneView.

Change 3706464 by Chris.Bunner

	Fixed material property translate overrides that were generating code in the wrong entry.
	Fixed conditions  in If material expression GetInputType and IsMA check.

	#jira UE-51368

Change 3706641 by Chris.Bunner

	Missing "break" in switch statement (which unfortunately needs another bump to resolve).

Change 3706642 by Guillaume.Abadie

	Fixes assertion failure when r.TemporalAA.EnableUpscale = 1

Change 3706650 by Gil.Gribb

	UE4 - UE4 - Changes from intel. Increase number of worker threads on Windows to if hyperthreads (hyperthreads √ 2) else cores √ 1 up to a max of 22 workers. Increase MAX_THREADS multiplier per bank from 22 to 26. Intel VTune ITT event annotations. Wrapped in same function as your existing CPU events and enabled with √vtune. Optimize NV cloth by consuming FVector instead of FVector4 out of the solver. Vertex buffers were using FVector all along. ~15% improvement. Optimize cloth copy to vertex buffer by adding prefetch (similar to how bones are already done). Move local to world cloth transform from CPU to GPU. When simulating lots of vertices game thread was becoming bottleneck doing matrix multiply. Add your TaskGraph task switch latency test code.

Change 3706733 by Daniel.Wright

	Print Embree Build time

Change 3706841 by Daniel.Wright

	EmbreeFilterFunc4 now handles masked out intersections properly

Change 3707437 by Rolando.Caloca

	DR - vk - Android compile fix

	#jira UE-51474

Change 3707785 by Guillaume.Abadie

	Fixes viewport issue in bloom setup pass with TAA upsample.

Change 3709623 by Rolando.Caloca

	DR - vk - Missing barrier for reading into cpu

Change 3709633 by Rolando.Caloca

	DR - vk - Compile fix

Change 3710454 by Mark.Satterthwaite

	Refactor the way we compile Buffer<> & RWBuffer<> types for Metal so that we can support the type-conversion semantics of HLSL/D3D.
	- Buffer<> types are converted to Linear Textures unless the internal type is 3-compnent or the STRONG_TYPE macro is added as a type-qualifier. Linear Textures require an MTLTexture "view" object be created around the MTLBuffer which is the backing-store and it is typically best if that buffer is marked as Private (GPU-only) memory, reading from this in the shader then uses the texture-fetch hardware to perform the format conversion on load.
	- RWBuffer<> & 3-compnent Buffer<> types are converted to use template functions to load/store - the implementation of which will read the format from the BufferSizes meta-table and determine which type-conversion to apply. Function-constants are used to specialise the shader where feasible to reduce branch costs (function-constants are a Metal feature that allow efficient runtime recompilation of bytecode shaders).
	- Buffer<> & RWBuffer<> types where the STRONG_TYPE macro is added as a type-qualifier (only does something on Metal, everywhere else it is #define'd away) are compiled as "raw" Metal buffers of the inner-type (e.g. float4 for Buffer<float4>) and the MetalRHI runtime will enforce that only SRVs/UAVs of the proper format are bound to it. This is necessary in a couple of cases (BoneMatrices, NumCulledLightsGrid, CulledLightDataGrid & ForwardLocalLightBuffer buffers) which are used in a larger number of shaders as Linear Textures have poorer performance than Buffer<>/RWBuffer<>.
	- Most of the complications to generating subtly different Metal code for different OS/device combinations have been factored out into ue4_stdlib.metal which acts as an extension to the Metal shader standard-library and helps simplify the MetalBackend code - particularly helpful for Buffer<>/RWBuffer<> but also texturecube_array and the SM6 wave-related intrinsics.
	- Reverted some of the awkward Metal-specific changes Richard.Wallis & Arne had to make to the high-level shaders as they aren't necessary anymore.
	- Made the existing Metal-specific changes to use uint32 for all light-grid injection buffers apply to all Metal platforms again (I had hoped that it would not be necessary anymore, but it is much faster this way).
	- STRONG_TYPE is actually hlslcc's "invariant" keyword applied as a type-qualifier to a Buffer<>/RWBuffer<> type - only valid when using Metal which exports this through ILanguageSpec and #define'd out for everyone else.
	- Old versions of iOS (anything earlier than iOS 10.3) won't be able to use this new code, so every buffer will be treated as "raw" and the MetalRHI will now properly report when something goes awry rather than it leading to mysterious rendering errors and crashes.

Change 3710456 by Mark.Satterthwaite

	Fix the Eddie workset project generator so that Enterprise projects don't get mixed in with regular projects at the top-level because of the way Eddie combines workset groups.

Change 3710457 by Mark.Satterthwaite

	DX11 texture formats for Mac Metal please!

Change 3710480 by Mark.Satterthwaite

	Permit RHI thread and parallel execution in Mac -game mode again.

Change 3710522 by Mark.Satterthwaite

	MSVC type-mismatch error fixes.

Change 3710580 by Mark.Satterthwaite

	Alright then - if I can't use the C++11 extended string semantics I'll have to use "xxd -i" to generate a hex-dump include header from ue4_stdlib.metal instead. This can only be updated from a machine with access to the POSIX xxd command (Mac & Linux, possibly the new Linux sub-system for Win10).

Change 3710616 by Mark.Satterthwaite

	Missing file.

Change 3712972 by Guillaume.Abadie

	Fixes Circle DOF's negative alpha channel getting clamped to 0 in TAA pass.

Change 3712979 by Guillaume.Abadie

	Fixes wrong RT reallocation when doing TAA upsample in editor viewports with secondary upscale.

Change 3713406 by Mark.Satterthwaite

	Use GPU morph targets on Mac - the necessary buffer conversions will always be available there. For iOS it can only be supported if iOS 10 is the minimum OS & Metal standard so leave that on the CPU path for now.

Change 3713494 by Richard.Wallis

	Fix for hitch when PIE unloading sublevel.  PerformReachabilityAnalysisOnObjects is spawing multiple threads in Editor builds as there is an extra code path that results in Critical Section locking within a singleton type static object - this is a bottle neck for multiple threads.  However they all just need to read the data not change it.  Replaced FScopeLock with a Read/Write version allowing these threads to all take a read lock at the same time to reduce contention.

	Changed the FUObjectAnnotationDense implementation only - left the sparse implementation alone as its not currently affecting this - although we could proactivly change that too.

	Also tested again repro in linked bug UE-24711.

	#jira UE-40533

Change 3713612 by Mark.Satterthwaite

	Integrate LPV_STORE_INDEX_IN_HEAD_BUFFER related changes from //depot/Partners/Microsoft/UE4-MS/Engine-Fable @ 2954744

	This should make Light Propagation Volumes potentially viable on non-Microsoft platforms.

Change 3713623 by Mark.Satterthwaite

	Implement ByteAddressBuffer/RWByteAddressBuffer in hlslcc in a similar manner to StructuredBuffer/RWStructuredBuffer so that the backends don't need too much modification. Implement the necessary changes into MetalBackend to make this work for Metal.

	Load/Store{+2,3,4} & Atomics are supported. Counter operations are not supported and aren't likely to be.

Change 3713636 by Mark.Satterthwaite

	Enable LPVs for Mac Metal.
	- Rework some multi-dimensional arrays & array-index dependent HLSL code that hlslcc simply can't cope with, the mesa-glsl compiler core is only capable of dealing with 1 dimensional arrays and array-indexing can't itself be directly dependent on the result of an array-index operation.
	- MetalRHI needs to ignore any SetRenderTargets call that binds nothing at all as you must bind at least one target (UAV, RT, Depth/Stencil) for it to be able to do anything sensible.
	- Turn on LPVs for Metal as it works now.

Change 3714049 by Guillaume.Abadie

	Do not set screen percentage method to TAA upsample when anti aliasing method is not TAA even if there is automatic fallback in the renderer.

Change 3714306 by Guillaume.Abadie

	Fixes assertion failure in dynamic resolution state proxy with GPU busy time queries.

Change 3714714 by Mark.Satterthwaite

	Tweak Metal GPU identification so that it works with eGPU boxes and protoype hardware - these changes only apply to macOS 10.13 so the system as a whole remains.

Change 3716104 by Mark.Satterthwaite

	Fix 10.12/Xcode 8 compile errors from the build-farm which is still split until Fortnite can update.

Change 3716120 by Mark.Satterthwaite

	Silence static-analysis.

Change 3716158 by Guillaume.Abadie

	Rewrites editor primitive compositing to support TAA upsample.

	This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.

Change 3716271 by Daniel.Wright

	Lightmass correctness fixes
	* After these changes, point, spot, directional and sky lights closely match reference renderer Mitsuba after light unit conversions
	* Photon density trimming intended for direct photons was affecting indirect photons as well.  This caused high noise for point / spot lights with a large attenuation radius.  Indirect photon density even for small lights is 5x with this change, which improves 2nd bounce quality.
	* Removed legacy fudge factor on point / spot light photon energy
	* Spotlights no longer emit based on indirect photon paths.  Fixes excessive photon energy from spot lights as they were emitting outside of the cone.
	* Fixed photons computing one more bounce than requested.
	* Added an option to use the Radiosity solver for all multibounce, replacing photons.  Useful as a reference but generally too much noise indoors.
	* Fixed visualization of photons without final gather

Change 3716434 by Mark.Satterthwaite

	Backout the remaining change from 3632041 that is no longer necessary - this was the last of the 4.18 Metal workarounds.

Change 3716491 by Chris.Bunner

	Fixing up an edge-case on a recent optimization.

Change 3716611 by Guillaume.Abadie

	Allows secondary screen percentage >= 100%.

Change 3716977 by Guillaume.Abadie

	Back out changelist 3716158 to unblock QA pass.

	#jira UE-51580

Change 3717111 by Arne.Schober

	Fixing nomalization of Morph Tangents https://udn.unrealengine.com/questions/392462/
	Also implemanted batching of the dispatches which should help worst case perfomance where dispatches become too small.
	CalculateInverseAccumulatedWeights is not cheap and proably should be moved onto a task thread that runs as soon as the input weights are ready.

Change 3717127 by Mark.Satterthwaite

	Fix a mismerge from the reversion of 3632041 - part of the modified code had been moved into another file and I didn't initially notice.

Change 3717178 by Mark.Satterthwaite

	Remove useless copy-pasted expressions from glsl_type::GetByteAddressBufferInstance & force MetalBackend to relink. Apparently the previous Mac libs were mysteriously broken.

	#jira UE-51583

Change 3717476 by Marcus.Wassmer

	Fix PS4 compile.  funciton local statics not allowed on PSSL
	Also enabled the new atomics method for LPVs for all platforms

Change 3717502 by Arne.Schober

	DR - Compiletime option for compressed ruleset (0.02ms perf gain on PS4 and disabled by default as it limits array size to 2million entries)

Change 3717601 by Arne.Schober

	DR - Move cycle counter into more meaningfull locations.

Change 3718054 by Guillaume.Abadie

	Removes unecessary check() failure on secondary upscale that fires when testing raw output screen percentage method.

Change 3718066 by Guillaume.Abadie

	Reland: Rewrites editor primitive compositing to support TAA upsample.

	This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.

Change 3718589 by Mark.Satterthwaite

	Console-variable to enable and disable Manual-Vertex-Fetch for Metal and fix the internal code to handle the subtle changes in behaviour for vertex-declarations so we don't explode under the Metal validation layer. MVF works on macOS, though testing did expose an error with Tessellation on Nvidia (true for MVF enabled & disabled).

Change 3718633 by Guillaume.Abadie

	Fixes temporal instability issue of TAA upsample with secondary screen percentage.

Change 3718658 by Arne.Schober

	DR - 25% MorphTarget Speed increase because there was a bit of cache thrashing between the waves going on.

Change 3718818 by Mark.Satterthwaite

	Fix compilation on hlslcc - integral values are not automatically converted into comparisons with zero.

Change 3719004 by Guillaume.Abadie

	Lets the game viewport client automatically set raw output screen percentage method when doing dynamic resolution with stereo rendering but without TAA upsample.

Change 3719375 by Mark.Satterthwaite

	Extend mtlpp compiler testing app to support Metal tessellation compute shaders so we can send Nvidia a much simpler reproduction of their regression.

Change 3720099 by Mark.Satterthwaite

	Make the left-hand arguments work in airdiff.

Change 3720413 by Mark.Satterthwaite

	Support standalone compute shaders in the mtlpp compiler test app.

Change 3721232 by Mark.Satterthwaite

	No more Metal Shader Model 4 - instead we have to have a Metal Shader Model 5 w/o Tessellation as Nvidia's shader compiler is broken on all tessellation shaders in 10.13.0 and above. There is no guarantee that they will fix this prior to 10.14 and I can't afford to disable tessellation entirely as if I do that then the AMD & Intel compilers will also regress. As there is no Shader Model 4 platform on Mac anymore I've amended the LevelEditorActions to disable the preview modes when no appropriate shader platform is available.

Change 3721244 by Mark.Satterthwaite

	Fix incorrect enum handling for Metal features due to overflow.

	#jira UE-51643

Change 3721338 by Mark.Satterthwaite

	MIssing file from 3721232

Change 3721818 by Mark.Satterthwaite

	Fix the Intel vector-array-dereference workaround so that it doesn't cause the AMD compiler to explode instead.

Change 3722139 by Arne.Schober

	DR - [UE-51602] -Fixed Typo that accidently bound the LightingInstancebuffer to the Transform one

	#jira UE-51602

Change 3722165 by Rolando.Caloca

	DR - Default -opengl to GL4

Change 3722682 by Guillaume.Abadie

	Fixes wrong clear color in SSR important for VR that has a HMD mesh.

Change 3722766 by Rolando.Caloca

	DR - Fix static analysis

Change 3722943 by Mark.Satterthwaite

	Disable the METAL_SM5_NOTESS shader platform again - I can workaround the Nvidia pipeline state compiler crash by changing the buffer address space from "constant" to "device" as we're managing to confuse the poor thing. This won't materially affect AMD or Intel as they don't care much about this, but to limit performance issues on Nvidia we only need to do this for Tessellation Compute shaders.

Change 3723100 by Mark.Satterthwaite

	Apparently users like enabling Metal shader standards that won't work on their current OS, so don't display those that aren't going to work & display an error message before quitting rather than crashing when trying to load a project that tries to use an incompatible shader version.

Change 3723121 by Mark.Satterthwaite

	Fix build error.

Change 3723245 by Daniel.Wright

	Ensure for when a reflection capture upload fails due to incorrect lighting scenario level handling
	Reflection captures with no data use an array index of 0, instead of -1.  Might avoid reading uninitialized memory on PS4.

Change 3723387 by Arne.Schober

	DR - Metal already applies the instance and vertexoffset in the shader

Change 3723393 by Mark.Satterthwaite

	More fixes to the mtlpp compiler test application.

Change 3725258 by Guillaume.Abadie

	Improves fast TAA upsample shader permutation by 15% on console.

Change 3725555 by Chris.Bunner

	[Dupliate] CL 3725548 - Fixed invalid screenpercentage value in VehicleGame sample (was setting -1 but should default to 100). This has always been broken but was recently exposed by CL 3686200.

Change 3726845 by Guillaume.Abadie

	Exposes SvPosition to material through screen position material expression, so that material no longer have SvPosition * InvViewSize * ViewSize precision loss.

	#jira UE-51428

Change 3728014 by Guillaume.Abadie

	Uses ScreenPosition material expression's PixelPosition pin in existing engine functions to improve precision.

	#jira UE-51428

Change 3728053 by Richard.Wallis

	Duplicate CL 3727958: Crash fix when using shared material libraries.  Initial shader code library offset is not zero'd so all entry offsets were garbage.

Change 3728339 by Guillaume.Abadie

	Adds project setting for TAA upample, and officialises TAA upsampling CVar.

Change 3728549 by Guillaume.Abadie

	CsvProfiler is pretty cool, but even better with console autocompletion for lazy developers.

Change 3728752 by nick.bullard

	Built and re-saved QA-MeshPaint
	#jira UE-50978

Change 3728775 by Guillaume.Abadie

	Implements r.DynamicRes.ChangePercentageThreshold to stabilize primary screen percentage.

Change 3729224 by Uriel.Doyon

	Hidden levels now keep their last build data when using lighting scenarios.
	Hidden levels don't affect the scene anymore volumetric lighting when not using lighting scenarios.

	#jira UE-40454
	#jira UE-38131

Change 3729243 by Marcus.Wassmer

	Update Ansel to 1.4
	#github 4159
	#jira UE-51545

Change 3729325 by zachary.wilson

	Adding indirect lighting to TM-LightingChannels
	#jira UE-47069

Change 3729485 by zachary.wilson

	Fixing ambient occlusion bias on QA-LightsStationary. Removed global PPV with bad settings, also fixed the shadow on the roof.
	#jira UE-50972

Change 3729629 by Uriel.Doyon

	Fixed crash when using debug view modes.
	Fixed d3ddebug error when clearing quad overdraw buffer.

	#jira UE-51836

Change 3730053 by Guillaume.Abadie

	Allows edititing of AScreenshotFunctionalTestBase::ScreenshotCamera.

Change 3730308 by Guillaume.Abadie

	Disables TAA upsample on buffer visualization, and disallow screen percentage preview in editor viewport with any buffer visualization.

Change 3730355 by Guillaume.Abadie

	Sacrifices consistency for good cvar name for TAA upsample.

Change 3731403 by Daniel.Wright

	Reduced slider for ContactShadowLength to .1, algorithm produces poor results with larger values.

Change 3731404 by Daniel.Wright

	Checkpoint for ScreenShadowMaskTexture, allowing 'vis ScreenShadowMaskTexture'

Change 3731407 by Daniel.Wright

	Must opt-in for FDistanceFieldSceneData::VerifyIntegrity

Change 3731517 by Guillaume.Abadie

	Freezes dynamic resolution heuristic when doing pause.

Change 3732168 by Guillaume.Abadie

	Renames TAA upsampling cvar.

Change 3732295 by Guillaume.Abadie

	Lets the scene texture's size and texel size return the correct sizes after TAA upsample.

Change 3732313 by Guillaume.Abadie

	Implements SceneTexture material expressions' automated tests.

Change 3734928 by Guillaume.Abadie

	Adds panic mode when the last N frames are over budget to the dynamic resolution heuristic.

Change 3735966 by Ryan.Vance

	Fixing mac steamvr compile issue. Missed a few lines in the refactor because mac.

Change 3736104 by Guillaume.Abadie

	Removes FSceneViewInitOptions::bDisableGameScreenPercentage brought by 4.18, that new screen percentage API do in a better way.

Change 3736346 by Daniel.Wright

	Volumetric fog is always interpolated in the pixel shader, since per-vertex interpolation gives consistently poor results.  Fixes Volumetric Fog on opaque in Forward, and on transparent in Deferred.
	Forward shading: per-pixel height fog is always done in the base pass, to work with MSAA correctly

Change 3736348 by Daniel.Wright

	Forward shadowing of directional light for translucency
	 * Static shadowing and CSM supported with minimal filtering (1 PCF)
	 * Deferred renderer: affects translucency using 'Surface ForwardShading' lighting mode.  Forward renderer: affects all translucency.

Change 3736650 by Rolando.Caloca

	DR - vk - # of desc pools

Change 3737985 by Guillaume.Abadie

	Fixes pixel inspector with primary and secondary screen percentage.

Change 3738638 by Michael.Lentine

	Compile fix due to unclear operator precendence.

Change 3739417 by Daniel.Wright

	Fixed a few issues with irradiance cache visualization

Change 3739447 by Daniel.Wright

	Skip forward static shadowing in projects with static lighting disabled

Change 3739595 by Daniel.Wright

	ConditionalPostLoad DistanceFieldReplacementMesh.  Should fix a crash on load when static mesh derived data is being rebuilt, and the DistanceFieldReplacementMesh is in use.

Change 3739598 by Daniel.Wright

	Disable capsules shadows on lowest shadow quality

Change 3739611 by Daniel.Wright

	Added r.CapsuleDirectShadows and r.CapsuleIndirectShadows for more specific scalability control over capsule shadow features
	New Lighting Feature show flags for RTDF shadows and Capsule Shadows

Change 3740516 by Guillaume.Abadie

	Fixes VR editor rendering only on eye with TAA upsample.

	#jira UE-52016

Change 3740580 by Guillaume.Abadie

	Fixes chromatic aberration with TAA upsample and multiple view rendering.

	#jira UE-51993

Change 3740588 by Guillaume.Abadie

	Gives to FXAA a more explicit draw event name for easier UDN support.

Change 3740845 by Michael.Lentine

	Fix shipping build.

Change 3740903 by Guillaume.Abadie

	Disables dynamic resolution threading outliers detection by default and includes editor UI GPU cost within dynamic resolution's begin/end frame events for better reliability of timestamp query based dynamic res in editor.

Change 3741355 by Daniel.Wright

	Normalize planar reflection plane - fixes crash when scaling a BP with a planar reflection component

Change 3741357 by Daniel.Wright

	More info on volumetric lightmap import failure

Change 3742535 by Ryan.Vance

	Fix for view rect changes.

Change 3743282 by Guillaume.Abadie

	Fixes a bug in dynamic resolution heuristic's outlier detection that was preventing the over budget panic to react.

Change 3743559 by Michael.Lentine

	Port Siren changes for recompute tangents. This adds recompute tangents for cloth as well as the ability for recompute tangents to work across seams where vertices are duplicated.

Change 3743679 by Guillaume.Abadie

	Cherry-pick 3743621: Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.

	#jira UE-51569

Change 3743906 by Ryan.Brucks

	BlueprintMaterialAndTextureNodes Plugin:  Fix for clamping sampled HDR render target values by setting  ERangeCompressionMode in the FReadSurfaceDataFlags to RCM_MinMax

Change 3744096 by Ryan.Brucks

	BlueprintMaterialAndTextureNodes Plugin:  removed Mip option from Texture2D_SampleUV_EditorOnly for now since reads from source data cannot access mips and it can be misleading.

Change 3744253 by Guillaume.Abadie

	Fixes merge collisions of debug canvas rendering with High DPI, fixes stat unit on high DPI monitors, and fixes secondary screen percentages.

Change 3744953 by Chris.Bunner

	Crash workaround.

Change 3745628 by Marcus.Wassmer

	Temporarily disable recalctangent normal-smoothing

	#jira UE-52166

Change 3745942 by Guillaume.Abadie

	Fixes a todo in FCommonViewportClient

Change 3746005 by Guillaume.Abadie

	Fixes stat UnitGraph on high DPI monitor.

Change 3746029 by Guillaume.Abadie

	Oups.... Fix compilation. :D

Change 3748322 by Guillaume.Abadie

	Shows dynamic resolution's primary screen percentage on stat unit/unitgraph console commands.

Change 3748346 by Chris.Bunner

	Potential static analysis fix.

Change 3748349 by Chris.Bunner

	Mac feature support flag fix on versions < 10.30.

Change 3749336 by Guillaume.Abadie

	Fixes some spelling mistakes in dynamic resolution cvars. Thanks Daniel!

Change 3749374 by Guillaume.Abadie

	Adds a black background on the stat unitgraph so timing curves can be seen no matter the content.

Change 3749437 by Guillaume.Abadie

	Final UI polish up for `stat unitgraph`

Change 3749719 by Guillaume.Abadie

	Fixes a crash when changing r.DynamicRes.MaxScreenPercentage below current screen percentage.

Change 3750243 by Chris.Bunner

	Increasing controller's automated test timeout to allow for slower machines to complete the longest tests.

	#jira UE-48494, UE-51907

Change 3750728 by Guillaume.Abadie

	Fixes merge collision in chromatic aberration.

	#jira UE-52282

Change 3750791 by Guillaume.Abadie

	Fixes chromatic baerration R and G channel swap.

Change 3751246 by Guillaume.Abadie

	Bypasses screen percentage apply with mobile LDR rendering.

	#jira UE-52089

Change 3752624 by Guillaume.Abadie

	Simplies dyn res state's event interface to a single virtual method.

Change 3753766 by Chris.Bunner

	Rebuilt volumetric baked lighting test map and updated screenshots.

	#jira UE-52322

Change 3755108 by Guillaume.Abadie

	Fixes a bug where default dynamic resolution state was created at startup of server build.

	#jira UE-52345

Change 3755267 by Mark.Satterthwaite

	Fix condition controlling which features are enabled when iOS >= 10.3 - it wasn't working for iOS 11+ which was causing all kinds of problems.

	#jira UE-52301

Change 3755811 by Chris.Bunner

	Disable some new logging that was causing a stack overflow during EnginePreInit.

	#jira UE-52345

Change 3756983 by Mark.Satterthwaite

	Prevent different versions of metal_stdlib/ue4_stdlib from causing shader compilation failures due to a time-stamp mismatch between the local file & the PCH. This can happen when working with Xcode Beta releases that change the modification date, but not the content or compiler version, amongst other possibilities.

	#jira UE-52073

Change 3757156 by Guillaume.Abadie

	Fixes editor compositing with wireframe rendering.

	#jira UE-52017

Change 3757435 by Mark.Satterthwaite

	Workaround a bug in the MobileSceneCaptureRendering where it was copying the ViewInfo's ViewRect prior to it being configured by the mobile renderer.
	#jira UE-52327

Change 3757523 by Uriel.Doyon

	Fixed d3ddebug warning with unused inputs

Change 3758318 by Guillaume.Abadie

	Cleaner fix for mobile scene captures.

	#jira UE-52327

Change 3759541 by Mark.Satterthwaite

	Don't enable Manual Vertex Fetch on iOS Metal for the moment as it isn't well tested there and will probably need further changes.

Change 3695086 by Guillaume.Abadie

	Render thread dynamic resolution & TAA upsample.

	Merging //Tasks/UE4/Dev-DynamicRes/...@3694528 to //UE4/Dev-Rendering/...

	New features breakdown:
	- TAA upsample compute shader that accepts screen percentage from 50% to 200%, with a faster shader permutation for consoles;
	- Material no longer have to deal with BufferUV, and post process material after TAA upsample can sample any scene buffer seamlessly;
	- Material texture per view mip bias to produce sharper images with TAA upsample;
	- Render thread dynamic resolution heuristic is fully plugable by game code (for VR plugin specific heuristics);
	- Dynamic resolution in PIE and game builds;
	- Busy time queries in the RHI to be implemented on the different platforms so that the dynamic resolution heuristic can  exactly associate GPU frame times with screen percentages in its history;
	- Game user settings to enable/disable dynamic resolution;
	- In editor viewport screen percentage config to previsualise and test content at different screen percentage.

	Fixes:
	- Various fixes for algorithms producing different outputs at different screen percentage.
	- Various fixes for algorithms sampling outside view rects.

	Refactors:
	- TAA shader
	- Moved some screen percentage specific members from FSceneView to FViewInfo for thread race bullet proofing.

	Aknowledgements:
	- VR plugins are broken
	- DFAO still have some artifacts

	Premiliminary review: Marcus.Wassmer
	Review for TAA refactor and TAA upsample shader: Brian.Karis
	Review for dynamic resolution: Brian.Karis

[CL 3761165 by Chris Bunner in Main branch]
2017-11-16 11:36:35 -05:00
Marcus Wassmer 60ef532ed8 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3694557)
#lockdown Nick.Penwarden
#rb none

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

Change 3495522 by Rolando.Caloca

	DR - Enable gpu skinning on Vulkan

Change 3681208 by Jian.Ru

	Force bCastShadowAsMasked to false for opaque materials;
	Disable UI check box of bCastShadowAsMasked when blend mode is opaque or modulated

Change 3682631 by Rolando.Caloca

	DR - Copy 3682626
	Fix recompute tangents not being applied to different sections

Change 3684812 by Arne.Schober

	DR - Fix a crash and a Masterfile issue

Change 3684833 by Marcus.Wassmer

	Fix more non-unity issues

Change 3685236 by Arne.Schober

	DR - Fix some issues with Particles e.g stride was meant to be set to repeat and also subUV needs to be taken care of

Change 3685247 by Arne.Schober

	DR - accidentally removed bracket

Change 3686764 by Daniel.Wright

	In uncooked Feature Level ES2, fixed reflection capture data getting tossed in PostLoad when it is needed for encoding in OnRegister.

Change 3686775 by Marcus.Wassmer

	Fix bad merge

Change 3687022 by Marcus.Wassmer

	Fix Win32 compiles

Change 3687355 by Rolando.Caloca

	DR - Copy 3687334
	Fix for odd Vulkan crash

Change 3687537 by Arne.Schober

	DR - Making StaticArray faster as PSO descriptor uses them intensively (5ms in one infiltrator scene on PS4)
	Rewrote integer sequence to use fewer template instantiations for faster compile times and larger sequence support.

Change 3687546 by Arne.Schober

	DR - Remove unnecessary virtuals and recounts

Change 3688128 by Rolando.Caloca

	DR - Fix Linux compile error, rename Elements macro to GetNumArrayElements

Change 3688140 by Rolando.Caloca

	DR - Linux warning fix

Change 3688190 by Mark.Satterthwaite

	Use the correct #define for determining whether we are compiling for Metal in general, rather that only doing so for Metal + Mobile rendering. Should fix the skin-cache rendering.

	#jira UE-50912

Change 3688689 by Chris.Bunner

	Static analysis fixes.

Change 3688948 by Chris.Bunner

	More static analysis fixes.

Change 3689116 by Arne.Schober

	DR - [UE-51015] - moving alignment specifier

Change 3690645 by Marcus.Wassmer

	Restore per-element align for TStaticArray

Change 3690801 by Jian.Ru

	Marcus's fix FStaticMeshVertexFactories::ReleaseResources
	#jira UE-51093

Change 3690809 by Rolando.Caloca

	DR - Copy 3690806
	Fix Anisotropic not working on Vulkan

Change 3690874 by Benn.Gallagher

	Fix for index buffer overflow and clothing upgrade warnings.

	#jira UE-51026

Change 3691221 by Jian.Ru

	Fix log spam when -d3ddebug
	#jira UE-50977

Change 3691291 by Marcus.Wassmer

	Move global dynamic buffer commits to before GPU FX rendering.
	Fixes d3derror in ES2 preview.  The more subtle issue I believe is that the d3d11statecache is leaving streams bound for too long, but that requires more investigation

	#jira UE-51058

Change 3691361 by Rolando.Caloca

	DR - Fix resources not getting destroyed at RHI destruction time

	#jira UE-51057

Change 3691607 by Arne.Schober

	DR - interface change requested by Steve

Change 3691662 by Marcus.Wassmer

	Fix one bit of d3dwarning.  Need a 16 byte minimum to make 0 stride vbuffer happy for colors.

Change 3692268 by Rolando.Caloca

	DR - vk - Keep a reference to a buffer to avoid deletion - Fixes crash in Paragon

Change 3692403 by Jian.Ru

	Marcus's fix on automation test failure

Change 3692443 by Jian.Ru

	Back out changelist 3692403

Change 3692455 by Marcus.Wassmer

	Fix automation failure in tile rendering.
	Can't setdata for vertexfactories on the gamethread

Change 3692566 by Marcus.Wassmer

	Fix clang compiles

Change 3692664 by Chris.Bunner

	Updated default editor skeletal mesh.

Change 3692675 by Marcus.Wassmer

	Make the behavior of FCanvasTileRendererItem::FRenderData actually match the comment.
	Fixes automation crash.

Change 3692692 by Jian.Ru

	Fix a bug where only the first slice of 3d textures are cleared on XboxOne; Fix a rendering artifact when r.TranslucentLightingVolume is 0
	#jira UE-50636

Change 3693043 by Arne.Schober

	DR - [UE-51173]- Fixing Instanced Rendering Vertexbuffer SRV Resources not getting initzialized and re-set onto the vertexfactory after the Buffer has been updated

Change 3693284 by Marcus.Wassmer

	Duplicate 3682248.
	Fix for debug canvas draw randomly corrupting memory

Change 3693360 by Rolando.Caloca

	DR - Fix material events not showing up in RenderDoc

Change 3693549 by Marcus.Wassmer

	Fix incorrect flag check

Change 3693575 by Arne.Schober

	DR - null size check on StaticMeshVertexData

Change 3693677 by Marcus.Wassmer

	Make double plus sure the copy is a valid size

Change 3694155 by Marcus.Wassmer

	Generate correct strides for vertexfactories depending on whether color will be overridden or not by the component.  Fixes WEX and probably other similar bugs.
	ALSO fix horrible longstanding bug in OpenGL VertexDeclaration cache.  Strides not part of the operator== of the key so collisions/map walks would sometimes return the wrong decl with the wrong set of streamstrides.
	D3D has the same problem, causing spurious D3D warnings but I haven't fixed it yet.

Change 3694156 by Marcus.Wassmer

	This doesn't really matter because the decl is created dynamically but the stream elements might as well be right if we're gonna have them

Change 3694470 by Benn.Gallagher

	Fixed crash fixing up clothing sections index buffers in specific Unreal Tournament asset with modified oversized index buffer.

	#jira UE-51207

Change 3694557 by Chris.Bunner

	Static analysis and potential memory leak fix.

	Change 3684284 by Arne.Schober

	Manual Vfetch for StaticMeshes
	Skelmeshes also use the new Layout
	Skelmeshes use DDC

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

Change 3689555 by Arne.Schober

	DR - Fix performance regession cause by not sharing VertexFactory ptr in the static drawlist

[CL 3694667 by Marcus Wassmer in Main branch]
2017-10-13 11:32:28 -04:00
Marcus Wassmer ede472db17 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113)
#lockdown Nick.Penwarden
#rb none
============================
  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 3629223 by Rolando.Caloca

	DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847

Change 3629708 by Rolando.Caloca

	DR - vk - Redo some changes from DevMobile
	3601439
	3604186
	3606672
	3617383
	3617474
	3617483

Change 3636145 by Chris.Bunner

	Linux compile fix.

Change 3636198 by Chris.Bunner

	Include fix.

Change 3636225 by Daniel.Wright

	Removed spammy draw event

Change 3636397 by Daniel.Wright

	Visualize volumetric lightmaps uses 18% grey in lit mode

Change 3636398 by Daniel.Wright

	Translucency lighting modes work with Volumetric Lightmaps
	* The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher.
	* The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes
	* Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42
	* Volumetric Directional went from 104 up to 122

Change 3636604 by Chris.Bunner

	Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random".

Change 3637668 by Rolando.Caloca

	DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB
	- Fix missing indexing on intrinsic return type

Change 3638541 by Chris.Bunner

	Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters.

Change 3638798 by Mark.Satterthwaite

	Rebuilt hlslcc for Mac for Rolando's 3637668 changes.

Change 3638861 by Mark.Satterthwaite

	Missed making a log verbose in the Metal ring-buffer.

Change 3639482 by Rolando.Caloca

	DR - vk - Minor fixes

Change 3639909 by Michael.Lentine

	Add special case for struct needed to compile.
	Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a.

Change 3639916 by Michael.Lentine

	Spelling fix.

Change 3640053 by Mark.Satterthwaite

	Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts.

	Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases.

	Now only Intel Metal is broken and their problems run deeper.

	#jira UE-48881

Change 3640983 by Olaf.Piesche

	Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime.

	#jira UE-48799

Change 3641480 by Michael.Lentine

	Add min16float to FP16Math

Change 3642442 by Mark.Satterthwaite

	Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders.
	- Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects.
	- Uncompress the shader data for the native library system so that it actually works again.
	- Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus.

	#jira UE-49192

Change 3642919 by Chris.Bunner

	Reverted unintended changes to material static parameter set serialization.
	Bumped material version to force re-serialization.
	Fixed a few typos.

Change 3642923 by Richard.Wallis

	Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on.  Handle tab closed events to cancel the pixel inspector if window closed while running.

	#jira UE-46504

Change 3643296 by Michael.Lentine

	Convert all structures that aren't use globally to halfs.

Change 3643381 by Ryan.Brucks

	New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification.

Change 3643929 by Ben.Salem

	Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible.

	#tests Ran locally, changes validated by benj

Change 3644203 by Mark.Satterthwaite

	Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs.

Change 3644336 by Mark.Satterthwaite

	Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference....

Change 3644431 by Uriel.Doyon

	Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy).
	The default units value for newly placed point lights and spot lights is configured in the project settings.
	Spot lights configured in lumens have their whole luminous energy redirected toward the cone.
	This means that changing the outer cone angle, changes the spot light brightness.
	New exposure menu that uses an EV100 slider.
	New post process settings "camera" tab regrouping : ShutterSpeed, ISO,  Aperture and ExposureCompensation.
	Post process settings "auto exposure" tab renamed "exposure".
	The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab.
	The auto exposure method is renamed "Metering Mode"

	New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color.
	This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats.
	The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value.

Change 3645098 by Marcus.Wassmer

	Don't add meshes twice when in simpleforward

Change 3645551 by Daniel.Wright

	VolumetricScatteringIntensity is greyed out based on Mobility

Change 3645707 by Chris.Bunner

	Skip empty parameters when identifying invalid duplicates during material translation.

Change 3646225 by Uriel.Doyon

	Texture streaming support for particle sub-uv

Change 3646323 by Rolando.Caloca

	DR - vk - Fix bad update texture 2/3d parameters

Change 3646463 by Mark.Satterthwaite

	Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness.
	Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects.

Change 3646727 by Marcus.Wassmer

	fix linux and nonunity compiles

Change 3647777 by Rolando.Caloca

	DR - Mobile Vulkan optimization

Change 3647822 by Lauren.Ridge

	Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions

Change 3647918 by Chris.Bunner

	Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable.

Change 3648010 by Michael.Lentine

	Don't use min16float by default.

Change 3648015 by Michael.Lentine

	Add special case fixes for min16float as well as half on console.

Change 3648024 by Lauren.Ridge

	Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers

Change 3648127 by Lauren.Ridge

	Moving name getter functionality to FMaterialLayersFunctions

Change 3648265 by Lauren.Ridge

	Fixing loctext key

Change 3648293 by Rolando.Caloca

	DR - D3D12 fix

Change 3648326 by Rolando.Caloca

	DR - vk - Added subrectangle support when updating Texture2D and Texture3D

Change 3648522 by Rolando.Caloca

	DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat)

Change 3648612 by Rolando.Caloca

	DR - vk - Implement RHIMapStagingSurface

Change 3648673 by Rolando.Caloca

	DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes

Change 3648913 by Arne.Schober

	DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value.

Change 3649443 by Daniel.Wright

	Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes

Change 3650436 by Mark.Satterthwaite

	Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler.

	- Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>.
	- All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial.
	- Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices.
	- Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards.

Change 3650861 by Rolando.Caloca

	DR - vk - Fix warnings

Change 3651116 by Rolando.Caloca

	DR - vk - Support for compressed saved PSO cache

Change 3651321 by Rolando.Caloca

	DR - vk - Prep for load multiple PSO files

Change 3651337 by Chris.Bunner

	Editor-only default material fallback (hardcoded material).

	#jira UE-48404

Change 3651839 by Rolando.Caloca

	DR - vk - Integrate minor pipeline changes

Change 3652042 by Mark.Satterthwaite

	More work on mtlpp:
	- Selector class that caches IMP from SEL & Class.
	- Fixes to ns::Error.
	- Added test case application for testing denorm & float reinterpret-cast behaviour on Metal.

Change 3652370 by Uriel.Doyon

	New "stat StreamingOverview" giving high level metrics of texture usage.
	New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize".

Change 3653658 by Chris.Bunner

	Material vertex interpolator for sprite and gpu sprite particles.

Change 3653676 by Rolando.Caloca

	DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80%

Change 3653940 by Daniel.Wright

	Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData.  This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times.

Change 3653956 by Daniel.Wright

	Fixed leak of BatchVisibilityId's

Change 3653991 by Daniel.Wright

	Fixed missing include

Change 3654013 by Daniel.Wright

	Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default)

Change 3654018 by Daniel.Wright

	Remove unused SM4 reflection capture cubemap

Change 3654118 by Rolando.Caloca

	DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles

Change 3654339 by Chris.Bunner

	Temporarily disabed a material error whilst working with content teams to fix the introduced bugs.

Change 3654534 by Daniel.Wright

	Editor is only supported on Feature Level 5 platforms.  Added a message box and exit when SM4 is detected (d3d10, OpenGL 3).

Change 3654751 by Rolando.Caloca

	DR - vk - Add readback for RGB10A2; minor optimization

Change 3654940 by Rolando.Caloca

	DR - vk - Warning fix

Change 3655104 by Mark.Satterthwaite

	Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS.

Change 3655173 by Jian.Ru

	Render dithered material as masked if a stencil prepass is not used

	#jira UE-50064, UE-49537

Change 3655479 by Daniel.Wright

	Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting.

Change 3656341 by Richard.Wallis

	Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape).  This is not a fix for that but just a error log to catch the bad draw calls.

	#jira UE-48172

Change 3656844 by Rolando.Caloca

	DR - vk - Avoid microcode copy
	- Fix link error

Change 3656894 by Rolando.Caloca

	DR - vk - Enable api dump without needing validation enabled

Change 3656915 by Marcus.Wassmer

	Fix DX12 buffer lock for read

Change 3657166 by Rolando.Caloca

	DR - vk - Proper fix for api dump layer

Change 3657401 by Rolando.Caloca

	DR - vk - Linux compile fix

Change 3657607 by Rolando.Caloca

	DR - vk - Prep for changes

Change 3658722 by Chris.Bunner

	Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings).

	#jira UE-30086

Change 3659499 by Daniel.Wright

	Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category

Change 3659644 by Mark.Satterthwaite

	D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world.

	#jira  UE-48172

Change 3659831 by Rolando.Caloca

	DR - vk - Copy 3657927 (fixes for Mali)

Change 3661921 by Rolando.Caloca

	DR - vk - Minor log/info changes

Change 3661985 by Mark.Satterthwaite

	Change the Metal sampler filter translation to better match D3D.

Change 3662050 by Richard.Wallis

	Compile fix for Metal enums.

Change 3662062 by Rolando.Caloca

	DR - Copy from 3662060
	- OpenGL cloth fix

Change 3662100 by Mark.Satterthwaite

	Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm.

Change 3662253 by Daniel.Wright

	Reflection Captures support Lighting Scenarios without recapturing
	 * Reflection Captures are now part of the Map Build
	 * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message)
	 * Reflection Capture build data moved to the BuildData package
	 * Building lighting / reflection captures no longer dirties ULevels
	* Sky lights which capture the scene now work correctly with Lighting Scenarios
	* Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded)

Change 3663215 by Mark.Satterthwaite

	Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler.
	So far only macOS render-pipeline-states are supported currently.

Change 3663293 by Mark.Satterthwaite

	Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's.

Change 3663471 by Daniel.Wright

	Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh
	Fixed status updates during Reflection Capture Build
	Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully

Change 3664056 by Rolando.Caloca

	DR - Linux compile fix

Change 3664460 by Daniel.Wright

	Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load

Change 3664802 by Uriel.Doyon

	Fixed flash created by pre-exposure when the value changed dramatically between frames

Change 3664890 by Daniel.Wright

	Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs

Change 3665163 by Rolando.Caloca

	DR - Copy from 3665156
	- Gracefully fail when there are mem leaks exiting Vulkan

Change 3665629 by Daniel.Wright

	Only Surface domain materials cast shadows in Lightmass

Change 3665855 by Marcus.Wassmer

	PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0)

Change 3666707 by Guillaume.Abadie

	Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions.

Change 3667239 by Rolando.Caloca

	DR - Use hlslcc define for common issues

Change 3668108 by Brian.Karis

	Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well.

Change 3668157 by Mark.Satterthwaite

	In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent.

	These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI.

	The following HLSL 6 functions are implemented:
	WaveAllBitAnd
	WaveAllMax
	WaveAllMin
	WaveAllBitOr
	WaveAllBitXor
	WaveAllEqual
	WaveAllProduct
	WaveAllSum
	WaveAllTrue
	WaveAnyTrue
	WaveBallot
	WaveGetLaneCount
	WaveGetLaneIndex
	WaveOnce
	WavePrefixProduct
	WavePrefixSum
	WaveReadFirstLane
	WaveReadLaneAt

	The following can't be implemented in Metal as of Metal 2.0 AFAIK:
	WaveGetOrderedIndex
	WaveIsHelperLane
	GlobalOrderedCountIncrement
	QuadReadLaneAt
	QuadSwapX
	QuadSwapY

Change 3668260 by Olaf.Piesche

	Cache particle collision shaders regardless of simple forward state

	Missed this checkin

	#jira FORT-51307

Change 3669243 by Daniel.Wright

	Bumped shader version to propagate FReflectionCaptureData rename

Change 3669369 by Mark.Satterthwaite

	Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering)

	3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog.

	#jira UE-50293

	3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug.
	- On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers.
	- In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log.
	- Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation.

	#jira UE-50244

	3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself.
	#jira UE-50356

	3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work.

	#jira UE-50364

	3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect.
	#jira UE-50399

	3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems.
	#jira UE-50399

Change 3669912 by Mark.Satterthwaite

	Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes.

	Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781
	Fixed an extra ) being emitted during HLSL->Metal translation
	Added depthcube_array support per Mark's instructions

Change 3670308 by Mark.Satterthwaite

	Missing autorelease pool blocks in MetalTexture functions.

Change 3670989 by Mark.Satterthwaite

	Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane.

	Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here.

	#jira UE-50518

Change 3671014 by Mark.Satterthwaite

	Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean.

Change 3671575 by Rolando.Caloca

	DR - Copy 3668036
	Stop syncing CPU with GPU on Vulkan

Change 3671637 by Rolando.Caloca

	DR - Copy 3670937
	Fixes Vulkan editor outline

Change 3672309 by Mark.Satterthwaite

	Submitted on behalf of Richard Wallis:

	Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled.

	#jira UE-50134

Change 3672314 by Daniel.Wright

	User friendly message dialog for when a required key is missing from BaseLightmass.ini

Change 3672315 by Daniel.Wright

	Assert on load when a uniform buffer struct goes missing, instead of a crash on save

Change 3672476 by Chris.Bunner

	Removed duplicate material instance editor command binding that appeared in a task stream merge.

Change 3672626 by Mark.Satterthwaite

	Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here.

Change 3672643 by Mark.Satterthwaite

	iOS compilation fixes.

Change 3672728 by Daniel.Wright

	Fixed encoded HDR reflection captures

Change 3672753 by Jian.Ru

	Fix texture swimming
	#jira UE-49369

Change 3672815 by Daniel.Wright

	Tooltip for build button explaining why it might be disabled

Change 3673350 by Rolando.Caloca

	DR - vk - Do not reallocate memory every draw call

Change 3673501 by Rolando.Caloca

	DR - vk - Remove more reallocations

Change 3673505 by Rolando.Caloca

	DR - Remove global variable with semantic

Change 3673514 by Rolando.Caloca

	DR - vk - compile fix

Change 3675899 by Chris.Bunner

	Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform.

Change 3676843 by Arne.Schober

	DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop.

Change 3678269 by Daniel.Wright

	Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking

Change 3678543 by Daniel.Wright

	MapBuildData now tosses the unneeded reflection capture format on load.  Affects target platforms that require multiple formats at cook time.

Change 3679602 by Jian.Ru

	Fix up mesh decal shader complexity view mode
	#jira UE-50272

Change 3679959 by Chris.Bunner

	Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter.

	#jira UE-50712

Change 3679998 by Daniel.Wright

	Fixed crash when precomputing static visibility only

[CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
Chris Bunner 156d74fdd3 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3635055)
#lockdown Nick.Penwarden

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

Change 3503468 by Marcus.Wassmer

	Fix merge conflicts

Change 3537059 by Ben.Marsh

	Fixing case of iOS directories, pt1

Change 3537060 by Ben.Marsh

	Fixing case of iOS directories, pt2

Change 3608300 by Chris.Bunner

	Added post process material to preview compile cache set to allow post process volume preview scene improvements.

Change 3608302 by Chris.Bunner

	Fixed decal lifetime fading.

	#jira UE-48400

Change 3608303 by Chris.Bunner

	Updated default WritesAllPixels input to ignore dithering (as intended, was disabled due to isues at the time).
	Fixed material instances returning their local data when not overridden.

	#jira UE-48254

Change 3608455 by Mark.Satterthwaite

	Enabling WorldPositionOffset requires disabling fast-math on Metal because the manually specified FMA's are not respected if one or more arguments is a literal which then leads to very different compiler optimisation between the depth-only shader and the base-pass shader. This change will only affect the way Metal compiles shaders.

	#jira UE-47372

Change 3608462 by Rolando.Caloca

	DR - Cloth vertex buffers no longer generate dummy vertices
	Copy from 3608349 and 3608407

Change 3608491 by Rolando.Caloca

	DR - hlsl - Fix crash when type was not found

Change 3608513 by Rolando.Caloca

	DR - Default to real uniform buffers for Vulkan SM4 & SM5

Change 3608794 by Mark.Satterthwaite

	Implement SV_DepthLessEqual (maybe right?) for Metal - seems to work in the ParallaxOcclusionMapping test map.

	#jira UE-47614

Change 3608929 by Mark.Satterthwaite

	Fix ambiguous expression compile error.

Change 3608991 by Mark.Satterthwaite

	Fix a dumb bug when parsing the Metal compiler version that breaks Metal shader PCH generation on HFS+ volumes.

Change 3609090 by Uriel.Doyon

	StaticMeshComponent and LandscapeComponent now register AO material mask and sky occlusion texture in the texture streamer.
	Changing the current lighting scenario now triggers an update of the texture streamer, and a refresh of lighting data for instanced static meshes.
	Added an option to the "liststreamingtextures" named UNKOWNREF allowing to inspect texture without references in the texture streamer.
	BUILDMATERIALTEXTURESTREAMINGDATA now rebuild every shader in memory and mark for save those with different data.
	MipBias now behaves the same way in shipping than in other builds.
	Fixed texture resolution logic for editor tooltips and in game stats.

Change 3609659 by Richard.Wallis

	Remove Eye Adaption Pixel Shader Workaround for macOS 10.11 (El Cap) Nividia.
	#jira UE-48642

Change 3610552 by Mark.Satterthwaite

	Optimise the constant-propagation pass in hlslcc by using a hash-table to reduce the cost of looking up the existing constant assignment instructions. The get_assignment_entry drops from 25% of runtime to 2.2% of runtime on a 4.2Ghz Quad i7 2017 iMac.

Change 3610662 by Rolando.Caloca

	DR - hlsl - Fix for rwstructured buffer
	Fix for floats printed as ints

Change 3610830 by Michael.Lentine

	ByteAddressBuffer does not have a subtype.

Change 3610869 by Rolando.Caloca

	DR - hlsl - Fix disambiguation between 1.r and 1.0.r

Change 3610982 by Mark.Satterthwaite

	Use the correct code to dump Metal shader text for debugging at runtime.

Change 3610996 by Rolando.Caloca

	DR - hlsl - Actual fix for 0.r

Change 3611312 by Rolando.Caloca

	DR - Integrate: Improve performance of bokeh depth of field.
	* Fewer instances with more work (higher quad count) per instance.
	* Improves performance on RX 480 in the Infiltrator demo by 0.37 ms at 1080p and 0.50 ms at 1440p (average frame time over the beginning of the demo, including the hallway confrontation between the guard and the infiltrator, where heavy DOF is used).
	* Similar optimizations may be possible for other systems that perform similar "instanced draws of quads" (e.g. virtual texture page table updates, lens blur, and velocity scatter).

Change 3611345 by Mark.Satterthwaite

	Missed the hash-table destructor in previous change.

Change 3611372 by Rolando.Caloca

	DR - vk - New barrier/layout api

Change 3611445 by Mark.Satterthwaite

	Fix stupid bugs in MetalBackend's LoadRWBuffer helper function where the wrong type was being used - won't fix problems in the LinearTexture case though.

Change 3611686 by Mark.Satterthwaite

	Remove the sampler from the Metal Linear Texture SRV path as for reasons so far unknown it doesn?╟╓t work with the light grid culling.

	#jira UE-48881

Change 3611743 by Mark.Satterthwaite

	Implement early depth test for Metal - it is implemented such that manual specification of the SV_Depth* outputs will elide the early_fragment_test qualifier as Metal does not permit both at present.

Change 3611746 by Mark.Satterthwaite

	Use early fragment tests implicitly unless we perform a direct resource write or use discard - explicit depth writes always disable early fragment tests as Metal doesn?╟╓t allow both. This should better match D3D driver behaviour.

Change 3611756 by Mark.Satterthwaite

	Missed a header file in last commit.

Change 3611836 by Mark.Satterthwaite

	Fixed the use of Metal?╟╓s capture manager so that it doesn?╟╓t capture more frames than intended.

Change 3611843 by Mark.Satterthwaite

	Tidy up the handling of when to increment the frame count for the Metal capture manager.

Change 3612279 by Michael.Lentine

	Move FP16 Math to Public so that it can be included as part of platform which is where the other float/half defines happen.

Change 3612595 by Rolando.Caloca

	DR - hlslcc - Rebuilt with CL 3611345

Change 3612665 by Rolando.Caloca

	DR - Make cubemap mip barrier consistent with HZB mip barriers

Change 3612758 by Daniel.Wright

	FColor usage comment

Change 3612980 by Rolando.Caloca

	DR - hlsl - Do not overflow ints

Change 3613068 by Rolando.Caloca

	DR - vk - Initial fix for transition validation warnings

Change 3613115 by Daniel.Wright

	Volumetric lightmap voxels are now always cubes
	Bricks outside of any Lightmass Importance Volume will never be refined

Change 3613124 by zachary.wilson

	Enabling Eye-Adaptation in TM-ShaderModels.

Change 3613205 by Mark.Satterthwaite

	Fully disable linear textures in Metal - they simply aren't performant. Instead we'll have to use helper functions to dynamically type-cast appropriately within the shader. This is currently only configured for a handful of UAV types and will need to be extended.

Change 3613208 by Mark.Satterthwaite

	Add code to MetalBackend to promote half types to float for math operations to avoid compiler errors.

Change 3613354 by zachary.wilson

	Fixing up the Bloom_FFT map. Renaming to fit qa conventions, updating content and improving workflow.

Change 3613409 by Rolando.Caloca

	DR - vk - Layout as part of descriptor writes
	Some access flag warning fixes

Change 3613518 by Daniel.Wright

	Added 'Render Unbuilt Preview Shadows in game' rendering project setting and r.Shadow.UnbuiltPreviewInGame cvar

Change 3613610 by Daniel.Wright

	Volumetric lightmap visualization sphere size is now a fraction of the corresponding brick world size

Change 3613651 by Daniel.Wright

	[Copy] Fixed landscape in the Global Distance field on PS4.  Multiple updates to a vertex buffer using BUF_Dynamic cause a race condition on PS4 with no assert.
	Also added shrinking for GDistanceFieldUploadData which saved 15Mb.

Change 3613696 by Mark.Satterthwaite

	Add the Metal SRV format for Index buffers so that they can be properly type-cast inside the shader. Fixes recompute tangents with latest changes.

Change 3613697 by Rolando.Caloca

	DR - vk - Fix missing layout

Change 3613922 by Rolando.Caloca

	DR - vk - Some fixes for layout/transitions
	- Disable GSupportsDepthFetchDuringDepthTest on desktop as the deferred renderer is not copying the aux depth in the right spot and will be removed

Change 3614009 by Mark.Satterthwaite

	TPS Approved: Integrating the MIT-licensed mtlpp C++ Metal wrapper from Nikolay Aleksiev which will slowly replace previous Metal API wrappers in MetalRHI.

Change 3614015 by Mark.Satterthwaite

	Initial extensions to mtlpp:
	- Fixed over retention of alloc-init'd objects.
	- Added 10_13 & 11_0 availablity macros.
	- Started, but have not yet finished adding new Metal API function wrappers.

Change 3614909 by Rolando.Caloca

	DR - Fix static analysis

Change 3614916 by Michael.Lentine

	Add function to convert FP32 to FP16

Change 3614957 by Mark.Satterthwaite

	mtlpp declarations for macOS 10.13 & iOS 11 Metal features - no matching definitions yet.

Change 3614995 by Mark.Satterthwaite

	Revert all changes to project config's from Rhino that should not have come back to Dev-Rendering, keeping only the solitary change to Metal shader standard necessary for ShowdownDemo.

Change 3615035 by Rolando.Caloca

	DR - Generate mips using shader for HZB

Change 3615561 by Rolando.Caloca

	DR - Fix deprecation warning

Change 3615787 by Mark.Satterthwaite

	Only emit min. OS version specification into the Metal shader bytecode for macOS as we share shaders between iOS & tvOS and this option inhibts that.

	#jira UE-48919

Change 3616317 by Mark.Satterthwaite

	Make TonemapperConfBitmaskPC  the proper size so we dn't attempt to access uninitialized memory.

Change 3616357 by Mark.Satterthwaite

	And fix some compile errors...

Change 3616473 by Rolando.Caloca

	DR - Render pass api minor changes

Change 3616518 by Mark.Satterthwaite

	Fix a merge snafu where dead code was retained where it shouldn't be.

	#jira UE-48472

Change 3616706 by Rolando.Caloca

	DR - Vulkan fixes (integration from Vulkan working branch)
	- Fix for editor outline
	- Fix for profilegpu

Change 3616770 by Rolando.Caloca

	DR - vk - Mark GIsGPUCrashed on device lost

Change 3616993 by Daniel.Wright

	IndirectLightingCacheQuality respects VolumetricLightingMethod

Change 3616996 by Daniel.Wright

	Volumetric Lightmap show flag is respected by Volumetric Fog

Change 3616999 by Daniel.Wright

	Fixed ObjectRadius in Volume domain materials

Change 3617777 by Rolando.Caloca

	DR - Fix static analysis warning

Change 3617863 by Guillaume.Abadie

	PR #3875: Removed Duplicated "RHI" Module Dependency (Contributed by DavidNSilva)

	#jira UE-48159

Change 3618133 by Rolando.Caloca

	DR - vk - Set general layout for compute shader resources
	- Assume transitions to writable imply end render pass

Change 3618292 by Michael.Lentine

	Add support for Expressions, Jump Statments, and Structs.

Change 3618326 by Rolando.Caloca

	DR - vk - Fix transition flags

Change 3618408 by Daniel.Wright

	Lightmass skylight solver improvements
	* Lightmass uses a filtered cubemap to represent the skylight instead of a 3rd order Spherical Harmonic.  Directionality in shadowed areas is improved.  Mip level is chosen based on the ray differential for anti-aliasing.
	* Multiple skylight and emissive bounces are now supported with a radiosity solver, controlled by NumSkyLightingBounces in Lightmass WorldSettings.  More bounces results in longer build times, and the radiosity time is not distributable.
	* The mapping surface cache is now rasterized with supersampling, reduces incorrect darkness in corners
	* Combined direct lighting, photon irradiance, skylight radiosity and diffuse in the mapping surface cache so final gather rays only have to do one memory fetch, speeds up lighting builds by 7%.
	* Added support for Embree packet tracing although no solver algorithms use it yet

Change 3618413 by Daniel.Wright

	Swarm hands out the most expensive tasks in roughly a round robin ordering among distribution agents.  Lightmass processing of a single task is multithreaded, so ideally the most expensive tasks are evenly distributed among active agents.  This has the biggest impact in small scenes with 10's of high resolution lightmaps, and with a distribution farm.  Build time in one scene went from to 113s -> 47s.

Change 3618439 by Mark.Satterthwaite

	Fix the assert in hlslcc when we have saturate(int) and the shader language spec. supports a native saturate intrinsic.

Change 3618468 by Rolando.Caloca

	DR - vk - Fix copy to non render target surface

Change 3618696 by Daniel.Wright

	Worked around Lightmass crash callstacks not getting reported back to the editor

Change 3618779 by Mark.Satterthwaite

	mtlpp definitions for a few of the new calls & fixing the max. number of samplers it assumes.

Change 3618789 by Daniel.Wright

	Added missing file

Change 3618816 by Daniel.Wright

	Another missing file

Change 3618855 by Rolando.Caloca

	DR - vk - Show user debug markers when using dump layers
	- Remove old defines

Change 3618887 by Rolando.Caloca

	DR - Fix for missing transition to readable for blur widget. Was causing corruption on Vulkan.

Change 3618999 by Mark.Satterthwaite

	Definitions for Metal's new CaptureManager & CaptureScope classes.

Change 3619790 by Jian.Ru

	Add some debug info
	#jira UE-48710

Change 3619834 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3619952 by Rolando.Caloca

	DR - vk - Static analysis not smart enough...

Change 3620191 by Jian.Ru

	Revert 3584245 to prevent focus stealing
	#jira UE-49044

Change 3620402 by Mark.Satterthwaite

	Remaining Metal definitions for mtlpp.

Change 3620803 by Brian.Karis

	Removed faceting bug I introduced to Dither Opacity Mask. Removes the attempt to make opacity stack properly.

Change 3620904 by Michael.Lentine

	Change the order of static and const

Change 3620975 by Rolando.Caloca

	DR - Updated Vulkan headers to SDK 1.0.57.0

Change 3621026 by Rolando.Caloca

	DR - Remove unused type
	- Force recompile with new Vulkan headers

Change 3621070 by Rolando.Caloca

	DR - glslang - Fix pdb option

Change 3621157 by Arciel.Rekman

	Added files to cross-build glslang on Windows.

	(Edigrating //UE4/Main/...@3621127 to //UE4/Dev-Rendering/...)

Change 3621194 by Rolando.Caloca

	DR - glslang - Update to 1.0.57.0
	- Fix some tab/whitespace mismatch

Change 3621225 by Rolando.Caloca

	DR - Revert glslang (Back out changelist 3621194)

Change 3621254 by Mark.Satterthwaite

	Duplicate 3610656 and revert the incorrect merge from the Rhino task stream. Fixes EyeAdaptation on all clang platforms properly thanks to RCL.

Change 3621261 by Mark.Satterthwaite

	Trivial FMetalStateCache optimisations - won't help much but equally they shouldn't hurt.

Change 3621262 by Mark.Satterthwaite

	Correct the handling of MSAA target in Desktop Forward for iOS - now the problem is that iOS always creates an internal resolve target so which texture to bind depends on the shader parameter type. Not sure (yet) how best to solve that.

Change 3621263 by Mark.Satterthwaite

	Don't mandate Mobile Metal for projects that have Metal MRT enabled.

Change 3621301 by Rolando.Caloca

	DR - Unity build fix

Change 3621349 by Mark.Satterthwaite

	Fix a bug in MetalBackend that was omitting the depth-output variable from the hlslcc signature if the semantic was SV_DepthLessEqual rather than SV_Depth.

Change 3621546 by Uriel.Doyon

	Refactor of the texture 2D mip update logic to offload more work on the async thread.
	#jira UE-45332
	#jira UE-45789

Change 3622210 by Rolando.Caloca

	DR - Do not store DDC data if static mesh failed to build
	#jira UE-48358

Change 3622349 by Arciel.Rekman

	Better build script for Linux glslang and a bugfix.

	(Edigrating CL 3622235 from //UE4/Main/... to //UE4/Dev-Rendering/...)

Change 3622401 by Rolando.Caloca

	DR - vk - Integration
	- Support for r.Vulkan.ProfileCmdBuffers

Change 3622506 by Rolando.Caloca

	DR - vk - Back out changelist 3622401

Change 3622521 by Mark.Satterthwaite

	Support disabling V-Sync in MetalRHI on macOS 10.13+.

Change 3622910 by Rolando.Caloca

	DR - static analysis fix

Change 3622964 by Mark.Satterthwaite

	Fix generation of .metallib on local Macs and exclude .metallib files from the pak - they must always be loaded from disk.

	#jira UE-48193

Change 3622986 by Mark.Satterthwaite

	A couple more trivial optimisations to MetalRHI for iOS:
	- Metal page size is 4k but only buffers under 512 bytes should go through set*Bytes on iOS to balance CPU cost.
	- On iOS the minimum buffer size should therefore be 1k and on Mac 4k as nothing else makes much sense.
	- No need to rebind uniform buffers if to the same slot - it just wastes cycles.

Change 3623266 by Rolando.Caloca

	DR - Fix GL4 rendering

	#jira UE-49187

Change 3623377 by Daniel.Wright

	Volume materials applied to static meshes operate on the object's bounding sphere

Change 3623427 by Mark.Satterthwaite

	Fix MetalViewport compile errors on Xode 8.3.

	#jira UE-49231

Change 3623443 by Daniel.Wright

	Fixed out of bounds crash in lightmass

Change 3623751 by Daniel.Wright

	Volume materials on static meshes now voxelize the mesh's Object space bounding box

Change 3625142 by Guillaume.Abadie

	PR #2992: Fixing aspect ratio issue of SceneCapture2D rendering in "Ortho" camera mode (Contributed by monsieurgustav)


Change 3625983 by Jian.Ru

	Fix a LPV race condtion due to parallel RSM draw-call submission
	#jira UE-48247

Change 3626015 by Jian.Ru

	Small fix to 3625983

Change 3626294 by Michael.Trepka

	Copy of CL 3535792 and 3576637

	Added support for changing monitor's display mode on Mac in fullscreen mode. This greatly improves performance on Retina screens when playing in resolutions lower than native.

	Fixed a problem with incorrect viewport size being set in windowed fullscreen in some cases. Also, slightly improved screen fades for fullscreen mode transitions on Mac.

	#jira UE-48018

Change 3626532 by Marcus.Wassmer

	Fix divide by 0 crash when GPU timing frequency not available for whatever reason.

Change 3626548 by Ryan.Brucks

	KismetRenderingLibrary: Added EditorOnly function for creating static textures from Render Targets. Has options for Mip and Compression Settings

Change 3626874 by Mark.Satterthwaite

	Fix Metal 2.0 compilation.

Change 3626997 by Rolando.Caloca

	DR - vk - cis fix
	- Initial RGBA16 readback

Change 3627016 by Mark.Satterthwaite

	Workaround more of Metal's unfortunate tendency to re-associate float mul/add/sub operations - this time from Metal's own standard-library.

Change 3627040 by Brian.Karis

	Removed old rasterized deferred reflection env path.
	Removed reflection compute shader. Replaced with PS. Small perf gain.

Change 3627055 by Mark.Satterthwaite

	No MSAA support on Intel Metal or iOS Desktop Forward for the moment as neitehr work and I don't want to have lots of crashes out in the wild until we have a solution.

Change 3627057 by Mark.Satterthwaite

	Make SCW's directcompile not fall over with Metal when there are compilation errors.

Change 3627083 by Mark.Satterthwaite

	Invalidate Metal shaders so QA testing picks up the most recent changes.

Change 3627788 by Chris.Bunner

	[Duplicate, CL 3627751] - VisibleExpressions static switch value evaluation needs to handle reroute nodes rather than only verify first expression.

Change 3627834 by Rolando.Caloca

	DR - cis fix

Change 3627847 by Rolando.Caloca

	DR - 4th try to fix static analysis

Change 3627877 by Guillaume.Abadie

	Works arround a HLSLCC bug in a SimpleComposure project's material where x != x does not work for an unknown reason yet.

	#jira UE-48063

Change 3628035 by Marcus.Wassmer

	Duplicate 3620990
	Smarter scenecapture allocation behavior.

Change 3628204 by Daniel.Wright

	Fixed denormalization scale on one of the 2nd SH band of volumetric lightmaps

Change 3628217 by Mark.Satterthwaite

	Fix InfiltratorForward project defaults so that iOS will package.

Change 3628515 by Arne.Schober

	DR - [UE-49213] - Fix case where HZB was not generated for SSR and SSAO when Occlusion culling was disabled.
	#RB Marcus.Wassmer

Change 3628550 by Chris.Bunner

	Merge fixes.

Change 3628597 by Chris.Bunner

	Merge fixes.

Change 3628656 by Michael.Trepka

	One more workaround for a bug in StandardPlatformString.cpp. It doesn't handle %lf format correctly, parsing it as long double instead of ignoring the 'l' format sub-specifier.

Change 3628685 by Daniel.Wright

	CPU interpolation of Volumetric Lightmaps for the mobile renderer.  They use a scene cache based on interpolation position, since the precomputed lighting buffer for movable objects is recreated every frame.

Change 3629094 by Ryan.Brucks

	Fixes to RenderTargetCreateStaticTexture2DEditorOnly with additional error checks

	#RB none

Change 3629223 by Rolando.Caloca

	DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847

Change 3629491 by Rolando.Caloca

	DR - Revert back to emulated uniform buffers on SM4/SM5

Change 3629663 by Daniel.Wright

	Fixed NaN when capsule shadow direction is derived from volumetric lightmap with completely black lighting

Change 3629664 by Daniel.Wright

	Don't render dynamic indirect occlusion from mesh distance fields when operating on a movable skylight, since DFAO fills that role

Change 3629708 by Rolando.Caloca

	DR - vk - Redo some changes from DevMobile
	3601439
	3604186
	3606672
	3617383
	3617474
	3617483

Change 3629770 by Mark.Satterthwaite

	Fix a mobile Metal shader compilation error when using the FMA workaround for "cross" which should only be applied if the min. Metal version is 1.2 (as FMA is not known to work prior to this).

Change 3629793 by Daniel.Wright

	Fixed VolumetricLightmapDetailCellSize not being respected in small levels, causing too much volumetric lightmap density and memory

Change 3629859 by Mark.Satterthwaite

	macOS 10.12 also had problems with MSAA in forward rendering - so only permit it to work on macOS 10.13 and above.

Change 3630790 by Mark.Satterthwaite

	Move RHISupportsMSAA so that the Metal related complications for when it is viable can be hidden within.

Change 3630990 by Rolando.Caloca

	DR - vk - Redid CL 3617437 (optimize number of Buffer Views, eg 165 to 58)

Change 3631071 by Mark.Satterthwaite

	Fix a small gotcha in a change from Dev-Mobile: for MetalRHI we need to explicitly configure the ShaderCacheContext for the immediate/device context after initialising the shader-cache.
	#jira UE-49431

Change 3631076 by Rolando.Caloca

	DR - vk - Redo 3617574, reduce number of render pass objects created

Change 3631250 by Mark.Satterthwaite

	Make another Metal warning a Verbose log instead as it isn't interesting unless you are me.

Change 3631911 by Chris.Bunner

	Back out changelist 3628035.

	#jira UE-49364, UE-49365

Change 3632041 by Mark.Satterthwaite

	Fix cloth rendering on Metal - some of the data in FClothVertex is uint but we load it from a float buffer. This could be due to a bug in Metal's as_type<uint4>() or it could be that Xcode 9's compiler is now finally enforcing Metal's official flush-to-zero-on-load semantics for denorms - it isn't immediately obvious.

	#jira UE-49439

Change 3632261 by Brian.Karis

	SM4 fallback for reflection captures.

Change 3632281 by Mark.Satterthwaite

	Fix an intermittent assert on startup when the AVFoundation movie player gets the QAGame TM-ShaderModels video ready to play prior to the rendering thread being back online when resizing the window. This is done by deferring the processing of AVFoundation events to the game-thread where it won't cause a threading violation.

Change 3632382 by Rolando.Caloca

	DR - vk - Fix clang warning

Change 3633338 by Chris.Bunner

	Static analysis/Linux compile fix.

	#jira UE-49502

Change 3633616 by Jian.Ru

	Force alpha to 0xff for functional UI screenshot tests
	#jira UE-48266

Change 3633818 by Daniel.Wright

	Better indirection texture clamping and asserts

Change 3634319 by Mark.Satterthwaite

	Stop FVolumetricLightmapDataLayer ::Discard which is invoked by the Editor RHI during texture-upload from chucking the backing data when in the Editor - because if we do that then cooking will serialise an empty array. This was only apparent on Mac because Metal always invokes Discard on BulkDataInterfaces and D3D11 never does.

	#jira UE-49381

Change 3634613 by Rolando.Caloca

	DR - Call discard on bulk data for textures

	#jira UE-49533

Change 3634654 by Mark.Satterthwaite

	Fixes for broken iOS builds:
	- Fix RHIGetShaderLanguageVersion returning the wrong version for iOS Metal if the Mac version had already been queried - this has been wrong for a long while.
	- Remove the precise:: qualifier for Metal's fma intrinsic - it isn't necessary and breaks on older OSes.

	#jira UE-49381

Change 3634820 by Mark.Satterthwaite

	Change the hash-function for the preprocessed HLSL source in FMetalShaderOutputCooker to reduce risk of hash-collisions. Fixes one cause of UE-49381 and reveals an underlying driver bug on iOS 9 with runtime-compiled text shaders *only*.

	#jira UE-49381

Change 3634821 by Mark.Satterthwaite

	Force Metal shaders only to recompile by incrementing the format version.

[CL 3635058 by Chris Bunner in Main branch]
2017-09-09 16:29:11 -04: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
Ben Marsh 997ef15941 Merging //UE4/Release-4.17 @ CL 3573198 to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira

[CL 3575359 by Ben Marsh in Staging-4.17 branch]
2017-08-07 15:12:17 -04:00
Ben Marsh 29893e6b28 Merging //UE4/Dev-Main to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira

[CL 3549001 by Ben Marsh in Staging-4.17 branch]
2017-07-21 17:56:56 -04:00
Ben Marsh f86325bfa7 Merging //UE4/Release-4.17 @ CL 3528061 to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira UE-123

[CL 3535468 by Ben Marsh in Staging-4.17 branch]
2017-07-13 10:13:07 -04:00
Ori Cohen 25ae9b5661 Copying //UE4/Dev-AnimPhys to Dev-Main (//UE4/Dev-Main)
(will update this soon)

#lockdown Nick.Penwarden
#rb none

[CL 3502661 by Ori Cohen in Main branch]
2017-06-21 10:25:35 -04:00