Commit Graph

24 Commits

Author SHA1 Message Date
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
mark lintott
11a12136ce #jira UE-111647
#rb johan.torp
GetLinkerUE4Version renamed to GetLinkerUEVersion

#ROBOMERGE-SOURCE: CL 15859222 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15859586 by mark lintott in ue5-main branch]
2021-03-30 06:44:49 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Ben Ingram
6e07215e03 #jira UE-88635
- Remove various UMaterialExpression::NeedsLoadForClient() impl, and instead always return true for UMaterialExpression::IsEditorOnly(), as we no longer want any expressions in non-editor build
- MaterialCachedData checks for nullptr expressions, and avoids updating if any are encountered...this fixes crash with editor loading cooked/non-editor data
#rb none

[CL 11400099 by Ben Ingram in Main branch]
2020-02-12 17:14:46 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
Rolando Caloca
aa0d2303d6 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) @ 6944469
#rb none
#rnx

[CL 6944849 by Rolando Caloca in Main branch]
2019-06-11 18:27:07 -04:00
Marcus Wassmer
cbfcbbb93b Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
Should be just copyright updates

[CL 4680440 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:16:26 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Marc Audy
af90b7bcd4 Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main) @ 4395008
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4395058 by Marc Audy in Main branch]
2018-09-25 10:11:35 -04:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
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
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

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

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

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

Change 3122543 on 2016/09/13 by Ben.Woodhouse

	Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.

	#jira UE-35878

Change 3122544 on 2016/09/13 by Ben.Woodhouse

	Shadow stencil optimisation with cvar (enabled by default)

	Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.

	This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)

	Shadow projection GPU time profiling :
	Test map with 35 characters, stationary directional light
	  - 4ms-2ms on XB1
	  - 2.5ms to 0.9ms on PC (r9-390X)
	  - 3ms-2ms on PS4

	Paragon PS4 (roughly 20% reduced - from ~0.39ms)

Change 3122687 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix ES31 crash

Change 3122691 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fixes for SDK 1.0.26.0

Change 3122778 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix number of layers on barrier

Change 3122921 on 2016/09/13 by Rolando.Caloca

	DR - vk - Fix ES3.1

Change 3122925 on 2016/09/13 by Ben.Woodhouse

	Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
	#jira UE-35904

Change 3123016 on 2016/09/13 by Chris.Bunner

	Fixed adaptive tessellation, broken by CL 3089208 refactor.
	#jira UE-35341

Change 3123079 on 2016/09/13 by Rolando.Caloca

	DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)

Change 3123503 on 2016/09/13 by David.Hill

	#jira UE-25623
	converted a check() to checkf() to include better diagnostic information.

Change 3123617 on 2016/09/13 by Guillaume.Abadie

	Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.

	#jira UE-35128

Change 3123743 on 2016/09/13 by Brian.Karis

	Separate mesh reduction interfaces for static and skeletal.

	Zero bad tangents from input mesh.

Change 3125378 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.

Change 3125527 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix UT build and mac

Change 3125741 on 2016/09/14 by Rolando.Caloca

	DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)

Change 3125763 on 2016/09/14 by Rolando.Caloca

	DR - vk - Added new Renderpass cache
	- Fix buffer barrier warning

Change 3125769 on 2016/09/14 by Rolando.Caloca

	DR - Renamed cvar to r.DumpSCWQueuedJobs

Change 3125771 on 2016/09/14 by Rolando.Caloca

	DR - Added support for SV_ClipDistance on GL3 & 4

Change 3125792 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix Odin and PS4

Change 3125880 on 2016/09/14 by Arne.Schober

	DR - [UE-34481] - Fix Fortnite

Change 3125968 on 2016/09/14 by Brian.Karis

	Removed comment

Change 3126315 on 2016/09/15 by Ben.Woodhouse

	GPU profiler robustness
	-  Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
	- Simplify gathering logic
	- Fix race condition where we could read back queries before they're submitted on the RHI thread.
	- Fix for movie player stat gathering - disable gathering outside of the main engine tick
	#jira UE-35975

Change 3126792 on 2016/09/15 by Rolando.Caloca

	DR - vk - Release render pass cache

Change 3126804 on 2016/09/15 by Rolando.Caloca

	DR - vk - Fix UpdateTexture2D()
	#jira UE-34151

Change 3126884 on 2016/09/15 by Rolando.Caloca

	DR - vk - Compile fix

Change 3126953 on 2016/09/15 by Rolando.Caloca

	DR - Enable GPU capture when running OpenGL under RenderDoc
	- Will also set the memory mode to non coherent so not to kill performance on RenderDoc

Change 3126966 on 2016/09/15 by Rolando.Caloca

	DR - Allow cooking for Vulkan SM4 to help with packaging

Change 3127082 on 2016/09/15 by Guillaume.Abadie

	Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.

	#jira UE-35367, UE-33602, UE-33603, UE-33604
	#review-3125887 @brian.karis

Change 3127130 on 2016/09/15 by Mark.Satterthwaite

	Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
	#jira FORT-25869
	#jira UE-34263

Change 3127475 on 2016/09/15 by Rolando.Caloca

	DR - vk - Debug dump

Change 3128131 on 2016/09/16 by Ben.Woodhouse

	(Integrated from //UE4/Private-Partner-NREAL/...)

	Alpha output support for postprocess materials (optional via a parameter)

	Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)

Change 3128135 on 2016/09/16 by Ben.Woodhouse

	GPU profiler (PS4) - remove bubbles between commandlist submissions from query times

	Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)

	Also fixes some potential precision issues with unit GPU timing

Change 3128247 on 2016/09/16 by Rolando.Caloca

	DR - vk - Cache framebuffers

Change 3128593 on 2016/09/16 by Rolando.Caloca

	DR - vk - Fix for crash loading map
	#jira UE-36072

Change 3128759 on 2016/09/16 by Mark.Satterthwaite

	Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.

Change 3130236 on 2016/09/19 by Chris.Bunner

	Exposed full SceneCaptureComponent classes instead of select methods.
	#jira UE-35996

Change 3130388 on 2016/09/19 by Rolando.Caloca

	DR - Avoid crash when adding dynamic primitives
	#jira UE-35327

Change 3130393 on 2016/09/19 by Marc.Olano

	Improve vector noise tooltips & documentation

Change 3130547 on 2016/09/19 by Ben.Woodhouse

	Fix for ensure fail when initializing point light shadowmaps.

	This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.

	I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
	#jira UE-35837

Change 3130578 on 2016/09/19 by Daniel.Wright

	Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL

Change 3130682 on 2016/09/19 by Rolando.Caloca

	DR - Better fix for UE-35327
	#jira UE-35327

Change 3130767 on 2016/09/19 by Uriel.Doyon

	Better handling of color array in VisualizeComplexity code to prevent assert.
	#jira UE-29332

Change 3130965 on 2016/09/19 by Arne.Schober

	DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.

Change 3130967 on 2016/09/19 by Chris.Bunner

	Hid redundant texture sampler properties from texture object parameter.
	Hid redundant texture property input on texture parameter nodes.
	Fixed copy-paste error in expression texture parameter docs.
	#jira UE-32724

Change 3131118 on 2016/09/19 by Mark.Satterthwaite

	Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
	#jira FORT-25869
	#jira UE-34263

Change 3131153 on 2016/09/19 by Rolando.Caloca

	DR - Fix recompute normals when triangles have a LHS tangent basis

	Integrate from 3028634
	- Also make meshes that don't have morphs be able to run through the recompute normals path
	#jira UE-35472

Change 3131228 on 2016/09/19 by Mark.Satterthwaite

	Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
	#jira UE-35240

Change 3131246 on 2016/09/19 by Rolando.Caloca

	DR - Shrink gpu skinning permutations

Change 3131261 on 2016/09/19 by Mark.Satterthwaite

	Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
	ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.

Change 3131265 on 2016/09/19 by Mark.Satterthwaite

	Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.

Change 3131271 on 2016/09/19 by Mark.Satterthwaite

	Use private memory for the Metal stencil SRV workaround needed on El Capitan.

Change 3131273 on 2016/09/19 by Mark.Satterthwaite

	Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.

Change 3131280 on 2016/09/19 by Mark.Satterthwaite

	For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.

Change 3131283 on 2016/09/19 by Mark.Satterthwaite

	Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.

Change 3131402 on 2016/09/19 by Rolando.Caloca

	DR - Disambiguate callstack
	#jira UE-34415

Change 3131469 on 2016/09/19 by Rolando.Caloca

	DR - vk - Check if we can allocate descriptors off a pool

Change 3131482 on 2016/09/19 by Rolando.Caloca

	DR - vk - Remove unused var

Change 3131506 on 2016/09/19 by Mark.Satterthwaite

	With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.

Change 3131536 on 2016/09/19 by Rolando.Caloca

	DR - vk - Compile fix

Change 3131564 on 2016/09/19 by Rolando.Caloca

	DR - vk - Submit Hint
	- Disable framebuffer recycling as its causing a hang

Change 3131625 on 2016/09/19 by Mark.Satterthwaite

	Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.

Change 3131630 on 2016/09/19 by Mark.Satterthwaite

	More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.

Change 3131955 on 2016/09/20 by Gil.Gribb

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

Change 3131978 on 2016/09/20 by Gil.Gribb

	CIS fix

Change 3132584 on 2016/09/20 by Ben.Woodhouse

	Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling

	#jira UE-35937

