Commit Graph

20 Commits

Author SHA1 Message Date
yujiang wang
d30fed9551 Fix CPU Lightmass by coverting LWC types to single precision
#rb juan.canada
#preflight 619c5386fa0b360c407f9573

#ROBOMERGE-AUTHOR: yujiang.wang
#ROBOMERGE-SOURCE: CL 18266488 in //UE5/Release-5.0/... via CL 18266508
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18266515 by yujiang wang in ue5-release-engine-test branch]
2021-11-22 22:06:39 -05:00
Ryan Durand
74c879d5f3 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870960 by Ryan Durand in Main branch]
2019-12-26 23:06:02 -05:00
Marcus Wassmer
6517c68ef5 Copying //UE4/Dev-RenderPlat-Staging@8684824 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 8684840 by Marcus Wassmer in Main branch]
2019-09-14 09:45:25 -04:00
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
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
Chris Bunner
156d74fdd3 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3635055)
#lockdown Nick.Penwarden

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

Change 3503468 by Marcus.Wassmer

	Fix merge conflicts

Change 3537059 by Ben.Marsh

	Fixing case of iOS directories, pt1

Change 3537060 by Ben.Marsh

	Fixing case of iOS directories, pt2

Change 3608300 by Chris.Bunner

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

Change 3608302 by Chris.Bunner

	Fixed decal lifetime fading.

	#jira UE-48400

Change 3608303 by Chris.Bunner

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

	#jira UE-48254

Change 3608455 by Mark.Satterthwaite

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

	#jira UE-47372

Change 3608462 by Rolando.Caloca

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

Change 3608491 by Rolando.Caloca

	DR - hlsl - Fix crash when type was not found

Change 3608513 by Rolando.Caloca

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

Change 3608794 by Mark.Satterthwaite

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

	#jira UE-47614

Change 3608929 by Mark.Satterthwaite

	Fix ambiguous expression compile error.

Change 3608991 by Mark.Satterthwaite

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

Change 3609090 by Uriel.Doyon

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

Change 3609659 by Richard.Wallis

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

Change 3610552 by Mark.Satterthwaite

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

Change 3610662 by Rolando.Caloca

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

Change 3610830 by Michael.Lentine

	ByteAddressBuffer does not have a subtype.

Change 3610869 by Rolando.Caloca

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

Change 3610982 by Mark.Satterthwaite

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

Change 3610996 by Rolando.Caloca

	DR - hlsl - Actual fix for 0.r

Change 3611312 by Rolando.Caloca

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

Change 3611345 by Mark.Satterthwaite

	Missed the hash-table destructor in previous change.

Change 3611372 by Rolando.Caloca

	DR - vk - New barrier/layout api

Change 3611445 by Mark.Satterthwaite

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

Change 3611686 by Mark.Satterthwaite

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

	#jira UE-48881

Change 3611743 by Mark.Satterthwaite

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

Change 3611746 by Mark.Satterthwaite

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

Change 3611756 by Mark.Satterthwaite

	Missed a header file in last commit.

Change 3611836 by Mark.Satterthwaite

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

Change 3611843 by Mark.Satterthwaite

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

Change 3612279 by Michael.Lentine

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

Change 3612595 by Rolando.Caloca

	DR - hlslcc - Rebuilt with CL 3611345

Change 3612665 by Rolando.Caloca

	DR - Make cubemap mip barrier consistent with HZB mip barriers

Change 3612758 by Daniel.Wright

	FColor usage comment

Change 3612980 by Rolando.Caloca

	DR - hlsl - Do not overflow ints

Change 3613068 by Rolando.Caloca

	DR - vk - Initial fix for transition validation warnings

Change 3613115 by Daniel.Wright

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

Change 3613124 by zachary.wilson

	Enabling Eye-Adaptation in TM-ShaderModels.

Change 3613205 by Mark.Satterthwaite

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

Change 3613208 by Mark.Satterthwaite

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

Change 3613354 by zachary.wilson

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

Change 3613409 by Rolando.Caloca

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

Change 3613518 by Daniel.Wright

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

Change 3613610 by Daniel.Wright

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

Change 3613651 by Daniel.Wright

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

Change 3613696 by Mark.Satterthwaite

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

Change 3613697 by Rolando.Caloca

	DR - vk - Fix missing layout

Change 3613922 by Rolando.Caloca

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

Change 3614009 by Mark.Satterthwaite

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

Change 3614015 by Mark.Satterthwaite

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

Change 3614909 by Rolando.Caloca

	DR - Fix static analysis

Change 3614916 by Michael.Lentine

	Add function to convert FP32 to FP16

Change 3614957 by Mark.Satterthwaite

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

Change 3614995 by Mark.Satterthwaite

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

Change 3615035 by Rolando.Caloca

	DR - Generate mips using shader for HZB

Change 3615561 by Rolando.Caloca

	DR - Fix deprecation warning

Change 3615787 by Mark.Satterthwaite

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

	#jira UE-48919

