Commit Graph

2 Commits

Author SHA1 Message Date
Marcus Wassmer
64e19e2224 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476)
#lockdown Nick.Penwarden

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

Change 3372740 by Chris.Bunner

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

Change 3374187 by Chris.Bunner

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

Change 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 3454636 by Uriel.Doyon

	Fixed point light having an extra scale of 16 in mobile
	#jira UE-45272

Change 3454844 by Uriel.Doyon

	Fixed extra X16 on some point lights
	#jira UE-45250

Change 3454934 by Chris.Bunner

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

Change 3461206 by Guillaume.Abadie

	Adds possibility to scene captures and player controller to render no primitives at all.

Change 3461207 by Guillaume.Abadie

	Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline.

	#jira UE-6810

Change 3461233 by Chris.Bunner

	Added Log10 material expression.
	Added tooltip for Log2 and Log10.

Change 3461434 by Michael.Trepka

	Copy of CL 3456118

	In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads.

	#jira UE-44961

Change 3461770 by Benjamin.Hyder

	Submitting TM-RayTracedDistanceField map

Change 3461929 by Marc.Olano

	Add Sobol blueprint and material node test maps to RenderTest project

Change 3462249 by Uriel.Doyon

	Translucency after DoF is now disabled when showflag postprocess is disabled.

Change 3462371 by Brian.Karis

	VT addressing is now 64bit to support huge sparse virtualized volumes

	16bit page tables working.

Change 3462936 by Marc.Olano

	Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions

Change 3464394 by Uriel.Doyon

	Improved synchronization for texture streaming commands.
	This fixes an issue when accessing FStreamingTexture for pending textures.

Change 3464743 by Guillaume.Abadie

	Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time.

Change 3464818 by Guillaume.Abadie

	Fixes compilation error in FindShaderRelativePath

Change 3465184 by Daniel.Wright

	r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings

Change 3465283 by Marc.Olano

	Update Sobol Gray code tables to match random order tables

Change 3465976 by Arne.Schober

	DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas.

	#RB none

Change 3467513 by Guillaume.Abadie

	Fixes an issue where primitives would no longer draw in gameplay.

	#jira UE-45550

Change 3471116 by Richard.Wallis

	Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms.  Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes.

	- Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error.  HLSL register binds not implemented in metal backend.

	#jira UE-39108

Change 3471117 by Richard.Wallis

	Drop down menus clip on 27" Screen iMacs.  Disable viewport HDR rendering on macOS 10.12.x when in editor.
	#jira UE-43026

Change 3471130 by Richard.Wallis

	Mac GPU hang causes editor output log to be written to the wrong file.  Try to emulate windows behaviour when opening a file for reading or writing.  Tested against behaviour of windows log file with multiple instances running.

	- Only defined in for Mac and non shipping.

	#jira UE-44934

Change 3471224 by Guillaume.Abadie

	Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects.

Change 3471646 by Daniel.Wright

	Fixed ensure opening UT system settings

Change 3471862 by Arne.Schober

	DR - revert accidently checked in changes.
	#RB Chris.Bunner

Change 3472249 by Guillaume.Abadie

	Implements virtual shader source directory mapping.

	- /Engine/... maps to Engine/Shaders/...
	- /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory
	- /Project/... maps to project's Shaders/ directory

Change 3472443 by Daniel.Wright

	Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible

Change 3474537 by Uriel.Doyon

	Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)

Change 3475192 by Guillaume.Abadie

	Implements LensDistortion engine plugin.

	This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
	 - It is implemented as the first engine plugin with its own shaders and render thread commands;
	 - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)

Change 3475209 by Guillaume.Abadie

	Back out changelist 3475192

Change 3475252 by Guillaume.Abadie

	Reland: Implements LensDistortion engine plugin.

	This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
	 - It is implemented as the first engine plugin with its own shaders and render thread commands;
	 - Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)

Change 3475389 by Guillaume.Abadie

	Adds LensDistortion plugin's feature tests.