Change 3132696 on 2016/09/20 by Mark.Satterthwaite

	Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.

Change 3132772 on 2016/09/20 by Mark.Satterthwaite

	Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.

Change 3132870 on 2016/09/20 by Ben.Woodhouse

	Fix mac compile error

Change 3133049 on 2016/09/20 by Brian.Karis

	Changed light source shapes in reflection captures to use alpha

Change 3133057 on 2016/09/20 by Brian.Karis

	Alphaed out on spot light cone as well.

Change 3133263 on 2016/09/20 by Rolando.Caloca

	DR - vk - Debug names for objects

Change 3133292 on 2016/09/20 by Rolando.Caloca

	DR - vk - Fix SRGB upload/formats

Change 3133395 on 2016/09/20 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3134026 on 2016/09/21 by Gil.Gribb

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

Change 3134663 on 2016/09/21 by Chris.Bunner

	Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
	#jira UE-34347

Change 3134730 on 2016/09/21 by Arne.Schober

	DR - [UE-34481] - Fix minor brokenness found by Gil

Change 3134792 on 2016/09/21 by Chris.Bunner

	Fixed compile errors for non-editor builds.

Change 3135214 on 2016/09/21 by Rolando.Caloca

	DR - vk - Fix visualize texture
	- Dump memory when OOM (to track leaks)

Change 3135225 on 2016/09/21 by Rolando.Caloca

	DR - vk - Ensure on exit if mem leak
	- Update fences if running wait for idle

Change 3135672 on 2016/09/22 by Gil.Gribb

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

Change 3135793 on 2016/09/22 by Rolando.Caloca

	DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer

Change 3135816 on 2016/09/22 by Rolando.Caloca

	DR - Add names for d3d on renderdoc

Change 3135894 on 2016/09/22 by Chris.Bunner

	Fixed initialization order warning.

Change 3136024 on 2016/09/22 by Rolando.Caloca

	DR - vk - Fix stencil faces

Change 3136042 on 2016/09/22 by Marcus.Wassmer

	Fix compile error

Change 3136046 on 2016/09/22 by Chris.Bunner

	Renamed material for PostTonemapHDRColor visualization to reflect actual usage.

Change 3136308 on 2016/09/22 by Uriel.Doyon

	Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
	#jira UE-36094

Change 3136798 on 2016/09/22 by Chris.Bunner

	Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.

Change 3137092 on 2016/09/22 by Rolando.Caloca

	DR - vk - Rename pipeline to gfx pipeline

Change 3137263 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135157:
	Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
	#jira FORT-30061

Change 3137265 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135169:
	Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).

Change 3137266 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3135237:
	Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.

Change 3137268 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3136033:
	To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
	Fix GPU selection code in MetalRHI to confirm everything is working.
	#jira FORT-30385

Change 3137269 on 2016/09/22 by Mark.Satterthwaite

	Duplicate CL #3137164:
	Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
	#jira FORT-30377

Change 3137606 on 2016/09/23 by Gil.Gribb

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

Change 3137936 on 2016/09/23 by Rolando.Caloca

	DR - Split RHICmdList clear into color & ds in prep for changes

Change 3138346 on 2016/09/23 by Rolando.Caloca

	DR - vk - Some renaming and splitting classes in prep for compute

Change 3138628 on 2016/09/23 by Rolando.Caloca

	DR - vk - Fix mem leak on framebuffers

Change 3138721 on 2016/09/23 by Daniel.Wright

	Better comment for r.DefaultFeature.AntiAliasing

Change 3138722 on 2016/09/23 by Daniel.Wright

	Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface

Change 3138723 on 2016/09/23 by Daniel.Wright

	Corrected GC doc

Change 3138892 on 2016/09/23 by Daniel.Wright

	Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build

Change 3138905 on 2016/09/23 by Daniel.Wright

	"Optimizations" -> "Optimization Viewmodes"

Change 3138939 on 2016/09/23 by Daniel.Wright

	Disabled the stationary light overlap viewmode with forward shading

Change 3139710 on 2016/09/26 by Rolando.Caloca

	DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture

Change 3139820 on 2016/09/26 by Rolando.Caloca

	DR - Remove prefix from shader frequency strings

Change 3139828 on 2016/09/26 by Marcus.Wassmer

	Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.

Change 3139840 on 2016/09/26 by Benjamin.Hyder

	Adding VectorNoise Examples to TM-Noise map

Change 3139862 on 2016/09/26 by Rolando.Caloca

	DR - Better log to track down crash
	#jira UE-36271

Change 3140142 on 2016/09/26 by Rolando.Caloca

	DR - Fix clang warning

Change 3140145 on 2016/09/26 by Rolando.Caloca

	DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters

Change 3140360 on 2016/09/26 by Daniel.Wright

	Lighting Scenarios and lightmaps moved to separate package
	* Levels can be marked as lighting scenarios (eg Day, Night).  Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden.  Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
	* Most outputs of the lighting build now go into a separate _BuiltData package.  This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
	* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package.  This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both).  This also means that lightmaps for a streaming level will not be streamed with it.
	* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
	* Reflection captures and precomputed visibility were not moved to the separate package.  Reflection captures are force updated on load of a lighting scenario level, which can increase load times.

Change 3140361 on 2016/09/26 by Daniel.Wright

	Lighting Scenarios UI

Change 3140582 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140166
	Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
	#jira FORT-30551

Change 3140584 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140131:
	Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
	#jira FORT-30622

Change 3140586 on 2016/09/26 by Mark.Satterthwaite

	Duplicate CL #3140450:
	Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
	#jira FORT-30649

Change 3140594 on 2016/09/26 by Zabir.Hoque

	Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.

Change 3140601 on 2016/09/26 by Marcus.Wassmer

	New 'Cinematic' Scalability level.  Remove unused 'new' motionblur CVAR

Change 3140602 on 2016/09/26 by Zabir.Hoque

	CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.

	#Tests: Fix was tested by licensee (GearBox).

Change 3140622 on 2016/09/26 by Rolando.Caloca

	DR - vk - More prep for sm5

Change 3140765 on 2016/09/26 by Rolando.Caloca

	DR - Fix ensure from bad clear depth surface

Change 3141251 on 2016/09/27 by Rolando.Caloca

	DR - vk - Rename & cleanup

Change 3141394 on 2016/09/27 by Rolando.Caloca

	DR - vk - Compute pipeline state

Change 3141463 on 2016/09/27 by Mark.Satterthwaite

	Fix the include order to avoid compile errors on Mac.

Change 3141529 on 2016/09/27 by Gil.Gribb

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

Change 3141830 on 2016/09/27 by zachary.wilson

	Adding testing content for lighting scenarios to collaborate with Ben

Change 3141941 on 2016/09/27 by Olaf.Piesche

	Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.

Change 3142035 on 2016/09/27 by Olaf.Piesche

	Fix compiler error from silly leftover bit of code.

Change 3142065 on 2016/09/27 by Benjamin.Hyder

	Updating Lighting Scenario map

Change 3142262 on 2016/09/27 by Mark.Satterthwaite

	Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
	On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
	On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
	#jira UE-35749

Change 3142292 on 2016/09/27 by Rolando.Caloca

	DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
	#jira UE-31438

Change 3142397 on 2016/09/27 by Mark.Satterthwaite

	Update hlslcc for Mac including RCO's changes in CL #3142292.
	#jira UE-31438

Change 3142438 on 2016/09/27 by Daniel.Wright

	UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking

Change 3142452 on 2016/09/27 by Rolando.Caloca

	DR - Proper support for int defines

Change 3142519 on 2016/09/27 by Arne.Schober

	DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.

Change 3142537 on 2016/09/27 by Daniel.Wright

	Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset

Change 3142691 on 2016/09/27 by Daniel.Wright

	Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content

Change 3142711 on 2016/09/27 by Daniel.Wright

	GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser

Change 3142712 on 2016/09/27 by Daniel.Wright

	Separate category for ParticleCutout properties

Change 3142762 on 2016/09/27 by Uriel.Doyon

	Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
	The density are computed by the engine but can be overridden by the user in the material tabs.

	Texture streaming intermediate component data is now per material instead of per lod-section.

	New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
	This is currently used to show which UV channel and which texture index is being
	shown in the texture streaming accuracy viewmodes.
	This replaces r.Streaming.AnalysisIndex

	Renamed texture streaming viewmodes:
	MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
	MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
	MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales

	Improved UV density computation and viewmode.

	LightmapUVDensity is now computed separately from UVChannel Density.

	Fixed texture streaming for instanced static mesh component and derived types.

Change 3143464 on 2016/09/28 by Daniel.Wright

	Removed 'experimental' from forward shading setting

Change 3143508 on 2016/09/28 by Chris.Bunner

	Added component type handling to FoldedMath and Length material expressions.
	#jira UE-36304

Change 3143557 on 2016/09/28 by Rolando.Caloca

	DR - Back out changelist 3142292

Change 3143563 on 2016/09/28 by Rolando.Caloca

	DR - vk - Force hlslcc re-link

Change 3143648 on 2016/09/28 by Daniel.Wright

	Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.

Change 3143661 on 2016/09/28 by Chris.Bunner

	Warning fix.

Change 3143723 on 2016/09/28 by Daniel.Wright

	DumpUnbuiltLightIteractions after lighting build for debugging

Change 3143822 on 2016/09/28 by Arne.Schober

	DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.

Change 3143860 on 2016/09/28 by Benjamin.Hyder

	Updating TM-Noise map to include 3d noise examples