Change 3616317 by Mark.Satterthwaite

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

Change 3616357 by Mark.Satterthwaite

	And fix some compile errors...

Change 3616473 by Rolando.Caloca

	DR - Render pass api minor changes

Change 3616518 by Mark.Satterthwaite

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

	#jira UE-48472

Change 3616706 by Rolando.Caloca

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

Change 3616770 by Rolando.Caloca

	DR - vk - Mark GIsGPUCrashed on device lost

Change 3616993 by Daniel.Wright

	IndirectLightingCacheQuality respects VolumetricLightingMethod

Change 3616996 by Daniel.Wright

	Volumetric Lightmap show flag is respected by Volumetric Fog

Change 3616999 by Daniel.Wright

	Fixed ObjectRadius in Volume domain materials

Change 3617777 by Rolando.Caloca

	DR - Fix static analysis warning

Change 3617863 by Guillaume.Abadie

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

	#jira UE-48159

Change 3618133 by Rolando.Caloca

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

Change 3618292 by Michael.Lentine

	Add support for Expressions, Jump Statments, and Structs.

Change 3618326 by Rolando.Caloca

	DR - vk - Fix transition flags

Change 3618408 by Daniel.Wright

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

Change 3618413 by Daniel.Wright

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

Change 3618439 by Mark.Satterthwaite

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

Change 3618468 by Rolando.Caloca

	DR - vk - Fix copy to non render target surface

Change 3618696 by Daniel.Wright

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

Change 3618779 by Mark.Satterthwaite

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

Change 3618789 by Daniel.Wright

	Added missing file

Change 3618816 by Daniel.Wright

	Another missing file

Change 3618855 by Rolando.Caloca

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

Change 3618887 by Rolando.Caloca

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

Change 3618999 by Mark.Satterthwaite

	Definitions for Metal's new CaptureManager & CaptureScope classes.

Change 3619790 by Jian.Ru

	Add some debug info
	#jira UE-48710

Change 3619834 by Rolando.Caloca

	DR - vk - static analysis fix

Change 3619952 by Rolando.Caloca

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

Change 3620191 by Jian.Ru

	Revert 3584245 to prevent focus stealing
	#jira UE-49044

Change 3620402 by Mark.Satterthwaite

	Remaining Metal definitions for mtlpp.

Change 3620803 by Brian.Karis

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

Change 3620904 by Michael.Lentine

	Change the order of static and const

Change 3620975 by Rolando.Caloca

	DR - Updated Vulkan headers to SDK 1.0.57.0

Change 3621026 by Rolando.Caloca

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

Change 3621070 by Rolando.Caloca

	DR - glslang - Fix pdb option

Change 3621157 by Arciel.Rekman

	Added files to cross-build glslang on Windows.

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

Change 3621194 by Rolando.Caloca

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

Change 3621225 by Rolando.Caloca

	DR - Revert glslang (Back out changelist 3621194)

Change 3621254 by Mark.Satterthwaite

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

Change 3621261 by Mark.Satterthwaite

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

Change 3621262 by Mark.Satterthwaite

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

Change 3621263 by Mark.Satterthwaite

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

Change 3621301 by Rolando.Caloca

	DR - Unity build fix

Change 3621349 by Mark.Satterthwaite

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

Change 3621546 by Uriel.Doyon

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

Change 3622210 by Rolando.Caloca

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

Change 3622349 by Arciel.Rekman

	Better build script for Linux glslang and a bugfix.

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

Change 3622401 by Rolando.Caloca

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

Change 3622506 by Rolando.Caloca

	DR - vk - Back out changelist 3622401

Change 3622521 by Mark.Satterthwaite

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

Change 3622910 by Rolando.Caloca

	DR - static analysis fix

Change 3622964 by Mark.Satterthwaite

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

	#jira UE-48193

Change 3622986 by Mark.Satterthwaite

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

Change 3623266 by Rolando.Caloca

	DR - Fix GL4 rendering

	#jira UE-49187

Change 3623377 by Daniel.Wright

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

Change 3623427 by Mark.Satterthwaite

	Fix MetalViewport compile errors on Xode 8.3.

	#jira UE-49231

Change 3623443 by Daniel.Wright

	Fixed out of bounds crash in lightmass

Change 3623751 by Daniel.Wright

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

Change 3625142 by Guillaume.Abadie

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


Change 3625983 by Jian.Ru

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

Change 3626015 by Jian.Ru

	Small fix to 3625983

Change 3626294 by Michael.Trepka

	Copy of CL 3535792 and 3576637

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

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

	#jira UE-48018

Change 3626532 by Marcus.Wassmer

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

Change 3626548 by Ryan.Brucks

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

Change 3626874 by Mark.Satterthwaite

	Fix Metal 2.0 compilation.

Change 3626997 by Rolando.Caloca

	DR - vk - cis fix
	- Initial RGBA16 readback

Change 3627016 by Mark.Satterthwaite

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

Change 3627040 by Brian.Karis

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