Change 3475538 by Guillaume.Abadie

	Adds the /Engine/* prefix on all of the renderer's USF file references.

Change 3475568 by Guillaume.Abadie

	Adds a check for virtual shader source file path format in FShaderType::FShaderType()

Change 3475871 by Guillaume.Abadie

	Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath

Change 3475997 by Yujiang.Wang

	Workaround for a compiler optimization bug introduced in VS2015 Update 3.

	* The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark.
	* Debug builds don't exhibit this bug.
	* Semantics are exactly the same as the original code.

Change 3476203 by David.Hill

	Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes.  Only seen when Levels >=2
	#jira UE-45741

Change 3476536 by Benjamin.Hyder

	adding player start to Ray Traced Distance Field Shadows Map

Change 3478298 by Benjamin.Hyder

	disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map

Change 3478948 by Rolando.Caloca

	DR - Nicer check

Change 3478949 by Rolando.Caloca

	DR - Default GPU morphs to enabled

Change 3478950 by Rolando.Caloca

	DR - By default -vulkan will launch SM5

Change 3478984 by Rolando.Caloca

	DR - Pass down -vulkan

Change 3479655 by Richard.Wallis

	Video track does not switch in AVF Media Player.  Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track.

	- Minimal change to allow video track changes/selection.
	- Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput.  Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to...
	- Flush the audio sink sample buffers so we get instant audio track changes

	#jira UE-39750, UE-39749

Change 3479834 by Rolando.Caloca

	DR - Fix issue with bad vertex colors (per licensee)

Change 3480376 by Guillaume.Abadie

	Disables ComputeLightGrid() if no volumetric fog and no lighting.

	#jira UE-45377

Change 3480596 by Yujiang.Wang

	Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection

	* Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection
	* Fixed by taking View.bReverseCulling into account

	#jira UE-34452

Change 3480600 by Yujiang.Wang

	Fix for UE-42376

	* The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently.
	* This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap
	* If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed.

	#jira UE-42376

Change 3480784 by Rolando.Caloca

	DR - hlslcc - Initial support for [RW]StructuredBuffer

Change 3481690 by Uriel.Doyon

	Attempt to fix static analysis warning

Change 3482012 by Simon.Tovey

	Fixed issue when building distribution lookup tables where the final sample fell short of the max input time.
	As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT.

	#tests constant interpolation now works.

	#jira UE-45614

Change 3482965 by Yujiang.Wang

	Some quality of life changes for UE-42757

	* The UV overlay in static mesh editor now has a darker background
	* Selected edges are getting highlighted and bolder
	* When some edges are selected others turn grey

	#jira UE-42757

Change 3483014 by David.Hill

	Change labels on bloom boost from x,y,z to min, max, mult.
	#jira UE-43904

	a PropertyRedirect in BaseEngine.ini allows this to work with older version.

Change 3484573 by Yujiang.Wang

	Fix for shadow color not updated after light build when a texture is changed and reimported

	* Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter
	* Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed

	#jira UE-45647

Change 3484969 by Yujiang.Wang

	Fix for UE-39929 inconsistent type between C++ and shader code

	* MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp
	* Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp

	#jira UE-39929

Change 3485012 by Yujiang.Wang

	Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT

	#jira UE-39929

Change 3485146 by Guillaume.Abadie

	Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround.

	#jira UE-43455

Change 3486602 by Joe.Conley

	Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph.

Change 3487471 by Yujiang.Wang

	Github #3659: Improved performance of DumpUnbuiltLightInteractions

	* Replaced TArrays with TSets

	#jira UE-45783

Change 3487641 by Guillaume.Abadie

	Fixes some shader file name casing issues in LPV.

Change 3488014 by Uriel.Doyon

	New AllowAsyncLoading flag for UTexture::CachePlatformData().
	It allows to load the source texture data in the async task if the source bulk data was not yet loaded.

	Data loaded that way is not sharable between tasks and will be discarded.
	This is required because updating the source data is not thread safe.

	#jira UERNDR-190
	#jira UE-33401

Change 3488249 by Uriel.Doyon

	Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore.
	Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change.

	#jira UE-46004

Change 3490228 by Mark.Satterthwaite

	Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type).

	#jira UE-46067

Change 3490538 by Arne.Schober

	Back out changelist 3488249
	#RB none

Change 3490551 by Arne.Schober

	Back out changelist 3488249
	#RB none

Change 3491828 by Guillaume.Abadie

	Fixes another USf file reference casing issue in C++.

Change 3491924 by Yujiang.Wang

	Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level

	* Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp
	* We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black

	#jira UE-43302

Change 3492359 by Guillaume.Abadie

	Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping().

Change 3492367 by Marc.Olano

	Change Sobol texture size to 32x16, tweak distribution

Change 3492599 by Marcus.Wassmer

	PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01)

Change 3493473 by Uriel.Doyon

	Back out changelist 3490538

Change 3493590 by Uriel.Doyon

	Back out changelist 3490551
	Fixed missing #pragma once

Change 3493911 by Marcus.Wassmer

	Fix potential GPU crash/hang caused by out of bound subresource updates.
	Added checks at cross-platform level to catch any instance earlier.

Change 3494139 by Uriel.Doyon

	Fixed shadow variable issue on UE4Editor Linux.

Change 3494364 by Richard.Wallis

	Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt.  Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4.

	OpenGL left in the following areas:

	- OpenGLShaderCompiler
	- StandaloneRenderer

	The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made:

	- OpenGLTexture.cpp

	#jira UE-39108

Change 3494413 by Guillaume.Abadie

	Updates r.InvalidateCachedShader and bump ShaderVersion.ush.

Change 3494422 by Guillaume.Abadie

	Adds LensDistortion plugin's Private shader directory.

Change 3494717 by Guillaume.Abadie

	Strengthens shader compiler with checks on generated file names and shader type file names.

Change 3494763 by Guillaume.Abadie

	Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path.

Change 3494985 by Rolando.Caloca

	DR - Integrate Vulkan Rewrite

Change 3495031 by Rolando.Caloca

	DR - Delete file as it moved

Change 3495032 by Rolando.Caloca

	DR - Show Vulkan SM5 instead of SM4 on windows packaging
	- Also added support for Vulkan SM5_UB

Change 3495202 by Uriel.Doyon

	Fixed static analysis warning with pointer dereferencing.

Change 3495342 by Rolando.Caloca

	DR - clang compile fix

Change 3495354 by Rolando.Caloca

	DR - clang compile fixes

Change 3495420 by Marc.Olano

	Use Sobol sampling for PCSS

Change 3495799 by Rolando.Caloca

	DR - Delete old dev assets

Change 3496202 by Mark.Satterthwaite

	Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass.

	#jira UE-46070

Change 3496253 by Uriel.Doyon

	Fixed static analysis warning for IncludeTool

Change 3496631 by Guillaume.Abadie

	Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable.

Change 3496851 by Guillaume.Abadie

	Fixes back slash issues in Platform.usf.

Change 3496852 by Guillaume.Abadie

	Fixes other back slashes includes in PS4 specific usf files.

Change 3496941 by Guillaume.Abadie

	Adds a check() for no backslash in virtual shader file paths.

Change 3497661 by Guillaume.Abadie

	Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform.

Change 3497969 by Richard.Wallis

	Fix for start Up Movies Are not Playing for iOS Devices.  Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies.

	- Tested on iOS and Mac.

	#jira UE-39585

Change 3498035 by Guillaume.Abadie

	Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts.

Change 3498101 by Rolando.Caloca

	DR - Compile fix

Change 3498254 by Guillaume.Abadie

	Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching.

Change 3498264 by Guillaume.Abadie

	Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame

Change 3498371 by Yujiang.Wang

	Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2

	* Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews
	* Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures)

	#jira UE-46149

Change 3498409 by Rolando.Caloca

	DR - Swap resolves

Change 3498410 by Guillaume.Abadie

	Adds support for opacity output alpha for post process material when doing a draw material to render target.

Change 3498705 by Rolando.Caloca

	DR - Add UID for debugging mem allocations

Change 3498759 by Marcus.Wassmer

	No post processing in vertexcolor view mode

	#jira UE-44704

Change 3498891 by Rolando.Caloca

	DR - Minor Vulkan per frame allocator refactor in prep for changes

Change 3499206 by Rolando.Caloca

	DR - Fix temp frame allocator OOM on Vulkan

	#jira UE-45913

Change 3499319 by Rolando.Caloca

	DR - Vulkan support for StorageBuffer

Change 3499339 by Rolando.Caloca

	DR - Remove deprecated typedef

Change 3499400 by Rolando.Caloca

	DR - Remove some RHICmdList deprecated functions

Change 3499422 by Rolando.Caloca

	DR - Allow buffer transitions inside render passes

Change 3500370 by Rolando.Caloca

	DR - Compile fix

Change 3500474 by Rolando.Caloca

	DR - Fix static analysis

Change 3500517 by Guillaume.Abadie

	Exposes r.PostProcessing.PropagateAlpha to the renderer settings.

Change 3500537 by Guillaume.Abadie

	Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world.

	#jira UE-39389

Change 3501069 by Mark.Satterthwaite

	Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18.

	temporary fix for skewed textures on IOS 9
	#jira UE-44468

Change 3501164 by Michael.Lentine

	PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist)


Change 3501222 by Benjamin.Hyder

	Checking in Tm_SobolNoise map

Change 3501612 by zachary.wilson

	Adding testing content for RTDF shadows on planar reflections

Change 3501708 by Guillaume.Abadie

	Break FPostProcessSettings into smallers structs.

Change 3501830 by Olaf.Piesche

	#jira UE-39628; using fix proposed in UDN, will investigate further

Change 3501954 by Marcus.Wassmer

	Duplicate 3480903
	Light culling safety measures.

Change 3502032 by Mark.Satterthwaite

	Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9.

Change 3502118 by Uriel.Doyon

	Fixed shader compilation issues.

Change 3502191 by Guillaume.Abadie

	Implements Composure plugin to make compositing in UE4 easier.

Change 3502192 by Guillaume.Abadie

	Implements Composure feature testing in EngineTests

Change 3502196 by Guillaume.Abadie

	Creates a dependency of Composure plugin over LensDistortion plugin.

Change 3502213 by Arciel.Rekman

	Fix for loading shaders on Linux (UE-46276).

Change 3502243 by Brian.Karis

	Bent normal map support.

	Multibounce AO.
	Spherical Gaussian based specular occlusion.

Change 3502506 by Guillaume.Abadie

	Fixes compilation failure in Composure with unity build.

Change 3502507 by Guillaume.Abadie

	Fixes composure Set Pass with Render Target blueprint helper.

Change 3502510 by Guillaume.Abadie

	Attempts to fix ComposureUtils.cpp compile errors.

Change 3502515 by Guillaume.Abadie

	Some other composure failure fixes.

Change 3502545 by Guillaume.Abadie

	Fixes some unity build related error in Composure.

Change 3502548 by Guillaume.Abadie

	Fixes last missing includes in ComposurePostProcessPass.cpp

Change 3502672 by Guillaume.Abadie

	Fixes linux warning in Composure.

Change 3502790 by Ryan.Brucks

	float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break.

Change 3502836 by Guillaume.Abadie

	Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances.

	#jira UE-6810

Change 3503096 by Guillaume.Abadie

	Resave a unversioned asset.

Change 3503228 by Yujiang.Wang

	Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry

	* Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass
	* Replaced the true with bReflectiveShadowmap

	#jira UE-45646

Change 3503284 by Rolando.Caloca

	DR - Fixed initial clear on rendertargets
	- Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4
	- Dump the vulkan log into VS output log
	- Added validation for layouts when using dump log

Change 3503545 by Arciel.Rekman

	Fix black UI on Linux (UE-46333)

	- Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist.

	#jira UE-46333

Change 3503638 by Daniel.Wright

	[Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding

Change 3503787 by Marcus.Wassmer

	Fix difference between gpu/cpu morph target application

Change 3503902 by Marcus.Wassmer

	Roll back TAA refactor until we have time to look into the bad interaction with DOF.

Change 3503953 by Arne.Schober

	DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources.
	#RB Marcus.Wassmer

Change 3504131 by Rolando.Caloca

	DR - Maintain a cache of pipeline and descriptor set layouts
	- Fix marker dump

Change 3504462 by Guillaume.Abadie

	Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results.

	#jira UE-46277

Change 3504779 by Chris.Bunner

	Potential static analysis fix.

	#jira UE-46360

Change 3504950 by Marc.Olano

	Allow Sobol material nodes & textures only if feature level is at least ES3.1

	#jira UE-46334
	#jira UE-46317

Change 3505035 by Daniel.Wright

	Increased MaxSearchCount in GetShaderIncludes.  The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously.

Change 3505386 by Daniel.Wright

	GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf

Change 3505491 by Rolando.Caloca

	DR - Fix crash on first frame of particles on modern APIs

Change 3505557 by Chris.Bunner

	[Duplicate] Workaround for outdated shader map crash.

	#jira UE-46061

Change 3506071 by Rolando.Caloca

	DR - Vulkan fixes
	- Fix copy out of bounds reading textures to CPU
	- Defer event deletion
	- Split validation for errors and warnings
	- Skip validation error about attachment not used

Change 3506698 by Guillaume.Abadie

	Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge.

Change 3506797 by Rolando.Caloca

	DR - Fix static analysis

	#jira UE-46428

Change 3506861 by Rolando.Caloca

	DR - Fix crash due to layering violation

	#jira UE-46424
	#jira UE-46431

Change 3508098 by Rolando.Caloca

	DR - Fix for Vulkan ES31 crash
	- Fix for AMD ensure

Change 3508123 by Rolando.Caloca

	DR - Disable occlusion queries on Vulkan to avoid flickering
	- Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips)
	- Fix for decal blending

	#jira UE-46376

Change 3509064 by Uriel.Doyon

	Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found.
	#jira UE-46427

Change 3509854 by Marc.Olano

	Fix 2D Sobol gray code numbers.
	Just changes some numbers in initialization tables, so no effect on existing tests or content.

Change 3509920 by Marcus.Wassmer

	Fix LPV fastvram ensure

Change 3509937 by Rolando.Caloca

	DR - Fix crash due to deleted viewport

	#jira UE-46281

Change 3509988 by Marcus.Wassmer

	Roll back part of Sobol fix to avoid full shader recompile for integration.

Change 3510255 by Rolando.Caloca

	DR - Fix popup window ensure

	#jira UE-46511

Change 3510646 by Marcus.Wassmer

	fix ios compiles

Change 3511442 by Rolando.Caloca

	DR - Change mesh simplification check to ensure/checkslow to unblock

	#jira UE-46538


DONE!

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


Change 3467095 by Guillaume.Abadie

	Nukes all += TEXT(".usf")

	#jira UE-45530

Change 3475084 by Guillaume.Abadie

	Fixes compilation failure of the shader compiler on PS4 and XboxOne

Change 3477464 by Guillaume.Abadie

	Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts.

Change 3494395 by Guillaume.Abadie

	Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points.

	DONE!

[CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
Chris Bunner
81ef7a206b Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3461187)
#lockdown Nick.Penwarden

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

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

	Fix mips in texture GnmUAV creation.

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

	Improved PS/CS code sharing for TemporalAA.

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

	HLODs now correctly hide their children in shadow maps.
	Propagate bCastFarShadow flag on HLOD generation.

	#jira UE-42254

Change 3388448 on 2017/04/11 by Brian.Karis

	Better handle divide by zero

Change 3388449 on 2017/04/11 by Brian.Karis

	Optimizations to shading model math.

	PR #3340: Bug fixes related to shader TODOs (Contributed by vgfx)


Change 3388455 on 2017/04/11 by Uriel.Doyon

	Changed Remove for RemoveSwap when clearing dynamic component references

Change 3388612 on 2017/04/11 by Simon.Tourangeau

	Support shaders in projects and in plugins
	When searching for a shader it will
	- First look in Engine/Shaders as usual
	- Then in project's Shader folder
	- Then in all enabled plugin Shader folders

	Project or plugin must be loaded in PostConfigInit phase
	Tested in PIE, engine (cooked, packaged)

Change 3388819 on 2017/04/11 by Arne.Schober

	DR - Faster MorpthTarget implementation. Changed the previous Gather aproach to a scatter based one. Reaching about 110GB/s on PS4 which is up to 4x faster than the previous implementation. On PC DX11 the impact is lower due to unecessary UAV barriers but still 2x faster on AMD and up to 6x faster on Nvidia Hardware.
	#RB Lina.Halper, Rolando.Caloca

Change 3388862 on 2017/04/11 by Guillaume.Abadie

	Allows Motion Blur and TAA in scene capture 2d.

Change 3388953 on 2017/04/11 by Uriel.Doyon

	Fixed issue where lights from hidden levels where affecting the lighting build, by checking if the light is registered before adding it.
	#UE-43220

Change 3389138 on 2017/04/11 by Arne.Schober

	DR - Fix crash when opening a Level without Contentbrowser open.
	#RB Matt.Kuhlenschmidt

Change 3389400 on 2017/04/11 by Uriel.Doyon

	- Renamed FMaterialResource::IsSeparateTranslucencyEnabled() to FMaterialResource::IsTranslucencyAfterDOFEnabled()
	- Removed different logic to determine if translucency after DOF was enabled, and centralized it into a single function: FSceneViewFamily::AllowTranslucencyAfterDOF()
	- FSceneRenderTargets::FinishRenderingSeparateTranslucency() now only resolves a single view, allowing better Begin/Finish scopes.
	- Renamed FSceneRenderTargets::SeparateTranslucencyDepthRT into FSceneRenderTargets::DownsampledTranslucencyDepthRT since this one is only allocated when rendering in downsampled mode.
	- Standard translucency is now rendered in the same resolution than translucency after DOF. (downsampled or full resolution)
	- Removed RenderTranslucencyParallel and merged it's logic into RenderTranslucency. Renamed DrawAllTranslucencyPasses to RenderViewTranslucency and added a parallel version RenderViewTranslucencyParallel.
	- Moved all debug draw logic (VisualizeLPV, ViewMeshElements and SimpleElementCollector) to a common place.
	- New option "r.AllowDownsampledStandardTranslucency" to control the downsampling of standard translucency. Affect blend module materials

	#jira UE-39505

Change 3389860 on 2017/04/12 by Richard.Wallis

	UE-41407 Cable actor does not render correctly in viewport on Mac.

	Build the mesh at creation time - call into exisiting mesh create function.

Change 3390933 on 2017/04/12 by Arne.Schober

	DR - potential fix for UE-43125 where the this pointer might get invalidated in the middle of the function
	#RB Marcus.Wassmer

Change 3391010 on 2017/04/12 by Ben.Marsh

	Compile UE4Game non-unity for Mac as part of nightly builds in //UE4/Dev-Rendering.

Change 3391412 on 2017/04/12 by Uriel.Doyon

	Mesh Decals are now sorted according to the component TranslucencySortPriority.
	#jira UE-43053

Change 3392117 on 2017/04/13 by Guillaume.Abadie

	Integrates Raven's experimental PCSS for cascaded shadow map hidden behind a CVar.

Change 3392179 on 2017/04/13 by Guillaume.Abadie

	Attempts to fix linux compilation by removing mistakenly submitted dead code.

Change 3392231 on 2017/04/13 by Guillaume.Abadie

	Fixes a wrong enum value real quick in FRenderingObjectVersion I introduced after main integration... Oups...

Change 3393879 on 2017/04/14 by Guillaume.Abadie

	Attempts to fix linux compilation warning.

Change 3393881 on 2017/04/14 by Guillaume.Abadie

	Back out changelist 3393879

Change 3393882 on 2017/04/14 by Guillaume.Abadie

	Attempts #2 to fix linux compilation error.

Change 3394100 on 2017/04/14 by Chris.Bunner

	Corrected material shared sampler usage with mip-biasing.

Change 3394174 on 2017/04/14 by Rolando.Caloca

	DR - Change ensure to warning

Change 3394221 on 2017/04/14 by Marcus.Wassmer

	Fix poseable mesh bounds calculation.

Change 3396238 on 2017/04/17 by David.Hill

	Fix Bloom with LensFlare
	Duplicating fix - will also fix directly in 4.16

	#jira 44050

Change 3397055 on 2017/04/17 by Joe.Graf

	Fixed Windows specific assumptions in Slate File Dialog Window's file filtering that lead to crashes

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

Change 3397921 on 2017/04/18 by Joe.Graf

	Rewrote SlateFileDlgWindow's file filtering to allow for extensionless file selection and to remove the O(n^2) file filtering

	#CodeReview: arciel.rekman, matt.kuhlenschmidt
	#rb: n/a

Change 3398406 on 2017/04/18 by Rolando.Caloca

	DR - Fix shaders in plugins on Mac

Change 3399546 on 2017/04/19 by Benjamin.Hyder

	Updating content for test levels (HDR, Bloom_FFT, DistanceFields_IndirectShadows)

Change 3399725 on 2017/04/19 by Guillaume.Abadie

	Avoids compiling PCSS shaders for SM4.

Change 3400295 on 2017/04/19 by Michael.Trepka

	Fixed metal shader compile errors in MorphTargets.usf

Change 3400457 on 2017/04/19 by Michael.Trepka

	Merged Rolando's shader fixes

Change 3400473 on 2017/04/19 by Arne.Schober

	DR - provide Aftermath Reason when init failed.
	#RB none

Change 3400699 on 2017/04/19 by Arne.Schober

	DR - Fixed Text macro
	#RB none

Change 3402280 on 2017/04/20 by Simon.Tovey

	Minor cascade fix

	#tests no crash

	#jira UE-41560

Change 3402517 on 2017/04/20 by Arne.Schober

	DR - Fix static analysis warning
	#RB none

Change 3403897 on 2017/04/21 by Arne.Schober

	DR - [UE-43898] - Someone missed a shaderversion bump which poisoned the DCC
	#RB None
	#jira UE-43898

Change 3404591 on 2017/04/21 by Olaf.Piesche

	#jira UE-41979
	Should never be crashing there, unless the mesh is changed after Init of the effect instance; this change safeguards against the number of mesh sections (and hence materials) changing after creation of the dynamic data to avoid the crash.

Change 3407451 on 2017/04/25 by Daniel.Wright

	Fixed Indirect Lighting Cache updates caused by capsule indirect shadows forcing point samples, breaking primitives using ILCQ_Volume

Change 3407452 on 2017/04/25 by Daniel.Wright

	Added r.AOJitterConeDirections, although disabled by default because it requires the temporal filter to be much stronger

Change 3408397 on 2017/04/25 by Daniel.Wright

	ViewFamily.bRealtimeUpdate is set to false if Slate is throttling (like when toggling show flags).  Volumetric fog discards the temporal history when not realtime, so you can see changes immediately.

Change 3408428 on 2017/04/25 by Daniel.Wright

	Changed 'r.AOMaxObjectsPerCullTile' default back to 512 as 256 causes artifacts with RTDF shadows

Change 3409764 on 2017/04/26 by Daniel.Wright

	Force dumping shader debug info for Global shaders when r.ShaderDevelopmentMode is enabled.  Most of the shaders you want to look at in a GPU capture are global shaders, and global shaders create few debug files.  'recompileshaders global' time 35s -> 38s for SM5.

Change 3411659 on 2017/04/27 by Daniel.Wright

	[Copy] Set Xbox One engine default screen percentage to 83.33 (1600x900), as ESRAM choices are dependent on this

Change 3411660 on 2017/04/27 by Daniel.Wright

	[Copy] Global distance field composite shader has a version for each flattened axis, which improves efficiency when updating a slab which is what camera movement typically causes

Change 3411667 on 2017/04/27 by Daniel.Wright

	[Copy] Discard distance field AO history buffer if it doesn't match the new buffer size.  This prevents reading uinitialized data after a scene render target resize.

Change 3411668 on 2017/04/27 by Daniel.Wright

	[Copy] Better indirect capsule shadow draw event info

Change 3411669 on 2017/04/27 by Daniel.Wright

	[Copy] Pass down FeatureLevel to AddSubjectPrimitive and GatherShadowsForPrimitiveInner instead of calling the scene's virtual function.  Showed up prominently in a sampling profile.

Change 3411755 on 2017/04/27 by Daniel.Wright

	[Copy] Occlusion queries are now always done before the base pass if a nearly full prepass is being used(DDM_AllOccluders or DDM_AllOpaque)
	* Removed r.OcclusionQueryLocation

Change 3411827 on 2017/04/27 by Daniel.Wright

	[Copy] Much cheaper implementation of IsForwardShadingEnabled which showed up prominently in sampling profiles - inlined function and no more unnecessary thread safety overhead

Change 3411829 on 2017/04/27 by Daniel.Wright

	Added an ensure to console manager when doing FindTConsoleVariableData* on a FAutoConsoleVariableRef

Change 3411837 on 2017/04/27 by Daniel.Wright

	[Copy] Worked around slow memcpy's being used to sort FSortedLightSceneInfo

Change 3411838 on 2017/04/27 by Daniel.Wright

	[Copy] Skip tracking MaterialRenderProxyMap on cooked platforms

Change 3411843 on 2017/04/27 by Daniel.Wright

	[Copy] Fixed r.ParallelShadows on PS4 and enabled by default engine-wide (saves 5ms RT with CSM)
	* Gnm was not tracking DepthClearValue when a depth target was set but not cleared
	* Gnm has a bug where TargetsNeedingEliminateFastClear does not persist across commandlist breaks.  Moved FinishRenderingGBuffer before RenderShadowDepthMaps to workaround (accidentally not in this changelist)
	* Shadow depth rendering was not using BindClearMRTValues to populate GNM parallel commandlist TargetsNeedingEliminateFastClear values

Change 3411873 on 2017/04/27 by Daniel.Wright

	[Copy] Deferred uniform expression caching.  Setting multiple parameters on a material only causes its uniform expressions to be recached once.
	* 280 calls to CacheUniformExpressions -> 120 during Fortnite combat (6.5ms -> 3.4ms)

Change 3411891 on 2017/04/27 by Daniel.Wright

	[Copy] GatherShadowPrimitives optimizations
	* Total GatherShadowPrimivies went from 2.3ms -> 1.3ms on PS4 with these changes in GPUPerfTest (duplicated 3x)
	* Much flatter primitive octree (16 -> 256 max primitives)
	* Primitives are culled against the shadow frustum before FPrimitiveSceneInfo or FPrimitiveSceneProxy are dereferenced in FilterPrimitiveForShadows
	* FilterPrimitiveForShadows work is done in a ParallelFor.  Primitive octree nodes are processed in different jobs.
	* StaticMeshWholeSceneShadowBatchVisibility now only stores entries for meshes with bRequiresPerElementVisibility (landscape).  Previously it was allocating and zeroing 500Kb 3x per frame (main view + 2 cascades) which cost ~.8ms on PS4.

Change 3412192 on 2017/04/27 by Michael.Trepka

	Fixed Clang compile errors in FortniteGame, partial copy of CL 3313426

Change 3412547 on 2017/04/27 by Daniel.Wright

	Fixed leak of FShadowMapAllocation and FLightMapAllocation's found by licensee

Change 3414239 on 2017/04/28 by Arne.Schober

	DR - UE-44500 - Removed use of Structured Buffer from MorphTargets due to HLSLCC not supporting it.

	#RB none
	#jira UE-44500

Change 3414754 on 2017/04/28 by Daniel.Wright

	Added VolumetricFogEmissive to ExponentialHeightFogComponent
	* Volumetric fog does not yet support precomputed lighting, so this is the only way to get an ambient lighting term

Change 3416859 on 2017/05/01 by Arne.Schober

	DR - Remove FeatureLevel from the Clear Functions to reduce area of error
	#RB Rolando.Caloca

Change 3420750 on 2017/05/03 by Arne.Schober

	DR - [UE-44497] - Fix several PS4 validation layer issues
	#RB Marcus.Wassmer

Change 3422869 on 2017/05/04 by Benjamin.Hyder

	Fix compile error from merge.

Change 3423938 on 2017/05/04 by Marc.Olano

	[UE-44453] Fix bloom problems by moving saturate after vector math

Change 3424494 on 2017/05/04 by Olaf.Piesche

	#jira UE-44589
	When using FindTCosoleVariableData, the CVar can not be an FAutoConsoleVariable.

	#tests as described in jira ticket

Change 3424754 on 2017/05/04 by Uriel.Doyon

	Fixed call to get texture compressor module outside the main thread.
	#jira UE-42168

Change 3425447 on 2017/05/05 by Uriel.Doyon

	#buildfix

Change 3427042 on 2017/05/05 by Arne.Schober

	DR -  Fix one of my typos
	#RB none

Change 3428119 on 2017/05/08 by Marcus.Wassmer

	Fix UE-44733
	static analysis warning.

Change 3428222 on 2017/05/08 by Uriel.Doyon

	Fixed bad condition in translucency rendering
	#jira UE-44452

Change 3429794 on 2017/05/08 by Uriel.Doyon

	Fixed issues with lightshafts and low res translucency.

	#jira UE-44452

Change 3430921 on 2017/05/09 by Rolando.Caloca

	DR -  Get additional function pointers for D3DReflect, Compile and Disassemble instructions from the same DLL when compiling D3D11 shaders.
	- Also fixes using the correct fxc.exe path to match the DLL we distribute.

Change 3431156 on 2017/05/09 by Rolando.Caloca

	DR - Remove unused code

Change 3431396 on 2017/05/09 by David.Hill

	Copy of changes made directly in 4.16  ( CL 341037 )
	to be submitted to dev-rendering

	#jira UE-44641

Change 3431400 on 2017/05/09 by Rolando.Caloca

	DR - Fix typo

Change 3431527 on 2017/05/09 by David.Hill

	#rb: none

	Oops.
	comment out r.ShaderDevelopmentMode =1

Change 3431590 on 2017/05/09 by Daniel.Wright

	Removed early return landmine in USceneCaptureComponent2D::Serialize

Change 3431591 on 2017/05/09 by Daniel.Wright

	Disallow map building while in PIE, or PIE while buildling lighting

Change 3431594 on 2017/05/09 by Daniel.Wright

	Added RenderTargetFormat to UTextureRenderTarget2D, with choices of 8 bit, 16fp, 32fp and 1, 2 or 4 channels.

Change 3431667 on 2017/05/09 by Daniel.Wright

	Volumetric fog now supersamples lighting when the history is not available, reducing noise on areas that just came on-screen or after a camera cut.
	* The number of samples is controlled by r.VolumetricFog.HistoryMissSupersampleCount, defaults to 4, cinematic scalability uses 16
	* Under fast camera movement, volumetric fog cost went from 1.79ms -> 1.97ms with 4 samples, on a 970GTX

Change 3432366 on 2017/05/10 by Richard.Wallis

	Fix for MetalRHI Asserts When Using "Profile GPU" With RHI-Thread/Parallel-Execution.  Don't insert events when not in RHIThread or the actual single-threaded-render thread.

	#jira UE-36006

Change 3432367 on 2017/05/10 by Richard.Wallis

	Fix for Metal ReStartRenderPass assert with profiling.  macOS metal asserts when using "profileGPU" even with -norhithread argument set.

	Added no action to the allowed render pass restart store actions for the depth buffer avoiding the assert.  Interested to know the details if this is not a valid assumption to make - throwing away the depth buffer after a render pass I think would be a common case.

	#jira UE-44322

Change 3432409 on 2017/05/10 by Richard.Wallis

	Merged across CL 3415890 from Release-4.16 fix for (jira UE-43895)

	Fix for deferred store actions getting cleared when we don't have a valid render target.

Change 3432833 on 2017/05/10 by Daniel.Wright

	Fixed Ocean compile error

Change 3432874 on 2017/05/10 by Marc.Olano

	Improved captions for Noise and VectorNoise material nodes

Change 3432947 on 2017/05/10 by Richard.Wallis

	Fix for shared Material Native Shader Libraries Don't Function With Iterative Cooking.   Keep latest versions of shader byte code in native shared material packaged build in an intermediate directory than can be reused on a later iterative cook.

	- Doesn't handle deletion of the intermediate directory contents.  Assumed to be a higher level requirement on non iterative cook flag.

	#jira UE-44657

Change 3433484 on 2017/05/10 by Arne.Schober

	DR - UE-44393 - Move ShaderPlatform into TShaderMap for extra debuginformation when it fails to find a proper shader. Also log when Gobalshaders are verified and recompiled.
	#jira UE-44393
	#RB Daniel.Wright

Change 3433515 on 2017/05/10 by Arne.Schober

	DR - Fix a bug where recompileshaders changed while compiling causes a crash where the chached local vertex factories are mutated while been used.
	#RB Daniel.Wright

Change 3433606 on 2017/05/10 by Daniel.Wright

	Fixed static shadowing of volumetric fog and translucency causing shadowing past the lightmass importance volume.

Change 3433619 on 2017/05/10 by Daniel.Wright

	Skip recapturing reflection captures when PropagateLightingScenarioChange is being called for a level unload.  This leaves stale results in reflection captures around when hiding a level in the editor, but avoids the double recapture that happens when swapping lighting scenarios in game, and the unnecessary reflection capture update when exiting PIE.

Change 3433795 on 2017/05/10 by Arne.Schober

	DR - add cmdline to select a GPU vendor when multiple GPUs from differnt Vendors are installed into the same Machine
	#RB marcus.Wassmer

Change 3433941 on 2017/05/10 by Daniel.Wright

	Cone vs tile bounding sphere intersection tests for Light Grid culling of spotlights, which provides much tighter culling than just View space tile AABB vs light bounding sphere.
	* Forward shading BasePass 3.7ms -> 2.4ms in a scene with 24 spotlights on 970GTX
	* Volumetric fog 2.87ms -> 2.09ms in the same scene

Change 3435139 on 2017/05/11 by Daniel.Wright

	Restored GTextureRenderTarget2DMaxSizeX which is used by Ocean

Change 3435297 on 2017/05/11 by Arne.Schober

	DR - Remove manual AlignOf and use C++11 keyword instead
	#RB Steve.Robb

Change 3435367 on 2017/05/11 by Daniel.Wright

	Circle vertex buffer for slightly tighter voxelization of volumetric fog shadowed lights
	* 1.5ms -> 1.38ms on 970 GTX with 24 spotlights

Change 3435522 on 2017/05/11 by Brian.Karis

	Dither opacity mask now stacks properly for non parallel polys. Dither is randomized by triangle normal.

Change 3436063 on 2017/05/11 by Daniel.Wright

	Disabled CLB_AggressiveBatching for PC d3d12 as it causes flickering artifacts in lighting

Change 3436269 on 2017/05/11 by Uriel.Doyon

	Fixed UVChannel data possibly not up-to-date depending on user manips.

Change 3436611 on 2017/05/12 by Simon.Tovey

	Improved name and tooltip for static mesh property controlling generation of alias tables for uniform sampling.

Change 3436676 on 2017/05/12 by Simon.Tovey

	Fix for fixed bounds being "invalid" unless set via the toolbar option.

Change 3436700 on 2017/05/12 by Simon.Tovey

	Crash fix.
	Issue found in https://udn.unrealengine.com/questions/355944/crash-in-fdynamicspriteemitterdatagetdynamicmeshel.html

	Particle proxies would have stale material resource pointers if the material is changed while the system was invisible.
	If the old material is freed during this time, the next time the system renders it will crash.

Change 3437367 on 2017/05/12 by Brian.Karis

	Fixed bug with small UV charts not packing.

Change 3437860 on 2017/05/12 by Arne.Schober

	DR - Fix alignment compile error in win32 where according to ABI alignment is 4 for int64
	#RB none

Change 3437972 on 2017/05/12 by Arne.Schober

	DR - Fix alignment compile error in win32 where according to ABI function calls cannot take alingned structures. In all of the cases the copy was completely unnecessary.
	#RB none

Change 3437975 on 2017/05/12 by Chris.Bunner

	Added calculation for MaterialParamsEx to MeshDecals.usf.

	#jira UE-43052

Change 3438109 on 2017/05/12 by Rolando.Caloca

	DR - Support for -nomcpp on SCW

Change 3438889 on 2017/05/15 by Chris.Bunner

	Nullptr check in a few material uniform expressions.

Change 3439351 on 2017/05/15 by Chris.Bunner

	Added tooltip to Power material expression.

Change 3439763 on 2017/05/15 by Daniel.Wright

	Apply passed in DistanceBiasSqr to line lights - allows volumetric fog to reduce aliasing on line lights

Change 3439764 on 2017/05/15 by Daniel.Wright

	Fixed order of operations with bTreatMaxDepthUnshadowed - manifested as unfiltered static shadow depth lookups

Change 3440722 on 2017/05/16 by Guillaume.Abadie

	Exposes Scene capture's FOV to blueprints

Change 3441680 on 2017/05/16 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 3441884 on 2017/05/16 by Uriel.Doyon

	Fixed StreamingDistanceMultiplier not being applied to the texture streaming data.

Change 3442800 on 2017/05/17 by Gil.Gribb

	Fixed botched merge.

Change 3442896 on 2017/05/17 by Gil.Gribb

	UE4 - Allowed the possibility of running the RHI "thread" on task threads instead and cleaned up and unified the conditionals involved. By default we still have a dedicated RHI thread because it tested slightly faster.

Change 3443951 on 2017/05/17 by Richard.Wallis

	Added Apple override allocator macro - each command encoder type needs it's own allocator queue.

Change 3444787 on 2017/05/17 by Daniel.Wright

	Fixed DBuffer decal default normal (used when DBuffer decals enabled, but not decals rendered) not reconstructing zero properly, adding -.008 to WorldNormal which then caused artifacts with forward lighting specular on materials with roughness near 0.

Change 3444882 on 2017/05/17 by Daniel.Wright

	Added comment to  FClearValueBinding::DefaultNormal8Bit to make the dependency on shader decode clear

Change 3444883 on 2017/05/17 by Brian.Karis

	Improved contact shadows

Change 3445048 on 2017/05/17 by Daniel.Wright

	Fixed particle lights in forward shading, they were not setting the lighting channel mask properly

Change 3445107 on 2017/05/17 by Michael.Trepka

	Changed the order of operations in FMetalStateCache::SetRenderState to work around an issue with some Intel drivers where they would not recalculate the raster state in some edge cases.

	#jira UE-43725

Change 3445212 on 2017/05/17 by Uriel.Doyon

	Added a -CSV option to ListTextures command

Change 3445947 on 2017/05/18 by Richard.Wallis

	Clone of Release-4.16 Stream CL 3437181 and CL 3442450 - fix(s) for black rendering on macOS El Cap with Nvidia GPU.  Move sampling of EyeAdaption texture to pixel shader for Mac Metal using shader language version <= 1 only.

Change 3446545 on 2017/05/18 by Chris.Bunner

	Removed hardcoded (and unused) MRT write from Decal shaders.

	#jira UE-45095

Change 3446568 on 2017/05/18 by Marc.Olano

	Sobol and image-based importance sampling C++ functions and blueprint nodes

Change 3446988 on 2017/05/18 by Marc.Olano

	Fix build error: missing include

Change 3446990 on 2017/05/18 by Marc.Olano

	Cell-indexed Sobol sampling for shaders (in MonteCarlo.usf) and materials (Sobol and TemporalSobol nodes)

Change 3447142 on 2017/05/18 by Rolando.Caloca

	DR - RWLock instead of mutex for PSO cache

Change 3447144 on 2017/05/18 by Uriel.Doyon

	Moved shading model code to SetGBufferFromShadingModel(). This allows the code to be reused in other shader files.

Change 3447794 on 2017/05/18 by Brian.Karis

	Virtual texturing foundation code

Change 3448944 on 2017/05/19 by Arciel.Rekman

	Fix non-unity Linux (and Mac, etc) builds.

	- Mac fix is tentative, did not try.

Change 3449183 on 2017/05/19 by Marcus.Wassmer

	Duplicate fix for reflection captures to happen after sequencer updates.

Change 3449196 on 2017/05/19 by Uriel.Doyon

	Handling RCM_MinMax when reading FloatRGBA textures.
	This fixes pixel inspector always reading 1 for scene color values greater than one.

Change 3451652 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45245

Change 3451660 on 2017/05/22 by Chris.Bunner

	Additional compile fix.

	#jira UE-45245

Change 3451897 on 2017/05/22 by Daniel.Wright

	Moved RTDF shadow project back after the base pass, since it samples the GBuffer for subsurface shadowing.  Removed r.DFShadowAsyncCompute which was relying on the previous ordering.

Change 3452055 on 2017/05/22 by Rolando.Caloca

	DR - Switch compile fix

	#jira UE-45265

Change 3452089 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45246

Change 3452108 on 2017/05/22 by Rolando.Caloca

	DR - Compile fix

	#jira UE-45246

Change 3452179 on 2017/05/22 by Brian.Karis

	Exposed dimensions. Fixed static analysis.

Change 3452734 on 2017/05/22 by Daniel.Wright

	When post processing is disabled, TPT_TranslucencyAfterDOF translucency gets forced into the standard translucency pass.

Change 3452770 on 2017/05/22 by Daniel.Wright

	Static light source shapes drawn into reflection captures handle SourceLength via scaled sphere

Change 3452861 on 2017/05/22 by Rolando.Caloca

	DR - Switch compile fix

Change 3452952 on 2017/05/22 by Brian.Karis

	Small VT fixes

Change 3453647 on 2017/05/23 by Richard.Wallis

	Fix for tessellation shaders on Mac (Metal v1.2) failing to compile.

	#jira UE-45227

Change 3454844 on 2017/05/23 by Uriel.Doyon

	Fixed extra X16 on some point lights
	#jira UE-45250

Change 3454934 on 2017/05/23 by Chris.Bunner

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

Change 3457131 on 2017/05/24 by Arne.Schober

	DR - [UE-45317] - Fix Depthbuffer not available for resolve in Forward mode

	#jira UE-45317
	#RB Chris.Bunner

Change 3457141 on 2017/05/24 by Marc.Olano

	Sobol bug fixes

Change 3457953 on 2017/05/24 by Brian.Karis

	Fix static analysis

	#jira UE-45315
	#jira UE-45314
	#jira UE-45313

Change 3459064 on 2017/05/25 by Chris.Bunner

	Fix for out of bounds material translation crash.

	#jira UE-45406

Change 3459700 on 2017/05/25 by Brian.Karis

	Revert using sprite index buffer because the vert order is different.

Change 3459847 on 2017/05/25 by Chris.Bunner

	Fixing ensure in RenderTestMap.

[CL 3461201 by Chris Bunner in Main branch]
2017-05-26 08:22:50 -04:00