Change 3143939 on 2016/09/28 by Rolando.Caloca

	DR - vk - Better debugging of submissions
	- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs

Change 3144006 on 2016/09/28 by Brian.Karis

	Fixed PixelError not being set correctly with LOD groups.

	Removed unneeded Simplygon references.
	Mesh reduction module can now be chosen by name with r.MeshReductionModule

Change 3144026 on 2016/09/28 by Benjamin.Hyder

	Updating QA-Effects map to correct numbering issue

Change 3144098 on 2016/09/28 by Arne.Schober

	DR - ViewMatrices Refactoring - Fix UT

Change 3144158 on 2016/09/28 by Rolando.Caloca

	DR - Undo splitting RHI command context

Change 3144952 on 2016/09/29 by Rolando.Caloca

	DR - vk - Missing swapchain flag

Change 3145064 on 2016/09/29 by Olaf.Piesche

	#jira UE-36091

	Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.

Change 3145354 on 2016/09/29 by Benjamin.Hyder

	Updating Tm-ContactShadows

Change 3145485 on 2016/09/29 by Daniel.Wright

	Made SeamlessTravelLoadCallback handle legacy lightmaps

Change 3145527 on 2016/09/29 by Daniel.Wright

	Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel

Change 3145530 on 2016/09/29 by Simon.Tovey

	UE-36188 - Editor crash when updating hierarchical instance static mesh component

	Dirtied render state rather than unsafe update of bounds.

Change 3145608 on 2016/09/29 by Gil.Gribb

	Attempt to fix a random compiler error under win32

Change 3145749 on 2016/09/29 by Uriel.Doyon

	Fix for static analysis warning

Change 3146091 on 2016/09/29 by Zabir.Hoque

	RHI Interface changes to support PSO based APIs

Change 3146092 on 2016/09/29 by Zabir.Hoque

	D3D12 RHI support for PSO based APIs.

Change 3146590 on 2016/09/30 by Gil.Gribb

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

Change 3146731 on 2016/09/30 by Rolando.Caloca

	DR - Fix merge conflicts

Change 3146778 on 2016/09/30 by Rolando.Caloca

	DR - More integration compile fixes

Change 3146790 on 2016/09/30 by Rolando.Caloca

	DR - Integration fix

Change 3146849 on 2016/09/30 by Rolando.Caloca

	DR - Final integration fix

Change 3146899 on 2016/09/30 by Daniel.Wright

	Static analysis fix for dereferencing World

Change 3147020 on 2016/09/30 by Rolando.Caloca

	DR - vk - Fix depth issue on AMD cards
	- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
	- Added num color attachments to pipeline key

Change 3147034 on 2016/09/30 by Rolando.Caloca

	DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
	#jira UE-36277
	#jira UE-36500

Change 3147080 on 2016/09/30 by Rolando.Caloca

	DR - vk - Disable debug info by default

Change 3147082 on 2016/09/30 by Chris.Bunner

	Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
	#jira UE-36491

Change 3147388 on 2016/09/30 by Chris.Bunner

	Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
	#jira UE-35288

Change 3147394 on 2016/09/30 by Chris.Bunner

	Additional logging for rare error.
	#jira UE-35812

Change 3147459 on 2016/09/30 by Rolando.Caloca

	DR - vk - Some more srgb formats

Change 3147537 on 2016/09/30 by Rolando.Caloca

	DR - vk - Standarize srgb flag like D3D11
	- Minor FVulkanShader cleanup

Change 3147620 on 2016/09/30 by Olaf.Piesche

	#jira UE=34486
	particle component tick function task can be invalid during pause; add check

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

	Renamed RenderingSettings.cpp to match header

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

	Disabled reparenting in the profiler which is disorienting

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

	Support for ReflectionEnvironment and light type show flags with ForwardShading

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

	Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars

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

	Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing.  r.ReflectionEnvironmentLightmapMixBasedOnRoughness

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

	r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream

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

	Enabled planar reflection receiving on the material used for the preview of a APlanarReflection

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

	Fixed reflections on Surface TranslucencyVolume in deferred

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

	Fixed planar reflection composite being done too many times in stereo deferred

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

	Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.

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

	CIS fix

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

	Translucency lighting modes for forward shading
	* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway

Change 3148306 on 2016/10/02 by Rolando.Caloca

	DR - vk - Fix for some NV drivers on Win10

Change 3148307 on 2016/10/02 by Rolando.Caloca

	DR - vk - Compute pipeline

Change 3148358 on 2016/10/02 by Rolando.Caloca

	DR - vk - Consolidate and renumber enum for binding types

Change 3148396 on 2016/10/03 by Rolando.Caloca

	DR - vk - Warning fix

Change 3148697 on 2016/10/03 by Benjamin.Hyder

	Submitting M_Chromebal after enabling planar reflectionsl

Change 3148799 on 2016/10/03 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3148934 on 2016/10/03 by Chris.Bunner

	Added pre-skinned local position material graph node, vertex shader only.

Change 3148994 on 2016/10/03 by Chris.Bunner

	Added missing header file.

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

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

Change 3149095 on 2016/10/03 by Rolando.Caloca

	DR - vk - Disable new render passes

Change 3149125 on 2016/10/03 by Rolando.Caloca

	DR - vk - Fix for multiple memory types

Change 3149181 on 2016/10/03 by Rolando.Caloca

	DR - Better message when missing pipelines

Change 3149215 on 2016/10/03 by Rolando.Caloca

	DR - RHIClearColor -> RHIClearColorTexture
	#tests Orion Editor run match on Agora_P

Change 3149288 on 2016/10/03 by Chris.Bunner

	Added PreTonemapHDRColor for buffer visualization and target output.
	#jira UE-36333

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

	Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)

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

	Forward lighting supports lighting channels

Change 3149574 on 2016/10/03 by Marcus.Wassmer

	PR #2817: Ansel/Photography system (Contributed by adamnv)
	Modified to become a plugin

Change 3149615 on 2016/10/03 by Rolando.Caloca

	DR - vk - Fix PF_G16R16 which fixes reflections

Change 3149639 on 2016/10/03 by Olaf.Piesche

	Adding more ensures to catch NaNs occasionally appearing in particle locations early

Change 3149745 on 2016/10/03 by Uriel.Doyon

	Moved UVDensity computation in the staticmesh DDC.

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

	Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility

Change 3149755 on 2016/10/03 by Benjamin.Hyder

	Checking in built lighting for QA-postprocessing

Change 3149758 on 2016/10/03 by Benjamin.Hyder

	re-submitting built lighting for QA-PostProcessing

Change 3149940 on 2016/10/04 by Gil.Gribb

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

Change 3150098 on 2016/10/04 by Marcus.Wassmer

	Fix some clang and win32 errors

Change 3150323 on 2016/10/04 by Rolando.Caloca

	DR - vk - Static analysis fix

Change 3150456 on 2016/10/04 by Daniel.Wright

	Revert temp logs

Change 3150731 on 2016/10/04 by Daniel.Wright

	Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid

Change 3150795 on 2016/10/04 by Marcus.Wassmer

	Fix RHIClearUAV and Drawindirect bugs on PS4.
	Also fix PS4 compile error from bad merge.

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

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

Change 3151134 on 2016/10/04 by Brian.Karis

	Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.

Change 3151201 on 2016/10/04 by Marcus.Wassmer

	Nvidia approved icon for ansel plugin.

Change 3151240 on 2016/10/04 by Marcus.Wassmer

	Fix string concat build error.

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

	Fix compile error.

Change 3151290 on 2016/10/04 by Marcus.Wassmer

	Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.

Change 3152104 on 2016/10/05 by Chris.Bunner

	Workaround for legacy BreakMA material node invalid component masks.
	#jira UE-36832

Change 3152130 on 2016/10/05 by Ben.Woodhouse

	Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
	#jira UE-35890

Change 3152240 on 2016/10/05 by Rolando.Caloca

	DR - Fix for missing gizmo colors
	#jira UE-36515

Change 3152338 on 2016/10/05 by Daniel.Wright

	Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker

Change 3152833 on 2016/10/05 by Brian.Karis

	Improved precision of quadrics. Fixes bad triangles on large meshes

Change 3153376 on 2016/10/06 by Rolando.Caloca

	DR - Fix for SM4 missing pipelines fallout

Change 3153650 on 2016/10/06 by Gil.Gribb

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

Change 3153656 on 2016/10/06 by Uriel.Doyon

	Fixed main integration compilation issues.
	Some of the Mesh UVDensity UI is temporary disabled.

Change 3153725 on 2016/10/06 by Uriel.Doyon

	Fixed crash when source data is missing for lightmaps
	#jira UE-36157

Change 3153998 on 2016/10/06 by Gil.Gribb

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

Change 3154056 on 2016/10/06 by Marcus.Wassmer

	Fix compile errors from merge.  Also restore some light scencario code

Change 3154176 on 2016/10/06 by Marcus.Wassmer

	Fix deprecation warning

Change 3154252 on 2016/10/06 by Marcus.Wassmer

	Fix more deprecation warnings

Change 3154632 on 2016/10/07 by Chris.Bunner

	Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
	#jira UE-37002

[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
Matt Kuhlenschmidt
e2ba04378b Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954)
#lockdown Nick.Penwarden
#rb none

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

Change 3077573 on 2016/08/04 by Nick.Darnell

	Removing some unused code, adding additional needed modules to editor tests.

	#rb none