Change 3627055 by Mark.Satterthwaite

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

Change 3627057 by Mark.Satterthwaite

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

Change 3627083 by Mark.Satterthwaite

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

Change 3627788 by Chris.Bunner

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

Change 3627834 by Rolando.Caloca

	DR - cis fix

Change 3627847 by Rolando.Caloca

	DR - 4th try to fix static analysis

Change 3627877 by Guillaume.Abadie

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

	#jira UE-48063

Change 3628035 by Marcus.Wassmer

	Duplicate 3620990
	Smarter scenecapture allocation behavior.

Change 3628204 by Daniel.Wright

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

Change 3628217 by Mark.Satterthwaite

	Fix InfiltratorForward project defaults so that iOS will package.

Change 3628515 by Arne.Schober

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

Change 3628550 by Chris.Bunner

	Merge fixes.

Change 3628597 by Chris.Bunner

	Merge fixes.

Change 3628656 by Michael.Trepka

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

Change 3628685 by Daniel.Wright

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

Change 3629094 by Ryan.Brucks

	Fixes to RenderTargetCreateStaticTexture2DEditorOnly with additional error checks

	#RB none

Change 3629223 by Rolando.Caloca

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

Change 3629491 by Rolando.Caloca

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

Change 3629663 by Daniel.Wright

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

Change 3629664 by Daniel.Wright

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

Change 3629708 by Rolando.Caloca

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

Change 3629770 by Mark.Satterthwaite

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

Change 3629793 by Daniel.Wright

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

Change 3629859 by Mark.Satterthwaite

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

Change 3630790 by Mark.Satterthwaite

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

Change 3630990 by Rolando.Caloca

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

Change 3631071 by Mark.Satterthwaite

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

Change 3631076 by Rolando.Caloca

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

Change 3631250 by Mark.Satterthwaite

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

Change 3631911 by Chris.Bunner

	Back out changelist 3628035.

	#jira UE-49364, UE-49365

Change 3632041 by Mark.Satterthwaite

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

	#jira UE-49439

Change 3632261 by Brian.Karis

	SM4 fallback for reflection captures.

Change 3632281 by Mark.Satterthwaite

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

Change 3632382 by Rolando.Caloca

	DR - vk - Fix clang warning

Change 3633338 by Chris.Bunner

	Static analysis/Linux compile fix.

	#jira UE-49502

Change 3633616 by Jian.Ru

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

Change 3633818 by Daniel.Wright

	Better indirection texture clamping and asserts

Change 3634319 by Mark.Satterthwaite

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

	#jira UE-49381

Change 3634613 by Rolando.Caloca

	DR - Call discard on bulk data for textures

	#jira UE-49533

Change 3634654 by Mark.Satterthwaite

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

	#jira UE-49381

Change 3634820 by Mark.Satterthwaite

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

	#jira UE-49381

Change 3634821 by Mark.Satterthwaite

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

[CL 3635058 by Chris Bunner in Main branch]
2017-09-09 16:29:11 -04:00
Marc Audy
03d64a49e8 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3293188)
#rb none
#lockdown Nick.Penwarden

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

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

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

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

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

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

	removed duplicated entries from visual logger shape rendering
	#ue4

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

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

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

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

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

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

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

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

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

	update to music utilities.

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

	Updates to synthesis plugin and some new features to DSP objects

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

	Updates to music maps

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

	Removing pragma optimization code accidentally checked in

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

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

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

	Fixing a few bugs in DSP objects

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

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

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

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

	Fix build.

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

	Turn off html5 trying to build apex.

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

	Fix build

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

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

	#JIRA UE-40469

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

	Put in missing virtual

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

	Updates to OtonOkeMap

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

	Cleanup autos

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

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

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

	#jira UE-40369

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

	Optimize GetDefaultSubobjectByName and GetDefaultSubobjects
	Remove autos

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

	Bringing optimizations to dev-framework

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

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

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

	Updating MidiSynthTestBP's default SynthPreset pan value.

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

	Updating ES1Bank_Bass

	Updating OtonOkeMap

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

	Some fixups for pan modulation

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

	Turning the bass down a bit on OtonOkeMap

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

	Fix spelling error

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

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

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

	Refactor immediate mode api to take PxD6Joint and PxRigidActor instead.

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

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

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

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

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

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

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

	Fix missed fixup of deprecated constructor use

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

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

	#jira UE-39633

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

	Adding input map and some testing content to Xenakis

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

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

	Also, did similar changes to GetRandomReachablePointInRadius and GetRandomPointInNavigableRadius

	#jira UE-40368

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

	Fix CIS issue caused by 3257167.

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

	Additional FBox constructor deprecation fixups

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

	Fixed error on Xenakis input pawn

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

	Update to InputListener

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

	No reason to pass simple types by reference

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

	Attempt to turn android physx libs back to static libs.

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

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

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

	Additions to synth module and updates to dsp objects

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

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

	Duplicating input test map for some FX work

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

	Modify skybox in test map to be dark and spooky

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

	substituted classes, changed wind speed and adjusted level lighting

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

	substituted triplet pawn and motion controller classes, enabled grabbing animations

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

	Getting source effects working for GDC demo

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

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

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

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

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

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

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

	Fixed some zippering introduced by applying volume twice.

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

	Interface changes, pawn output values wip

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

	Pawn should be outputting all correct values for Tripletsinterface

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

	Edge lights and Spherical Density Materials

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

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

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

	Fixing CIS build error

	Surprised that MSVC allows that...

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

	Made UGameplayTask::ResourceOverlapPolicy configurable via ini files #UE4

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

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

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

	Fix static analysis warning

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

	BTTask_RotateToFaceBBEntry comment spelling fix #UE4

	#jira UE-40669

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

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

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

	#anim

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

	#code review: Martin.Wilson

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

	Immediate mode spawns its own actors.

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

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

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

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

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

	First iteration of contact enabling/disabling for immediate mode.

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

	Remove some autos

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

	Fix crash with required bones index not using property indexing

	#jira: UE-40786

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

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

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

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

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

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

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

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

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

	Make sure physics asset collision disabled works in immediate mode.

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

	Added the ability to override physics asset for immediate mode

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

	Added override gravity for immediate mode.

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

	NvCloth Source

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

	NvCloth Lib
	#rnx

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

	NvCloth Bin
	#rnx

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

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

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

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

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

	Fix SceneProxy shadowing in UGeometryCacheComponent.

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

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

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

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

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

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

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

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

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

	Added component space sim for immediate mode

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

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

	Replaced clothing with new simulation framework

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

	Minor Update to cloth map for test

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

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

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

	Small tweaks

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

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

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

	Break apart physics asset for crash bug

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

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

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

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

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

	Post-import script support
	#jira UEFW-80

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

	Move soundwave-internal curve tables to advanced display

	Exposing it was confusing to audio people

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

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

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

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

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

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

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

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

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

	Fix for Anim import script crash in GetBonePosesForTime

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

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

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

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

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

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

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

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

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

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

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

	Added immediate physics preview in phat.

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

	PhAT now depends on immediate mode plugin. Fix build

	#JIRA UE-41179

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

	Fix for crash in Persona with Anim Modifiers

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

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

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

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

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

	Blacklisted double promotion warning on ps4 NvCloth build
	#rnx

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

	Removed CUDA dependencies from NvCloth cmake files

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

	Fix phat ragdoll in immediate mode updating sketal mesh component transform

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

	Add position/velocity iteration to immediate mode

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

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

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

	Removing unused #ifdef

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

	Getting rid of static analysis warning

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

	fixed custom navlink Id collisions
	#ue4

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

	fixed comments in GameplayDebugger.h
	#jira UE-41103

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

	Test map for spawn sound/force feedback bug.

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

	fixed compilation warning
	#ue4

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

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

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

	Fix immediate mode crashing when joint is empty.

	#JIRA UE-41026

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

	Turn on immediate mode plugin by default

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

	Immediate mode supports heightfield collision.

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

	Fix immediate mode cache not being initialized properly.

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

	Fix CIS error in ImmediatePhysicsSimulation.cpp

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

	Assets for RigidBody node bug

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

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

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

	GDC AnimTech Demo: adjusted minion physics assets
	none

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

	Updating QA-Physics map.

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

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

	Fixed inertia scales on Owen mesh

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

	Fixes for clothing behavior changes
	#jira UE-41092

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

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

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

	Added new scenario to QA-Physics map.

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

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

	RigidBody node test asset

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

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

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

	First round of assets for force feedback testing

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

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

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

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

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

	Updated QA-Physics map

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

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

	Details customization for editing PoseDriver targets list

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

	Fix bad merge
	Fix file types

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

	Updated Force Feedback asset

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

	moving asset

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

	Fixed project generation failing after main merge

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

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

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

	Expose radial forces to immediate mode

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

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

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

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

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

	Quick iteration on minion demo

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

	Fix for CIS in RBFSolver.h

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

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

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

	Adding Pose driver additive assets

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

	Add Mambo mesh and Skeleton

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

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

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

	Cook Orion Win64 fix #UE4

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

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

	Additional CIS fixes

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

	More CIS fixes

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

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

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

	Keep fixing CIS

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

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

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

	More CIS fixes

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

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

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

	Fix potential null dereference in ragdoll node

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

	May fix remaining CIS issues

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

	Fix linux CIS

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

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

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

	Fixup mistakes in converting redirects

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

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

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

	Update arcblade phys asset for immediate mode

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

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

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

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

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

	Fix AVIWriter module compilation on Mac

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

	Fixes for Dx NvCloth shader warnings

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

	Fix missing include

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

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

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

	Properly implement AVIWriter module

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

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

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

	Add IsInAir method to UVehicleWheel.

	#jira UE-38369

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

	UE-41435 Fixing PIE audio

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

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

	RecomputeTangents Test Assets

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

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

	#jira UE-41527
	#jira UE-41518

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

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

	#JIRA UE-41529

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

	Fix CIS

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

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

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

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

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

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

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

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

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

	fixing busted quotes around defaultvalues

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

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

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

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

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

	NvCloth Upgrade to 21604115
	Added Linux+Mac support

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

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

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

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

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

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

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

	Copy from CharacterRigging to Dev-Framework

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

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

	Fix crash opening a media sound wave

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

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

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

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

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

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

	Fix to BuildPhysX task to trigger Mac and Linux builds properly

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

	Change PhysXCommon back to dylib

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

	Fixed project file identification not working for NvCloth under XCode

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

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

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

	potential compile fix for Ocean Editor

	#code review:Thomas.Sarkanen

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

	Link against static PhysXCommon for mac

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

	Fix CIS

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

	fix compile error

	#code review:Thomas.Sarkanen, Marc.Audy

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

	Fixed ensure when deselecting bones in anim BP editor

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

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

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

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

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

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

	compile fix

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

	Check in content to work with

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

	Fix skeletal mesh not simulating when using an aggregate.

	#JIRA UE-41593

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

	Exposed transforms to cinematics so they can be animated

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

	Fix lock warnings for physx

	#JIRA UE-41591

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

	GDC Arcblade setup tests.

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

	Fix build issue of shadow variable

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

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

	#JIRA UE-41026

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

	fix compile issue

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

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

	#code review:Thomas.Sakanen

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

	Fixed IK sinking issue - or moving

	#code review:Thomas.Sarkanen

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

	Fixed real shadow error

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

	fixed build issue

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

	Added rig bone mapping to Ice's skeletal mesh

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

	Added ControlRig map with Ice setup to pose

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

	Fixed up static analysis warning

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

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

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

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

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

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

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

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

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

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

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

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

	Changing the asset for JamesG.

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

	Replace old PoseDrive test with Danny's new one

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

	fixed issue with undo transaction buffer

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

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

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

	Merging using Raven_To_Dev-Framework

	Originally from CLs 3249471, 3258522, 3260271, 3273791:

	Sequencer: More work supporting array properties more generically

	+ fixes

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

	Add thickness option to DrawWireDiamond

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

	Add spin option to VectorInputBox

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

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

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

	Fixed typo in filename (fallout from search and replace)

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

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

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

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

	CIS fix for fallout from Raven changes

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

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

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

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

	Fixing grammar in popup messages.

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

	Make GetAIController BlueprintPure
	#jira UE-41654

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

	Reorder header to avoid include tool warnings

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

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

	#code review: Thomas.Sarkanen

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

	Touch immediate mode file to force physx re-link

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

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

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

	Fix issue of notify looping.

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

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

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

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

	added set up spine option

	#code review:Thomas.Sarkanen

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

	Temporarily turn off phat immediate mode preview which crashes.

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

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

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

	Fix issue with notify looping bug

	#jira: UE-31463

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

	Clean up bad merge caused by Fortnite integration to main

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

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

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

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

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

	Fix for convex hull cooking (from Josh.S)

	#JIRA UE-41656

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

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

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

	Touch physx DDC key for new cooking.

	#JIRA UE-41656