Change 3077580 on 2016/08/04 by Nick.Darnell

	Removing the test plugins, going to be recreating them in EngineTest.

Change 3082659 on 2016/08/09 by Nick.Darnell

	Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable.  Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison.  Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them.

	#rb none

Change 3082766 on 2016/08/09 by Jamie.Dale

	Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings

	ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32.

	#jira UE-33971
	#rb James.Hopkin

Change 3083067 on 2016/08/09 by Nick.Darnell

	Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is.

	#rb none

Change 3084475 on 2016/08/10 by Richard.TalbotWatkin

	Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds.
	#jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server
	#codereview Matt.Kuhlenschmidt
	#rb none

Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt

	Added grayscale texture importing support

	#rb none

Change 3084774 on 2016/08/10 by Cody.Albert

	Adding controller support for ComboBox widget

	#jira UE-33826
	#rb nick.darnell

Change 3085716 on 2016/08/11 by Nick.Darnell

	UMG - Taking the Widget Component and Widget Interaction Components out of experimental.  Removed old importing support for upgrading ancient versions of widget components.  Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with.

	#rb none

Change 3085733 on 2016/08/11 by Nick.Darnell

	UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects.  For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true.  Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop.  Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable.

	#rb none

Change 3085734 on 2016/08/11 by Nick.Darnell

	Texture - Making GetDefaultMipMapBias a bit more efficent in the common case.

	#rb none

Change 3085736 on 2016/08/11 by Nick.Darnell

	Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings.

	#rb none

Change 3085737 on 2016/08/11 by Nick.Darnell

	Editor - code organization.

	#rb none

Change 3085875 on 2016/08/11 by Nick.Darnell

	UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers.  The option in the settings is now used as the default when you startup a designer.

	#rb none

Change 3086209 on 2016/08/11 by Ben.Salem

	Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format.
	#rb adric.worley, william.ewen

Change 3086515 on 2016/08/11 by Nick.Darnell

	Editor - Fixing a crash in the curve table customization.  If the row doesn't exist, it would crash, we now protect against that case.

	#rb Matt.Kuhlenschmidt

Change 3087216 on 2016/08/12 by Jamie.Dale

	Fixed an issue where re-scanning a package file may leave old assets in the asset registry

	We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package.

	This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work).

	#rb Andrew.Rodham

Change 3087219 on 2016/08/12 by Jamie.Dale

	Updated TextRenderComponent to support multiple font pages

	It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page).

	#rb Matt.Kuhlenschmidt

Change 3087308 on 2016/08/12 by Alex.Delesky

	#jira UE-14727  - Support for editing TSet properties in the editor's Details panel has been added.

	#rb Matt.Kuhlenschmidt

Change 3089140 on 2016/08/15 by Jamie.Dale

	We now abort a directory watch if we lose access to the directory in question

	This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted.

	#jira UE-30172
	#rb Andrew.Rodham

Change 3089148 on 2016/08/15 by Alexis.Matte

	Allow fbx export of any actor type.
	#rb none
	#codereview dmitriy.dyomin

Change 3089211 on 2016/08/15 by Jamie.Dale

	Unified access to the parent window for external dialogs

	A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible.

	You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window.

	#rb Andrew.Rodham

Change 3089640 on 2016/08/15 by Jamie.Dale

	Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc

	#rb none

Change 3089661 on 2016/08/15 by Nick.Darnell

	Editor - There's a new view option "Show C++ Classes" in the content browser.  Lets you hide all those C++ folders most folks probably don't care to see.

	#rb none

Change 3089667 on 2016/08/15 by Cody.Albert

	Updating RoutePointerUpEvent to call OnDrop for touch events when dragging

	#jira UE-34709
	#rb nick.darnell

Change 3089694 on 2016/08/15 by Jamie.Dale

	Applied a fix to the ExcludeClasses setting in the loc gather

	#rb none

Change 3089889 on 2016/08/15 by Nick.Darnell

	Automation - Continued work on the screenshot portion of the automation system.  Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities.

	#rb none

Change 3090256 on 2016/08/16 by Nick.Darnell

	Automation - working on screenshots.
	#rb none

Change 3090322 on 2016/08/16 by Nick.Darnell

	Automation - Adding modified screenshot function.

	#rb none

Change 3090335 on 2016/08/16 by Nick.Darnell

	Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins.  Moved to Engine plugins.

	#rb none

Change 3090881 on 2016/08/16 by Nick.Darnell

	Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected.

	#rb none

Change 3090884 on 2016/08/16 by Nick.Darnell

	Plugins - There's now support for generating a Content Only plugin from the new plugin wizard.

	#rb none

Change 3090911 on 2016/08/16 by Nick.Darnell

	Feature Packs - If there's an error loading a manifest, it's now an error, not a warning.

	#rb none

Change 3090913 on 2016/08/16 by Jamie.Dale

	Optimization and usability improvements of the MemoryProfiler2 tool

	 - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views.
	    - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds.
	    - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds.
	    - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds.

	 - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks).

	#jira UETOOL-948
	#jira UETOOL-949
	#rb James.Hopkin

Change 3090962 on 2016/08/16 by Jamie.Dale

	Fixed double assignment of filter functions

	#rb none

Change 3090989 on 2016/08/16 by Nick.Darnell

	Editor - Attempting to fix the build, non-unity issue I suspect.

	#rb none

Change 3091754 on 2016/08/17 by Nick.Darnell

	FbxAutomationTestBuilder is now a plugin.  Users won't see it unless they've enabled the plugin (so primarily internal QA).  Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name.  Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc.

	#rb none
	#codereview Alexis.Matte

Change 3091758 on 2016/08/17 by Nick.Darnell

	Slate / Editor - Trying to make the editor less focus greedy.  Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation.  Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor.  Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens.

	#rb none

	#codereview Nick.Atamas,Matt.Kuhlenschmidt

Change 3091829 on 2016/08/17 by Nick.Darnell

	Build - Attempting to repair the build.

	#rb none

Change 3091920 on 2016/08/17 by Nick.Darnell

	Build - Another attempt at fixing the mac build.

	#rb none

Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt

	Ignore group actors when checking for references to other actors when deleting.  The check for references is designed for gameplay affecting references which groups are not.  Having this show up for groups is annoying

	#rb none

Change 3094474 on 2016/08/19 by Jamie.Dale

	Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled

	#jira UETOOL-951
	#rb James.Hopkin

Change 3094581 on 2016/08/19 by Jamie.Dale

	Added missing allocator filter needed by PS4 profiles

	#rb none

Change 3094681 on 2016/08/19 by Richard.TalbotWatkin

	Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer.
	#jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation
	#rb none

Change 3095163 on 2016/08/19 by Trung.Le

	#jira UE-20849: Added tooltips to the inputs of the Material final result node
	#rb matt.kuhlenschmidt

Change 3095285 on 2016/08/19 by Trung.Le

	#jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member
	#rb none

Change 3095344 on 2016/08/19 by Alexis.Matte

	#jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine.
	Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter).

	#rb none
	#codereview matt.kuhlenschmidt

Change 3096162 on 2016/08/22 by Alexis.Matte

	#jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu.
	#rb none
	#codereview matt.kuhlenschmidt

Change 3096261 on 2016/08/22 by Alexis.Matte

	#jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process.

	#rb lina.halper
	#codereview lina.halper

Change 3096344 on 2016/08/22 by Jamie.Dale

	NSString conversion fix for UTF-32 strings containing characters outside of the BMP

	#jira UE-33971
	#rb Peter.Sauerbrei, James.Hopkin

Change 3096605 on 2016/08/22 by Alex.Delesky

	#jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any.

	#rb Matt.Kuhlenschmidt

Change 3096615 on 2016/08/22 by Alex.Delesky

	#jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin.

	#rb Matt.Kuhlenschmidt

Change 3096619 on 2016/08/22 by Alex.Delesky

	#jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel.

	#rb Matt.Kuhlenschmidt

Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt

	PR #2729: Fix a typo in the comment (Contributed by adcentury)

	#rb none

Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt

	PR #2726: Undef unused macros (Contributed by shrimpy56)

	#rb none

Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt

	Guard against crash when details panels rebuild when their customizations have been torn down

	https://jira.ol.epicgames.net/browse/UE-35048

	#rb none

Change 3097757 on 2016/08/23 by Alex.Delesky

	#jira UE-14727  - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap

	#rb Matt.Kuhlenschmidt

Change 3098164 on 2016/08/23 by Alexis.Matte

	#jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation.
	#rb none
	#codereview matt.kuhlenschmidt

Change 3098502 on 2016/08/23 by Alexis.Matte

	#jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true
	#rb none
	#codereview matt.kuhlenschmidt

Change 3099986 on 2016/08/24 by Jamie.Dale

	Fixing non-editor builds

	#rb none

Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt

	Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc)

	#rb none

Change 3101280 on 2016/08/25 by Jamie.Dale

	Fixed crash when counting memory over internationalization meta-data

	- The serialization code only used to handle loading or saving, now it handles loading or not loading.
	- The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override.

	#rb James.Hopkin

Change 3101283 on 2016/08/25 by Jamie.Dale

	MProf2 platform and symbol parsing improvements

	 - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks).
	 - Added a PS4 symbol parser which handles performing full file/line resolution for symbols.
	 - Removed all the V3 file format support and legacy platform handling.
	 - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup.

	#rb James.Hopkin

Change 3101586 on 2016/08/25 by Jamie.Dale

	Small code cleanup and path normalization

	#rb James.Hopkin

Change 3101837 on 2016/08/25 by Alexis.Matte

	#jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations
	#rb none
	#codereview matt.kuhlenschmidt

Change 3102537 on 2016/08/26 by Jamie.Dale

	Fix for potential crash in FICUCamelCaseBreakIterator

	In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is.

	#rb James.Hopkin

Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt

	Log the freetype version when it starts up (for debugging purposes)

	#rb none

Change 3102657 on 2016/08/26 by Alexis.Matte

	#jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader.
	#review-3101585 @uriel.doyon
	#rb matt.kuhlenschmidt

Change 3102704 on 2016/08/26 by Jamie.Dale

	Added symbol meta-data support to MProf2

	You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file.

	PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user.

	#rb James.Hopkin

Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt

	Added support for outline fonts
	- An outline size (in slate units), optional material and optional fill color can be specified with each font info.
	- Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines
	- Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas

	#rb jamie.dale

Change 3102879 on 2016/08/26 by Jamie.Dale

	Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files

	#rb none

Change 3102960 on 2016/08/26 by Alexis.Matte

	build fix
	#rb none

Change 3103032 on 2016/08/26 by Jamie.Dale

	Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting

	#jira UE-34936
	#rb Matt.Kuhlenschmidt

Change 3103278 on 2016/08/26 by Jamie.Dale

	Fixing Clang warnings

	#rb none

Change 3104211 on 2016/08/29 by Ben.Marsh

	Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them.

	#rb none

Change 3104290 on 2016/08/29 by Alex.Delesky

	Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with.

	#rb Matt.Kuhlenschmidt

Change 3104292 on 2016/08/29 by Alex.Delesky

	#jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac.

	#rb Matt.Kuhlenschmidt

Change 3104294 on 2016/08/29 by Alex.Delesky

	#jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget

	#rb Matt.Kuhlenschmidt

Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt

	PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx)

	#rb none

Change 3104296 on 2016/08/29 by Alex.Delesky

	#jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero.

	#rb Matt.Kuhlenschmidt

Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt

	Added the ability to clear the preview mesh on a material instance.  Previously there was no way to null it out.

	#rb none

Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt

	Guard against crash with invalid path to the default physical material.  Just create a new one if it doesnt exist and warn about it.

	#rb none
	#jira UE-31865

Change 3104396 on 2016/08/29 by Ben.Marsh

	Fix incrorrect agent names for running automated tests

Change 3104610 on 2016/08/29 by Alex.Delesky

	Fix for AutomationTool compile editor from changes introduced today.

	#rb None

Change 3104611 on 2016/08/29 by Michael.Dupuis

	#jira UETOOL-253
	#rb Alexis.Matte

Change 3105826 on 2016/08/30 by Gareth.Martin

	Added console variables to discard grass and/or scalable foliage data on load
	#jira UE-35086
	#rb Benn

Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt

	Eliminated bad code duplication between retainer widgets and element batcher

	#rb none
	#codereview nick.darnell

Change 3106449 on 2016/08/30 by Michael.Dupuis

	#jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu)
	#rb Alexis.Matte

Change 3106966 on 2016/08/30 by Jamie.Dale

	Fixed FApp::IsAuthorizedUser not considering the SessionOwner override

	#rb Max.Preussner

Change 3107687 on 2016/08/31 by Michael.Dupuis

	Checkout/Make Writable on proper config file

	#rb Matt Kuhlenschmidt

Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt

	Fixed mode typos in the lerp instruction

	#rb none

Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt

	Logging and guard against UEditorEngine::TeardownPlaySession crash.

	#rb none
	https://jira.ol.epicgames.net/browse/UE-35325

Change 3107912 on 2016/08/31 by Alex.Delesky

	#jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations.

	#rb Matt.Kuhlenschmidt

Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt

	Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file.

	#rb none

Change 3108027 on 2016/08/31 by Chris.Wood

	Re-added lost doc comment for analytics event "Engine.AbnormalShutdown".

	#rb none - just a comment in a cpp file
	#codereview wes.hunt

Change 3108580 on 2016/08/31 by Mike.Fricker

	Deleted the "Live Editor" plugins from UE4
	- These were undocumented, buggy and never finished, and we have no plans to complete them
	- Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files

	#codereview matt.kuhlenschmidt
	#rb matt.kuhlenschmidt

Change 3108604 on 2016/08/31 by Mike.Fricker

	Added new "MIDI Device" plugin (disabled by default)

	- This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer

	- Currently only input is supported.  In the future we might allow for output, as well.

	- In Blueprints, here's how to use it:
	        - Look for "MIDI Device Manager" in the Blueprint RMB menu
	        - Call "Find MIDI Devices" to choose your favorite device.  Break the "Found MIDI Device" struct to see what's available.
	        - Then call "Create MIDI Device Controller" for the device you want.  Store that in a variable.
	        - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event.  This will be called every game Tick when there is at least one new MIDI event to receive.
	        - Process the data passed into the Event to make your project do stuff!

	- This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin)

	#codereview matt.kuhlenschmidt
	#rb none

Change 3108760 on 2016/08/31 by Alexis.Matte

	#jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false.
	#rb none
	#codereview matt.kuhlenschmidt

Change 3109006 on 2016/08/31 by Alex.Delesky

	#ignore Source Control rename test - initial commit

Change 3109044 on 2016/08/31 by Alex.Delesky

	#ignore Testing asset rename from P4 to observe correct behavior.

	#rb none

Change 3109048 on 2016/08/31 by Alex.Delesky

	#ignore Testing P4 rename to identify correct behavior

	#rb none

Change 3110044 on 2016/09/01 by Gareth.Martin

	Fixed painting foliage on blocking "query" actors not working
	#jira UE-33852
	#rb Allan.Bentham

Change 3110133 on 2016/09/01 by Alexis.Matte

	Fix crash in function GetForceRecompileTextureIdsHash
	#rb none
	#codereview jamie.dale

Change 3111848 on 2016/09/02 by Mike.Fricker

	MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux)
	- Fixed bad enum cast
	#rb none

Change 3111995 on 2016/09/02 by Michael.Dupuis

	#jira UE-35263

	Do not try selecting the actor if the actor is in the blueprint
	Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process

	#rb Alexis Matte

Change 3112280 on 2016/09/02 by Michael.Dupuis

	Call MakeWritable if source control fail

	#rb Alexis Matte

Change 3112335 on 2016/09/02 by Cody.Albert

	Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode

	#jira UE-35306
	#rb none

Change 3112478 on 2016/09/02 by Alexis.Matte

	#jira UE-20059 Use a base material to import fbx material.
	#rb uriel.doyon
	#codereview matt.kuhlenschmidt
	#1468 Github pull request number

Change 3113912 on 2016/09/06 by Michael.Dupuis

	#jira UE-32288 Fixed Console params display
	#rb Alexis Matte

Change 3114026 on 2016/09/06 by Alex.Delesky

	#jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again.

	#rb Matt.Kuhlenschmidt

Change 3114032 on 2016/09/06 by Alex.Delesky

	PR #2733: Improved the project launcher progress page (Contributed by projectgheist)

	#jira UE-34027
	#rb Matt.Kuhlenschmidt

Change 3114034 on 2016/09/06 by Alex.Delesky

	#jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable

	#rb Matt.Kuhlenschmidt

Change 3114071 on 2016/09/06 by Nick.Darnell

	[AUTOMATED TEST] Automatic checkin, testing functionality.

Change 3114109 on 2016/09/06 by Nick.Darnell

	[AUTOMATED TEST] Automatic checkin, testing functionality.

Change 3114562 on 2016/09/06 by Nick.Darnell

	Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue.

	#rb none

Change 3114701 on 2016/09/06 by Michael.Dupuis

	#jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView
	#rb Alexis Matte

Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt

	Prevent non-thread safe slate code from running on the slate loading thread

	#rb none

Change 3115698 on 2016/09/07 by Nick.Darnell

	Make sure the commands are available - during functional testing that was found to not always be the case.

	#rb none

Change 3115719 on 2016/09/07 by Nick.Darnell

	Adding an IsRegistered command to commands.

	#rb none

Change 3115721 on 2016/09/07 by Nick.Darnell

	Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly.

	#rb none

Change 3115722 on 2016/09/07 by Nick.Darnell

	IsBindWidgetProperty now returns false if the property passed in is null.

	#rb none

Change 3115734 on 2016/09/07 by Alexis.Matte

	#jira UE-30166 Support fbx sdk 2017
	#rb none

Change 3115737 on 2016/09/07 by Nick.Darnell

	Adding an image comparer for screenshots.  Removing some content from EngineTest.

	#rb none

Change 3115743 on 2016/09/07 by Nick.Darnell

	Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware.  Disabling many tests that are not passing.  Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again.  All editor tests currently passing!

	#rb none

Change 3115748 on 2016/09/07 by Nick.Darnell

	Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds.

	#rb none

Change 3115789 on 2016/09/07 by Jamie.Dale

	We now favor Traditional Chinese for Hong Kong and Macau

	#rb James.Hopkin

Change 3115799 on 2016/09/07 by Jamie.Dale

	Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped

	#rb James.Hopkin

Change 3115826 on 2016/09/07 by Nick.Darnell

	Adding missing files.

	#rb none

Change 3115838 on 2016/09/07 by Nick.Darnell

	Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h

	#rb none