[CL 3293329 by Marc Audy in Main branch]
2017-02-08 17:53:41 -05:00
Ben Marsh
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
Ben Marsh
6af6c038ea Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2963214 on 2016/05/02 by Ben.Marsh

	BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running.

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

	EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch.

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

	EC: Store properties for the last succeeded builds, including the list of users that were notified about it.

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

	EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status.

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

	UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now.

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

	BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks.

Change 2978440 on 2016/05/16 by Ben.Marsh

	EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check.

Change 2979446 on 2016/05/16 by Ben.Marsh

	Rename ambiguous headers which exist with the same name in different paths.

Change 2979839 on 2016/05/16 by Ben.Marsh

	UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities.

Change 2979852 on 2016/05/16 by Ben.Marsh

	UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names

Change 2980113 on 2016/05/17 by Ben.Marsh

	UE4: Fix include paths for HTML5 SocketSubsystem files.

Change 2980117 on 2016/05/17 by Ben.Marsh

	UE4: Remove reference to private PCH from Oculus common code.

Change 2980186 on 2016/05/17 by Ben.Marsh

	UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE.

Change 2980879 on 2016/05/17 by Ben.Marsh

	UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h

Change 2981117 on 2016/05/17 by Ben.Marsh

	Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h

Change 2981839 on 2016/05/18 by Ben.Marsh

	Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform.

#lockdown Nick.Penwarden

[CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
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
Nick Penwarden
9bb3cb533a Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown ben.marsh

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

Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream

	Capsule shadows
	* Capsule shadows excel at extremely soft area shadows caused by a large light source angle, but don't support accurate self-shadowing
	* Artists can setup a physics asset containing Spheres and Sphyls (capsules) for a skeletal mesh that will be used to represent the mesh's occlusion
	* These shapes can then be used for direct shadowing (bCastCapsuleDirectShadow) on a skeletal mesh component, whose softness depends on the light source angle / radius
	* The shapes can also be used to create an indirect shadow (bCastCapsuleIndirectShadow), whose direction and softness is derived from the precomputed sky occlusion (stationary sky light) or primary indirect lighting (static sky light)
	* Capsule shadowing is computed at half res and uses tiled deferred culling for efficiency - only implemented for PC SM5 + PS4 so far
	* Shadowing of movable skylights is not yet supported

Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data

	Basepass drawlist are now merged within a single drawlist.
	Lighting policy parameters are now accessed through a uniform buffer.
	Changed the global resource initialization so that InitRHI now comes before InitDynamicRHI
	#codereview nick.penwarden

Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams

	Remove unused RHI methods:

	RHIIsDrawingViewport
	RHIGpuTimeBegin
	RHIGpuTimeEnd

	Made default/empty versions of these calls and removed stubs from RHIs that don't use them:

	RHISuspendRendering
	RHIResumeRendering
	RHIIsRenderingSuspended

Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream

	Lighting channels - each component and light can choose from 3 channels
	* Primitives output their channel mask to stencil during the base pass, the masks are copied to a texture after the base pass, deferred lighting passes compare the primitive mask against the light's mask
	* Dynamic shadow casting also respects the channels
	* Only works on opaque materials, direct lighting, dynamic lighting
	* Not implemented for tiled deferred atm
	* This will replace CastsShadowsFromCinematicObjectsOnly in the future
	#rb Martin.Mittring

Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New

	First pass at separate Async Compute Context
	#codereview Lee.Clark,Daniel.Wright
	#rb Gil.Gribb

Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering

	Removed a lot of complexity of the skeletal mesh motionblur code (better for multithreading, simpler, faster) but going from one large buffer to per mesh buffers. Upload of bones only needed once.

	* GPUSkinCache didn't even work before (in this branch)
	* tested  BasePass velocity
	* tested split screen
	* tested editor pause
	* matinee camera cut (no need, invalidates velocity)
	* tested CPU Skin?  (never has motionblur)
	* tested CreateSceneProxy (recreation is prevented in CreteSceneProxy unless bone count changes)
	* test ES2 -featureleveles2

	#rb: Rolando.Caloca

Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data

	Embree integration into Lightmass
	Can be enabled through Lightmass.ini  [DevOptions.StaticLighting]bUseEmbree.
	Also [DevOptions.StaticLighting]bVerifyEmbree will compare ray casting results.
	Only usable on Win64 with this submit.
	#review daniel.wright

Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering

	added SSAO CS version, can be enabled with

	r.AmbientOcclusion.Compute 1

	Not optimized yet
	#rb:Olaf.Piesche

Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream

	Lightmass solver quality improvements
	* IndirectLightingScale is no longer applied to photons, avoids splotchy artifacts when using small scales
	* New 'Lightmass Portal' actor / component which tells the solver where to look for significant lighting.  When lighting with a Static Skylight only, in a mostly indoor environment, setting up these portals is the only way to get high quality.
	* Skylight bounce lighting is now much more accurate and leverages adaptive sampling
	* Fixed a bug that effectively disabled adaptive sampling on high IndirectLightingQualities
	* Shadow penumbras are also improved by IndirectLightingQuality
	* Texel debugging is now a cvar 'r.TexelDebugging', instead of requiring a full recompile

Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data

	Quad Complexity ViewMode (PCD3D_SM5 only).
	Shader Complexity with Quad Overhead ViewMode (PCD3D_SM5 only). Require ShaderComplexity ViewMode & Show.Visualize.QuadOverhead
	#review brian.karis

Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering

	improved SSAO quality (less high frequency noise) to avoid TemporalAA smearing

Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S

	DevRendering - Enable removing unused outputs on PS4 shader pipelines, disable by default removing unused on D3D (toggable with r.D3DRemoveUnusedInterpolators)
	#codereview Marcus.Wassmer

Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev

	Submitting pull request from user Pierdek.
	Early out of particle collision module update if there are no active particles.

	#github
	#1614

Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering

	UE4 - Fixed the experimental r.RHICmdBalanceParallelLists 2 mode and renabled it for orion.

Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering

	UE4 - Added a path so that texture streaming can avoid flushing the RHI thread.

Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream

	Added new PrimitiveComponent setting bSingleSampleShadowFromStationaryLights
	* When enabled, shadowing of a movable component from a stationary directional light will come from the Volume Lighting Samples precomputed by Lightmass
	* This provides essentially free on/off shadow receiving on dynamic objects, with a fade over time between states
	* Lighting has to be rebuilt once for this to work
	#rb Rolando.Caloca

Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering

	UE4 - Dynamically set stream source to avoid creating a separate drawing policy for each static mesh with vertex colors.
	#rb Daniel.Wright

Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data

	Enabled Embree by default
	#review daniel.wright

==========================
ALL CHANGELISTS
==========================

Change 2720123 on 2015/10/07 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - 'integrate' Tem'
Change 2721682 on 2015/10/08 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Eliminated a fatal error '
Change 2721815 on 2015/10/08 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - Fix crash exiti'
Change 2724755 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering -  D3D12 Fix Tier'
Change 2724781 on 2015/10/12 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - D3D12 Fix offse'
Change 2728317 on 2015/10/14 by Rolando.Caloca@Rolando.Caloca_T4688_5331 'Dev-Rendering - hlslcc - Fix fo'
Change 2729170 on 2015/10/14 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Force Lightmass volume sample g'
Change 2732131 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed resource transition issue'
Change 2732218 on 2015/10/16 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code cleanup '
Change 2733533 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Clear stencil to 0 after decals'
Change 2733540 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Capsule shadows * Capsule shado'
Change 2733546 on 2015/10/19 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Light shaft targets are only al'
Change 2733602 on 2015/10/19 by Uriel.Doyon@uriel.doyon_office_data 'Decals not writing to Normal ca'
Change 2733627 on 2015/10/19 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix for transition ensure. '
Change 2735292 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for dark lightmap precision'
Change 2735298 on 2015/10/20 by Brian.Karis@Brian.Karis_T3247_Rendering 'Fix for speedtree LOD transitio'
Change 2735460 on 2015/10/20 by Uriel.Doyon@uriel.doyon_office_data 'Basepass drawlist are now merge'
Change 2737214 on 2015/10/21 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Expanded a warning when importi'
Change 2738581 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Updated comment on stencil usag'
Change 2738583 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Changed bound but not set scene'
Change 2738584 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed skylight occlusion maps b'
Change 2738589 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmap streaming fixes * Chan'
Change 2738593 on 2015/10/22 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fix from licensee for race cond'
Change 2738982 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Activating CanTickOnAnyThread f'
Change 2739032 on 2015/10/22 by Olaf.Piesche@Olaf.Piesche_roaming 'Fixing compiler barf with Clang'
Change 2741517 on 2015/10/26 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRindering - D3D12 - Integrat'
Change 2743790 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed texel debugging on static'
Change 2743958 on 2015/10/27 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comments '
Change 2744153 on 2015/10/27 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Unity compile fix '
Change 2744741 on 2015/10/28 by Nick.Penwarden@nickp_streams 'Remove unused RHI methods:  RHI'
Change 2745714 on 2015/10/28 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lighting channels - each compon'
Change 2746242 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix crashes on init by swapping'
Change 2746243 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'First pass at separate Async Co'
Change 2746296 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Buffer label frees so we don't '
Change 2746297 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'updated comment '
Change 2746343 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746347 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2746811 on 2015/10/29 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Draw event for compute commandl'
Change 2746989 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Removed a lot of complexity of '
Change 2747127 on 2015/10/29 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Improved game console printout '
Change 2747702 on 2015/10/30 by Chris.Bunner@Chris.Bunner_Dev_Stream 'Bumped Lightmass StaticMesh imp'
Change 2747954 on 2015/10/30 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix SubmitDone not called TRC e'
Change 2747979 on 2015/10/30 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'polish console autocomplete tex'
Change 2750719 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Add Embree 2.7.0 for Win64 and '
Change 2750734 on 2015/11/02 by Uriel.Doyon@uriel.doyon_office_data 'Embree integration into Lightma'
Change 2750872 on 2015/11/02 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2751934 on 2015/11/03 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Disambiguate template function '
Change 2752190 on 2015/11/03 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed assert relating to '
Change 2752333 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Shader pipeline '
Change 2752655 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - Fix Materials pa'
Change 2752710 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added comment '
Change 2752711 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added better comment/help text '
Change 2752730 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'added SSAO CS version, can be e'
Change 2752766 on 2015/11/03 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Lightmass solver quality improv'
Change 2752869 on 2015/11/03 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Add shader pipel'
Change 2752882 on 2015/11/03 by Rolando.Caloca@Rolando.Caloca_T3903_S 'DevRendering - hlslcc - Metal -'
Change 2752899 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'small SSAO GPU optimization mov'
Change 2752934 on 2015/11/03 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor GPU optimization for SSAO'
Change 2753109 on 2015/11/03 by Uriel.Doyon@uriel.doyon_office_data 'Fixed final build '
Change 2753669 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed SM4 compiling '
Change 2754002 on 2015/11/04 by Nick.Penwarden@nickp_streams 'test change '
Change 2754018 on 2015/11/04 by Uriel.Doyon@uriel.doyon_office_data 'Quad Complexity ViewMode (PCD3D'
Change 2754115 on 2015/11/04 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed end of frame update'
Change 2754297 on 2015/11/04 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'PS4 compile fixes #codereview U'
Change 2754405 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor SSAO ALU optimizations fi'
Change 2754512 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'adjusted clamp for cvar '
Change 2754760 on 2015/11/04 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'improved SSAO quality (less hig'
Change 2755572 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - PS4 warning fix '
Change 2755667 on 2015/11/05 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed UE-22742, leak in t'
Change 2755722 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Remove unused co'
Change 2755814 on 2015/11/05 by Nick.Penwarden@nickp_streams 'Merging //UE4/Dev-Main to Dev-R'
Change 2755935 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Rebuild static m'
Change 2756003 on 2015/11/05 by Uriel.Doyon@uriel.doyon_office_data 'Reduce the number of precompute'
Change 2756145 on 2015/11/05 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Temp fix for GPU crash #rb none'
Change 2756308 on 2015/11/05 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Enable removing '
Change 2756435 on 2015/11/05 by Olaf.Piesche@Olaf.Piesche_roaming 'Disabling a check, to fix OR-85'
Change 2757063 on 2015/11/06 by Simon.Tovey@Simon.Tovey_Dev 'Submitting pull request from us'
Change 2757340 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed the experimental r.'
Change 2757341 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Changed the RHI thread di'
Change 2757342 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed lazy uniform buffer'
Change 2757343 on 2015/11/06 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Added a path so that text'
Change 2757500 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Add FrameSync to externalprofil'
Change 2757650 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'GBuffer should only be consider'
Change 2757665 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'UE-22816 Instruction count is n'
Change 2757834 on 2015/11/06 by Michael.Trepka@Michael.Trepka_a4202_Dev-Rendering 'Embree integration into Lightma'
Change 2757930 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix UT ensure #rb Peter.Knepley'
Change 2757931 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix Ocean ensure #rb josh.ander'
Change 2757946 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Removed invalid Lightmass asser'
Change 2757985 on 2015/11/06 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Added new PrimitiveComponent se'
Change 2758049 on 2015/11/06 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'OR-8600 CRASH: AllocationLeveli'
Change 2758059 on 2015/11/06 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'r.DumpTransitionsForResource #r'
Change 2758082 on 2015/11/06 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix resource tra'
Change 2758879 on 2015/11/09 by Rolando.Caloca@rolando.caloca_T3903_S 'DevRendering - Fix PSSL names f'
Change 2758911 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Fixed accidental force di'
Change 2758968 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled single frame buffer us'
Change 2758991 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix togglerhithread crash #rb G'
Change 2759058 on 2015/11/09 by Gil.Gribb@Gil.Gribb_Z2439_Dev-Rendering 'UE4 - Dynamically set stream so'
Change 2759063 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'fixed UE-22368 CLONE - GitHub 1'
Change 2759073 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'minor code quality improvements'
Change 2759501 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix particle ensure. '
Change 2759522 on 2015/11/09 by Marcus.Wassmer@Marcus.Wassmer_DevRendering_New 'Fix decals using CustomStencil.'
Change 2759610 on 2015/11/09 by Daniel.Wright@Daniel.Wright_G5038_RenderingStream 'Fixed line light source shadows'
Change 2759634 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Refined GBufferA resolving when'
Change 2759657 on 2015/11/09 by Martin.Mittring@Martin.Mittring_Z3941_Dev_Rendering 'Fixed ResourceTransition with r'
Change 2759693 on 2015/11/09 by Rolando.Caloca@Rolando.Caloca_T4688_S 'DevRendering - Fixed global sha'
Change 2759771 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Fixed editor hit proxy renderin'
Change 2760188 on 2015/11/09 by Uriel.Doyon@uriel.doyon_office_data 'Disabled some more deferred dec'
Change 2760523 on 2015/11/10 by Uriel.Doyon@uriel.doyon_office_data 'Enabled Embree by default #revi'

[CL 2761339 by Nick Penwarden in Main branch]
2015-11-10 17:11:09 -05:00
Marc Audy
e5bb9b4d0d Integrate all non-branch Engine/Source changes from //depot/UE4-Orion to //depot/UE4
#lockdown Ben.Marsh
#platformnotify Josh.Adams

[CL 2718236 by Marc Audy in Main branch]
2015-10-06 15:59:09 -04:00
Daniel Wright
10d3542bb2 Bumped Swarm cached static meshes to work around corrupt cache
[CL 2389271 by Daniel Wright in Main branch]
2014-12-15 18:01:29 -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
Ben Marsh
2cef4f4edd Fix more warnings in Lightmass due to deprecated functions.
[CL 2371149 by Ben Marsh in Main branch]
2014-11-26 16:36:02 -05:00
Dmitry Rekman
b8444adef8 Fixed clang warnings (&& and || in the same scope) in Lightmass.
- No change in code behavior (the code was correct AFAICT).

#codereview Daniel.Wright

[CL 2366031 by Dmitry Rekman in Main branch]
2014-11-19 23:45:24 -05:00
Max Preussner
3aece47882 Docs: Removed file comments and added missing code documentation
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.

Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks

[CL 2104067 by Max Preussner in Main branch]
2014-06-12 23:22:18 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00