Change 3116007 on 2016/09/07 by Alexis.Matte

	build fix
	#rb none

Change 3116057 on 2016/09/07 by Jamie.Dale

	Fixed widget snapshot messages so they appear in the message debugger

	#rb none

Change 3116112 on 2016/09/07 by Nick.Darnell

	Removing the FbxAutomationBuilder file that go recreated on a merge from main.

	#rb none

Change 3116365 on 2016/09/07 by Michael.Dupuis

	#jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work.
	#codereview Matt.Kuhlenschmidt
	#rb Alexis.Matte

Change 3116622 on 2016/09/07 by Alexis.Matte

	#jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name.
	#rb matt.kuhlenschmidt

Change 3116638 on 2016/09/07 by Jamie.Dale

	Ensured that manifests and archives don't try and load data that they can't parse

	#rb none

Change 3117397 on 2016/09/08 by Gareth.Martin

	Added rotate and blend support to the landscape mirror tool
	#jira UE-34829
	#rb Jack.Porter

Change 3117459 on 2016/09/08 by Gareth.Martin

	Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1)
	#jira UE-35301
	#rb Jack.Porter

Change 3117462 on 2016/09/08 by Gareth.Martin

	Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1)
	#jira UE-35494
	#rb Benn.Gallagher

Change 3117583 on 2016/09/08 by Nick.Darnell

	Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing.  Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots.

	#rb none

Change 3117595 on 2016/09/08 by Nick.Darnell

	Updating the build script for AutomatedTests, going to see if this works!

	#rb none

Change 3117808 on 2016/09/08 by Nick.Darnell

	Adding header includes for async.

	#rb none

Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt

	Partially taken from Pr 2381

	Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem.

	#rb none

Change 3117851 on 2016/09/08 by Jamie.Dale

	Silenced some redundant P4 errors that could be generated when running a stat update on a file

	Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command.

	#rb Ben.Marsh
	#codereview Thomas.Sarkanen

Change 3117853 on 2016/09/08 by Gareth.Martin

	Clean up landscape includes and PCH
	#rb steve.robb

Change 3117859 on 2016/09/08 by Alex.Delesky

	#jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse.

	#rb Nick.Darnell

Change 3117997 on 2016/09/08 by Nick.Darnell

	Updating the automation tests build script to use Editor-Cmd

	#rb none

Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt

	Properly reference graph node on material expressions so they are not GC'd while an expression still uses them

	#jira UE-35362
	#rb none

Change 3118043 on 2016/09/08 by Alex.Delesky

	#jira UE-30649 - Removed unnecessary returns from UWidget API.

	PR #2377: fix widget bug. (Contributed by dorgonman)

	#rb none

Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt

	Guard against crash saving config during level editor shutdown

	#rb none
	#jira UE-35605

Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt

	PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist)

	#rb none

Change 3118078 on 2016/09/08 by Michael.Dupuis

	#jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified
	#rb Alexis.Matte

Change 3118080 on 2016/09/08 by Michael.Dupuis

	#jira UE-31131 Do not show a contextual menu if the menu is empty
	#rb Alexis.Matte

Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt

	Constify this method

	#rb none

Change 3118166 on 2016/09/08 by Nick.Darnell

	Trying additional command options for the build machine for automation.

	#rb none

Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt

	Fix actor delete during mesh paint not working during undo

	#rb none
	#jira UE-35684

Change 3118298 on 2016/09/08 by Alexis.Matte

	#jira UE-35302 Export all LODs for static mesh when there is no force LOD
	#rb uriel.doyon

Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt

	Fixed reset to default not appearing for slate brushes

	#rb none
	#jira UE-34958

Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt

	Guard against crash with an invalid world trying to be opened from the content browser

	#rb none
	https://jira.ol.epicgames.net/browse/UE-35712

Change 3119433 on 2016/09/09 by Nick.Darnell

	Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around.

	#rb Matt.Kuklenschmidt
	#jira UE-35789

Change 3119448 on 2016/09/09 by Alex.Delesky

	When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface.

	#rb Nick.Darnell

Change 3119522 on 2016/09/09 by Jamie.Dale

	Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true

	#rb Matt.Kuhlenschmidt

Change 3119528 on 2016/09/09 by Jamie.Dale

	Some UI re-work to the localization dashboard

	This makes a better use of the available space, and will make it easier to make some other planned changes in the future.

	#rb James.Hopkin

Change 3119861 on 2016/09/09 by Michael.Dupuis

	#jira UE-9284 Added the Play/Stop button on the thumbnail
	#rb Alexis.Matte

Change 3120027 on 2016/09/09 by Alexis.Matte

	incorporate some fixes from licensee for LOD group re-import workflow
	#jira UE-32268
	#rb uriel.doyon
	#codereview matt.kuhlenschmidt

Change 3120845 on 2016/09/12 by Gareth.Martin

	Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1)
	#jira UE-35850
	#rb Allan.Bentham

Change 3120980 on 2016/09/12 by Nick.Darnell

	Adding a commandlet that is runnable for comparing screenshots.  Adding comparing and exporting capability to the screenshot manager.

	#rb none

Change 3120992 on 2016/09/12 by Alex.Delesky

	#jira UE-35575 - TScriptInterface UProperties now have asset picker support.

	#rb Matt.Kuhlenschmidt

Change 3121074 on 2016/09/12 by Michael.Dupuis

	#jira UE-30092
	Added path length in error message when typing
	Added display of current filepath lenght for cooking

	#rb Alexis.Matte

Change 3121113 on 2016/09/12 by Nick.Darnell

	Adding some placeholder examples to show people how to author tests in EngineTest.

	#rb none

Change 3121152 on 2016/09/12 by Gareth.Martin

	Added TElementType, TIsContiguousContainer traits
	Added GetData(), GetNum() generic functions
	#rb Steve.Robb

Change 3121702 on 2016/09/12 by Jamie.Dale

	Optimized a loop over a sorted list to instead use a binary search

	This speeds up the short-lived allocation view generation.

	We also now dump the exception information to the Trace log when in a non-debug build.

	#rb James.Hopkin

Change 3121721 on 2016/09/12 by Jamie.Dale

	We now set the window mode first when resizing the game viewport to ensure that the work area is correct

	Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode.

	#jira UE-32842
	#rb Matt.Kuhlenschmidt

Change 3122578 on 2016/09/13 by Jamie.Dale

	Small code clean up

	Removed a use of the placement new style array addition.

	#rb none

Change 3122634 on 2016/09/13 by Jamie.Dale

	We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick

	#jira UE-34865
	#rb James.Hopkin

Change 3122656 on 2016/09/13 by Jamie.Dale

	Fixed array combo button not focusing its contents, which prevented the menu closing correctly

	#jira UE-33667
	#rb none

Change 3122661 on 2016/09/13 by Nick.Darnell

	Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area.  Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs.

	#rb none

Change 3122678 on 2016/09/13 by Jamie.Dale

	Fixing CIS error on Clang

	CoreUObject needs to be included before USTRUCT can be used.

	#rb none

Change 3122686 on 2016/09/13 by Jamie.Dale

	Fixing CIS error on Clang

	CoreUObject needs to be included before UCLASS can be used.

	#rb none

Change 3122728 on 2016/09/13 by Nick.Darnell

	UMG - Exposing a trace channel for the WIC, defaults to Visibility.  Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left.  Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface.

	#jira UE-35167
	#rb none

Change 3122775 on 2016/09/13 by Nick.Darnell

	Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH.

	#rb none

Change 3122779 on 2016/09/13 by Nick.Darnell

	Widgetnimation - Exposing more of the class to C++.

	#rb none

Change 3122793 on 2016/09/13 by Nick.Darnell

	Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance.

	#jira UE-35796
	#rb none

Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt

	Fixed crash undoing moves after bsp creation

	https://jira.ol.epicgames.net/browse/UE-35880

	#rb none

Change 3122835 on 2016/09/13 by Nick.Darnell

	Reverting changes to WIdgetAnimation

	#rb none

Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt

	Fixed non-editor compile error
	#rb none

Change 3122988 on 2016/09/13 by Alexis.Matte

	Material workflow refactor
	#jira UETOOL-774
	#rb matt.kuhlenschmidt

Change 3123006 on 2016/09/13 by Jamie.Dale

	Fixed dynamic collections not returning anything

	#jira UE-35869
	#rb James.Hopkin

Change 3123145 on 2016/09/13 by Alexis.Matte

	Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build.
	#jira UE-32268
	#rb none
	#codereview matt.kuhlenschmidt

Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt

	Fix fortnite compile error

	#rb alexis.matte

Change 3123208 on 2016/09/13 by Jamie.Dale

	The 'find culprit' dialog now honors the user choice

	#rb RichTW

Change 3123545 on 2016/09/13 by Nick.Darnell

	Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows.

	#rb none

Change 3124494 on 2016/09/14 by Jamie.Dale

	Added ~ to the list of invalid characters for object/package names

	#jira UE-12908
	#rb Matt.Kuhlenschmidt

Change 3124513 on 2016/09/14 by Gareth.Martin

	Implemented filter to allow painting foliage on other foliage
	- Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes
	#rb Allan.Bentham
	#2472

Change 3124523 on 2016/09/14 by Jamie.Dale

	PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster)

	#jira UE-34811
	#jira UE-32082
	#rb none

Change 3124607 on 2016/09/14 by Nick.Darnell

	UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function.

	#jira UE-35667
	#rb none

Change 3124785 on 2016/09/14 by Gareth.Martin

	Made some foliage functions editor-only to fix non-editor build
	#rb none

Change 3124795 on 2016/09/14 by Gareth.Martin

	Saved/loaded the new foliage filter
	#rb Allan.Bentham
	#2472

Change 3124915 on 2016/09/14 by Michael.Dupuis

	#jira UE-19511
	Add support for Add to source control on DefaultEditorPerProjectUserSettings file
	Remove CheckoutNotice when not editing a DefaultXXXX.ini file
	Edit proper config file either we're modifying settings from a Default file or Local user file
	#codereview Matt.Kuhlenschmidt Max.Preussner
	#rb Alexis.Matte

Change 3125266 on 2016/09/14 by Jamie.Dale

	Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong

	#rb none

Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt

	Fix crash when using SaveAs to save over top of an existing level

	#rb none
	https://jira.ol.epicgames.net/browse/UE-35919
	https://jira.ol.epicgames.net/browse/UE-35921

Change 3125487 on 2016/09/14 by Alexis.Matte

	Fix cook content, regression induce by the material workflow refactor
	#rb matt.kuhlenschmidt

Change 3126217 on 2016/09/15 by Gareth.Martin

	Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances
	#rb Allan.Bentham

Change 3126311 on 2016/09/15 by Jamie.Dale

	Placement mode fixes

	 - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const.
	 - Ensured that the ID used by FPlaceableItem could never overflow.
	 - Fixed some types being missing from the "All Classes" list.
	 - Fixed the escape key not cancelling the search.

	#jira UE-35972
	#rb James.Hopkin

Change 3126325 on 2016/09/15 by Jamie.Dale

	Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added.

	#rb Andrew.Rodham

Change 3126403 on 2016/09/15 by Gareth.Martin

	Added Find and Contains functions to TBitArray
	#rb Steve.Robb

Change 3126405 on 2016/09/15 by Gareth.Martin

	Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor
	- Just like regular instanced mesh components!
	Also fixed not being able to move instances of an instanced mesh component when it is the root component
	Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished)
	#jira UE-29357
	#rb Allan.Bentham

Change 3126444 on 2016/09/15 by Jamie.Dale

	Fixed the loc dashboard configs not working with SCC

	This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul.

	#rb none

Change 3126446 on 2016/09/15 by Jamie.Dale

	Fixed loc dashboard game and engine targets sharing the same expansion settting

	#rb none

Change 3126555 on 2016/09/15 by Chris.Wood

	Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path.
	[UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows

	#rb Steve.Robb

Change 3126586 on 2016/09/15 by Gareth.Martin

	Fixed missing landscape components when using a LODBias (cloned from 4.13.1)
	#jira UE-35873
	#rb Jack.Porter

Change 3126610 on 2016/09/15 by Jamie.Dale

	Stopped PS4 from always staging all ICU data files

	#rb Marcus.Wassmer

Change 3126779 on 2016/09/15 by Michael.Dupuis

	#jira UE-32914 Improve the help text to provide usage examples and params
	#rb Alexis.Matte

Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt

	Fix font material and outline font material not being animatable in sequencer

	#rb frank.fella

Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt

	File not saved
	#rb none

Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt

	Fixed reset to default state still not appearing in all cases after changing a property.

	#rb none

Change 3127038 on 2016/09/15 by Nick.Darnell

	UMG - Improving focus setting for users on widgets.  If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable.

	#rb none

Change 3127061 on 2016/09/15 by Nick.Darnell

	Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed.  Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children.  The end result is a delete while deleting.  So now TPanelChildren prevents adds/removes while emptying the list of children.

	#jira UE-35726
	#rb Matt.Kuchlenschmidt

Change 3127205 on 2016/09/15 by Alex.Delesky

	#jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency.

	#rb Nick.Darnell

Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix crash in scene outliner if actors become invalid

	#rb none

	https://jira.ol.epicgames.net/browse/UE-35932

Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt

	Added guards for crashes accessing slate resources for deleted uobjects

	#rb nick.darnell

Change 3128067 on 2016/09/16 by Michael.Dupuis

	#jira UE-34158 Add an option to auto expand advanced details
	#rb Alexis.Matte

Change 3128073 on 2016/09/16 by Michael.Dupuis

	#jira UE-1145
	Set Save As to Ctrl + Alt + S
	Set Save All to Ctrl + Shift + S
	Set Save Current to Ctrl + S

	#rb Alexis.Matte

Change 3128117 on 2016/09/16 by Jamie.Dale

	Updated the pin-type filter combo to filter on both the localized and source type descriptions

	#jira UE-36081
	#rb none

Change 3128177 on 2016/09/16 by Alexis.Matte

	#jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value.

	#rb michael.dupuis
	#codereview matt.kuhlenschmidt

Change 3128387 on 2016/09/16 by Gareth.Martin

	Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes
	#jira UE-36093
	#rb none

Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt

	Guard against scene outliner crash.  Print out tree when items appear twice.
	https://jira.ol.epicgames.net/browse/UE-35935

	#rb none

Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt

	Remove category for WindowTitleBarArea.  It is very custom for internal use and should not be a top level widget

	#rb none

Change 3128482 on 2016/09/16 by Michael.Dupuis

	Added new key binding for generic Save, Save As
	Added new key binding for Save All for the content browser

	#rb Alexis.Matte (approved by MattK)

Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix build warning

	#codereview nick.darnell
	#rb none

Change 3128642 on 2016/09/16 by Alexis.Matte

	#jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear
	#rb none
	#codereview matt.kuhlenschmidt

Change 3128733 on 2016/09/16 by Nick.Darnell

	UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly.

	#jira UE-36105
	#rb none

Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor

	#rb none

Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt

	Fix offset characters on some small fonts

	#rb none

Change 3130057 on 2016/09/19 by Jamie.Dale

	Fixing volatility and invalidation issues for text widgets

	#jira UE-33988
	#rb Nick.Darnell

Change 3130064 on 2016/09/19 by Jamie.Dale

	Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly

	#rb James.Hopkin

Change 3130233 on 2016/09/19 by Michael.Dupuis

	#jira UE-32914 Added missing args that the UI supported
	#rb Alexis.Matte

Change 3130265 on 2016/09/19 by Nick.Darnell

	Automation - Cleaning up some API items.

	#rb none

Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt

	Fix reentrancy saving assets while a prompt for checkout dialog is open

	#rb none

Change 3130398 on 2016/09/19 by Jamie.Dale

	Fixing UHT error when building

	#rb none

Change 3132101 on 2016/09/20 by Nick.Darnell

	UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals.

	#rb none

Change 3132110 on 2016/09/20 by Nick.Darnell

	PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist)

	#jira UE-13770

	#rb Nick.Darnell

Change 3132111 on 2016/09/20 by Nick.Darnell

	UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly.

	#rb none

Change 3132138 on 2016/09/20 by Michael.Dupuis

	#jira UE-30945 Added missing PostEditComponentMove after drag is finished
	#rb Alexis.Matte

Change 3132147 on 2016/09/20 by Michael.Dupuis

	#jira UE-30866 Fixed the filter to work properly
	#rb Alexis.Matte

Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt

	Fix static analysis warnings in this file

	#rb none

Change 3132231 on 2016/09/20 by Nick.Darnell

	Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha.  This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected.

	#jira UE-33285
	#rb none

Change 3132255 on 2016/09/20 by Alex.Delesky

	#jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container.

	#rb Matt.Kuhlenschmidt

Change 3132587 on 2016/09/20 by Mike.Fricker

	MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604)
	#rb none
	#lockdown matt.kuhlenschmidt

Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt

	Fix crash opening the cooker settings

	https://jira.it.epicgames.net/browse/UE-36197

	#rb none
	#lockdown nick.darnell

Change 3133144 on 2016/09/20 by Nick.Darnell

	Build configuration for automation tests.

	#rb none
	#lockdown matt.kuhlenschmidt

Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt

	Fix default material on odin text

	#rb none
	#lockdown nick.darnell

Change 3133913 on 2016/09/21 by Nick.Darnell

	Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp

	#rb none
	#jira UE-36231
	#lockdown matt.kuhlenschmidt

[CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
Ben Marsh
3e80336791 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3092544)
#lockdown Nick.Penwarden
#rb none

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

Change 3079316 on 2016/08/05 by Ben.Marsh

	Better PCH selection in ShaderFormatOpenGL and MetalShaderFormat - make sure Core is the first included header.

Change 3080579 on 2016/08/08 by Ben.Marsh

	Slate: Move DEBUG_TAB_MANAGEMENT into SDockingTabStack.h to remove circular include dependency with DockingPrivate.h.

Change 3080587 on 2016/08/08 by Ben.Marsh

	StandaloneRenderer: Move platform includes into a separate header so we can make individual headers self-contained, without having a circular dependency on StandaloneRendererPrivate.h.

Change 3080789 on 2016/08/08 by Ben.Marsh

	Move BuildGraph tasks for chunking, posting builds, labeling builds, and merging manifests into the MCP project. While we do provide public interfaces for this functionality, we don't currently expect anyone outside Epic to be using them.

Change 3080815 on 2016/08/08 by Ben.Marsh

	BuildGraph: Add a -GenerateDocs option, which writes out an HTML file constructed from C# XML documentation containing all the task information.

Change 3081374 on 2016/08/08 by Ben.Marsh

	UBT: Invalidate the makefile if any UHT headers are deleted. Should fix issue where files are moved from one module to another, and the original module no longer contains any generated headers. Its include path needs to be removed from the compile environment.

Change 3083152 on 2016/08/09 by Ben.Marsh

	PR #2667: Add Intel C++ Compiler support to Windows build (Contributed by JeffRous)

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

	BuildGraph: Add additional markup for parameter attributes. Also improve some documation.

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

	Plugins: Allow plugins in the project folder to replace plugins in the engine folder with the same name. Prohibit multiple plugins with the same name at other times.

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

	UBT: Specify the -precompile option when generating project files for a target, so we include all valid modules for intellisense.

Change 3085594 on 2016/08/11 by Ben.Marsh

	Change modules which reference a public header for their PCH to use a private PCH instead, even if it just includes the public header for now.

Change 3085999 on 2016/08/11 by Ben.Marsh

	Add some missing #pragma once directives.

Change 3086146 on 2016/08/11 by Ben.Marsh

	Core: Move prototype and linkage specifier for ConsoleCommandLibrary_* functions into header matching cpp file.

Change 3086172 on 2016/08/11 by Ben.Marsh

	Fixup some C-style header guards to use #pragma once instead.

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

	Split out UPackage and UMetaData into their own headers (they're already implemented in separate CPP files)

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

	Move method stubs for FNullSlateSoundDevice into a CPP file, since they're exported from the SlateCore module.

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

	UdpMessaging: Move PCH before #if PLATFORM_DESKTOP; it will only be defined if the definition is included.

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

	Core: Reorganize the FTransform and FMatrix headers: Transform.h now includes TransformNonVectorized.h or TransformVectorized.h as appropriate, and UnrealMatrix.h is now Matrix.inl (and included from Matrix.h).

Change 3088407 on 2016/08/13 by Ben.Marsh

	Replace use of Windows SIZE_T define with the regular C++ size_t.

Change 3088416 on 2016/08/13 by Ben.Marsh

	Include a header from all .generated.cpp files (GeneratedCppIncludes.h) which includes all the basic types required to compile them, rather than assuming that the module PCH will include everything.

	Also include the real declarations of noexport classes in Object.h (now renamed to NoExportTypes.h for clarity) when the CPP macro is defined, so the .generated.deps.h file will automatically have the correct definitions for them at compile time rather than relying on them being in the private PCH.

	Finally, rename UObject.h to Object.h for consistency with the naming convention for all other UObject classes. UObject.h still exists for now, but outputs a deprecated message if included.

Change 3088544 on 2016/08/14 by Ben.Marsh

	Core: Move the definition of the TEXT() macro into Platform.h, to avoid having to include OS headers to get it.

Change 3088552 on 2016/08/14 by Ben.Marsh

	Fix compile errors for some modules that don't already include CoreUObject.h.

Change 3088925 on 2016/08/15 by Ben.Marsh

	Remove circular include dependencies from VulkanRHI.

Change 3088926 on 2016/08/15 by Ben.Marsh

	Remove duplicate definition for WITH_FIXED_AREA_ENTERING_COST from EngineDefines.h - always uses the definition from DetourNavMeshQuery.h instead.

Change 3088930 on 2016/08/15 by Ben.Marsh

	Remove circular include dependency from PhysX.

Change 3088935 on 2016/08/15 by Ben.Marsh

	OnlineSubsystemUtils: Move CPP files out of public header directory.

Change 3088965 on 2016/08/15 by Ben.Marsh

	Add private PCH to Landscape, MoviePlayer, TaskGraph, XAudio2 and RealtimeProfiler modules.

Change 3088966 on 2016/08/15 by Ben.Marsh

	Engine: Move CPP files out of public header directories.

Change 3089520 on 2016/08/15 by Ben.Marsh

	BuildGraph: Change documentation command to output markdown.

Change 3090299 on 2016/08/16 by Ben.Marsh

	D3D12RHI: Move around some implementations to fix circular header dependencies which are masked by delayed template instantiation.

Change 3090303 on 2016/08/16 by Ben.Marsh

	Engine: Add a template specialization for TPointerIsConvertibleFromTo<AActor, const volatile UObject> to fix dependency on complete AActor definition for static assert in TWeakPointer<AActor>, which only appears if including Level.h without Actor.h. Delayed template instantiation usually masks this issue.

Change 3091861 on 2016/08/17 by Ben.Marsh

	Remove circular header dependencies, and fix ambiguous include paths in OSVR.

Change 3092068 on 2016/08/17 by Ben.Marsh

	Moving VulkanDynamicRHI into its own header.

Change 3093133 on 2016/08/18 by Ben.Marsh

	EC: Include additional context lines for Clang errors.

Change 3093147 on 2016/08/18 by Ben.Marsh

	UBT: Add an error message when attempting to do a single-file compile with the wrong target selected.

Change 3093228 on 2016/08/18 by Ben.Marsh

	Remove redundant setting for remote server name from XML config, and set it to a valid machine in the engine config.

[CL 3093264 by Ben Marsh in Main branch]
2016-08-18 10:28:43 -04:00
Robert Manuszewski
691af53b8b Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2860239 on 2016/02/09 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Strip unnecessary UMaterialExpressions from cooked packages.

Change 2872941 on 2016/02/18 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing missing materials in cooked builds:

	- FExpressionInput::Expression can now only be used in editor builds
	- Added FExpressionInput::ExpressionName which can be used in cooked builds to check if the input was connected
	- FExpressionInput and derived structs will now use native serialization
	- Keeping a few more material expressions types in cooked builds

Change 2863269 on 2016/02/11 by Steve.Robb@Dev-Core

	MallocBinned2 is now internally threadsafe.

Change 2866771 on 2016/02/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Temp HACK for slow cook times (waiting for Anim Team to fix it properly)

Change 2873372 on 2016/02/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Print the max number of UObjects when someone tries to allocate too many of them.

Change 2861582 on 2016/02/10 by Steve.Robb@Dev-Core

	Fix for illegal access of StaticClass() at module shutdown.

Change 2862906 on 2016/02/11 by Steve.Robb@Dev-Core

	Per-thread caches and global recycler.

Change 2863366 on 2016/02/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing ReferenceChainSearch not using the right garbage collection keep flags.
	Added gc.FindStaleClusters console command to list any stale clusters.

Change 2864959 on 2016/02/12 by Steve.Robb@Dev-Core

	cvar for enabling/disabling MallocBinned2's per-thread free caches.

Change 2865192 on 2016/02/12 by Steve.Robb@Dev-Core

	Bundle sizes and recycle bundle counts are now configurable via cvars.

Change 2867187 on 2016/02/15 by Steve.Robb@Dev-Core

	Fix for double-buffered free batch recycling.

Change 2868533 on 2016/02/16 by Steve.Robb@Dev-Core

	FBundle class for better bundle management and clarity.

Change 2870302 on 2016/02/17 by Steve.Robb@Dev-Core

	Visualizer fixes for VS2015 and VS2013 Update 5.
	Quotes removed from invalid value nodes on PS4.

Change 2870778 on 2016/02/17 by Steve.Robb@Dev-Core

	FMalloc::FlushCurrentThreadCache for returning thread-local cached memory back to the global allocator.

Change 2873917 on 2016/02/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fixing UHT not respecting #if WITH_EDITORONLY_DATA properties inside of #if !CPP block.
	Removed temp hack from MaterialExpression.IO related to the bugfix.

Change 2871812 on 2016/02/18 by Graeme.Thornton@GThornton_DevCore

	Fix crash in UnrealPak when signing is enabled

#lockdown Nick.Penwarden

[CL 2875730 by Robert Manuszewski in Main branch]
2016-02-22 11:17:03 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Michael Schoell
db9c8e2240 UProperty and UFunction metadata for Category can now be localized and have improved FText usage throughout the editor (Blueprints, Behavior Trees, Materials, etc).
Big conversion of FStrings and FNames to FText.

Version bump to move some MaterialFunction UProperty from a TArray<FString> to TArray<FText> (some Engine assets are older than being allowed to auto-convert the UProperty)

Auto conversion of FName to FText (and back) now supported (as well as TArrays of those types).

Searching categories by both the localized string and the source string is now supported in Blueprints.

#jira UE-14481 - We are missing ability to translate node categories

#codereview Justin.Sargent

[CL 2542875 by Michael Schoell in Main branch]
2015-05-08 10:46:42 -04:00
Richard TalbotWatkin
3d091ac3d4 Default parameter values on parameters defined inside material functions are now obtained correctly, and fixed const correctness on various material methods.
#jira UE-9926 - Default Values of Parameters from Material Function not saving in Material Instances

[CL 2458137 by Richard TalbotWatkin in Main branch]
2015-02-24 03:38:42 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Jaroslaw Palczynski
9927c72622 Missing headers NonUnityTestCompile_OnMac build fix.
[CL 2339852 by Jaroslaw Palczynski in Main branch]
2014-10-24 10:40:35 -04:00
Max Preussner
223da58aae Landscape: Fixed non-unity builds
Also NULL to nullptr

#CodeReview: jaroslaw.palczynski

[CL 2331774 by Max Preussner in Main branch]
2014-10-16 12:23:38 -04:00
Jaroslaw Palczynski
1b50963ccd Landscape module from Engine split out.
[CL 2331341 by Jaroslaw Palczynski in Main branch]
2014-10-16 05:16:44 -04:00