Commit Graph

31 Commits

Author SHA1 Message Date
Leslie Nivison
c76870630e Documenting DirectXRedist with a .tps file
#lockdown Nick.Penwarden
#rb none
#rnx

[CL 3381819 by Leslie Nivison in Main branch]
2017-04-05 17:47:07 -04:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

Change 3247594 on 2017/01/05 by Ben.Marsh

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

Change 3247763 on 2017/01/05 by Ben.Marsh

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

Change 3247775 on 2017/01/05 by Ben.Marsh

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

Change 3247811 on 2017/01/05 by Ben.Marsh

	EC: Add a batch file for testing postp filters.

Change 3247839 on 2017/01/05 by Ben.Marsh

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

Change 3248101 on 2017/01/05 by Ben.Marsh

	UBT: Fix Android support for force included headers.

Change 3248533 on 2017/01/05 by Ben.Marsh

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

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

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Rolando Caloca
f92fc1f2ad Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3274304)
#lockdown Nick.Penwarden
#rb none

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

Change 3250856 on 2017/01/09 by Daniel.Wright

	Only showing instruction count for 'Base pass shader' now

Change 3250943 on 2017/01/09 by Rolando.Caloca

	DR - Async Compute PSO creation

Change 3251036 on 2017/01/09 by Rolando.Caloca

	DR - Add r.AsyncPipelineCompile
	- Dispatch on any thread
	- Wait for completion event

Change 3251058 on 2017/01/09 by Ben.Woodhouse

	Fix for PSO creation D3D error with NumRenderTargets. Add code to compute the correct number of valid rendertargets to prevent an issue during PSO creation when NumRenderTargets is >0, but none of the formats are valid (all formats are DXGI_UNKNOWN)
	#jira UE-40332

Change 3251141 on 2017/01/09 by Ben.Woodhouse

	Duplicated from Fortnite CL 3243458:
	D3D12 memory optimization -  The d3d12 buddy suballocator  is very wasteful for allocations above 4KB, but the vast majority of allocations are smaller . In the default buffer allocator this was causing 149MB of waste in 340MB of allocations. Moving the max allocation size threshold down to 4KB from 512KB saved 100MB of memory wastage memory.

	On PC, buffers are 64KB aligned, so we need the threshold to be higher to avoid additional wastage.

	Add PIX memory tracking instrumentation for buddy allocators so we can track the memory properly in PIX

Change 3251142 on 2017/01/09 by Ben.Woodhouse

	Duplicated from Fortnite 3243496
	memory optimisation: use NULL-terminated ansi strings instead of unicode FStrings for symbols, saving 118MB. Previously the strings were loaded from disk as ansi and then converted to FStrings (slowly), before finally being converted them back to ansi strings before being used. In addition to reducing memory overhead, this change reduces complexity and improves startup time.

Change 3252323 on 2017/01/10 by Rolando.Caloca

	DR - Gfx async PSO creation prep

Change 3252474 on 2017/01/10 by Daniel.Wright

	Added 'Compile Unreal Lightmass' to error message

Change 3252589 on 2017/01/10 by Daniel.Wright

	Back out bulk data for distance fields from cl 3241990 which causes distance fields to be corrupt in Fortnite

Change 3252790 on 2017/01/10 by Daniel.Wright

	Added InscatteringColorCubemapAngle to exponential height fog

Change 3252843 on 2017/01/10 by Uriel.Doyon

	Propper fix for UE-40211, where texture streaming bound defrag and async tasks could interact in coherent ways.
	The bound defrag is now done outside of the async work logic.

Change 3252866 on 2017/01/10 by Mark.Satterthwaite

	Fix Metal shader pipeline hash collisions caused by deferring MTLFunction construction until PrepareToDraw so that we may use Function-Constants to specialise the shader source without generating additional permutations. This is required to generate proper tessellation shaders which are specialised against the index-buffer usage & type (none, uint16, uint32). While we're here amend the hash functions to make better use of the existing hash functions to improve the distribution and hopefully reduce the possibility of collisions in future.
	#jira UE-40357

Change 3254511 on 2017/01/11 by Rolando.Caloca

	DR - PSO stats

Change 3255958 on 2017/01/12 by Mark.Satterthwaite

	Reimplement RQT_AbsoluteTime for Metal - pretty sure I did this before, but somehow it got lost. When a RQT_AbsoluteTime is inserted into the command-stream, insert a command-buffer completion handler to record the time of completion & submit the command-buffer immediately. This breaks command-buffers so is noticeably slower and if inserted in a pass that can't be restarted will fail but is currently the only option available. This is sufficient to support the GPUBenchmark used by Scalability. To make this more efficient I've refactored the FMetalCommandBufferFence implementation so that we use a single shared-ptr object containing the command-buffer and a dispatch semaphore, rather than allocating one for each query. The semaphore allows for timed-waits where previously we'd block until completion, unlike the other APIs that report failure after a fixed interval (2s for RQT_AbsoluteTime, otherwise 0.5s). Sadly not all drivers support this abuse of the Metal API, so replace the GL-based workaround for not having time queries with one that just guesses based on RHI device details. Radars will be filed.
	#jira UE-40554

Change 3256329 on 2017/01/12 by Olaf.Piesche

	#jira UE-38615

	Assert shouldn't be necessary; in fact, it causes a crash when exporting emitters, since in that case we're changing the template at runtime.

Change 3256371 on 2017/01/12 by Uriel.Doyon

	Reenabled texture streaming bound defrag as the fix is in CL 3252843

Change 3257032 on 2017/01/13 by Daniel.Wright

	Added fastClamp to fastmath.usf

Change 3257111 on 2017/01/13 by Daniel.Wright

	Disabled bAffectDistanceFieldLighting on DefaultPawn, fixes VisualizeMeshDistanceFields in game

Change 3257112 on 2017/01/13 by Daniel.Wright

	DFAO optimizations
	* Changed the culling algorithm to produce a list of intersecting screen tiles for each object, instead of the other way around.  Each tile / object intersection gets its own cone tracing thread group so wavefronts are much smaller and scheduled better.  3.63ms -> 3.48ms (.15ms)
	* Replace slow instructions in inner loop with fast approximations (exp2 -> sqr + 1, rcpFast, lengthFast) 3.25ms -> 3.09ms (.16ms)
	* Moved transform from world to local space out of the inner loop (sample position constructed from local space position + direction) 3.09ms -> 3.04ms
	* Compute shader for ClearUAV 3.04ms -> 2.62ms (.42ms)

Change 3257113 on 2017/01/13 by Daniel.Wright

	Better distance field memory stats

Change 3257326 on 2017/01/13 by Uriel.Doyon

	Workaround to support cases where several textures have the same lighting GUID.

Change 3257448 on 2017/01/13 by Daniel.Wright

	Removed legacy features Distance Field Specular Occlusion, Distance Field Surface Cache AO, PreCullTriangles

Change 3257616 on 2017/01/13 by Daniel.Wright

	Distance field mesh visualization now uses a cone containing the entire tile to cull objects with, making the results stable

Change 3257657 on 2017/01/13 by Daniel.Wright

	Mesh distance fields are stored zlib compressed in memory until needed for uploading to GPU
	* 81Mb of backing memory -> 32Mb in GPUPerfTest, atlas upload time 29ms -> 893ms

Change 3258063 on 2017/01/14 by Rolando.Caloca

	DR - vk - Refactor descriptor set reuse in prep for more changes

Change 3258715 on 2017/01/16 by Daniel.Wright

	Added VisualizeGlobalDistanceField show flag

Change 3258827 on 2017/01/16 by Daniel.Wright

	Global distance field update regions are clipped against others to reduce redundant updates.

Change 3258959 on 2017/01/16 by Benjamin.Hyder

	Updating Planar Reflection example material in TM-Shadermodels

Change 3259270 on 2017/01/16 by Daniel.Wright

	[Copy] 'r.MSAACount 1' now produces no MSAA or TAA.  'r.MSAACount 0' can be used to toggle TAA on for comparisons.

Change 3259652 on 2017/01/16 by Uriel.Doyon

	Better support for static primitive becoming dynamic.

Change 3260107 on 2017/01/17 by Ben.Woodhouse

	Fix FMonitoredProcess to prevent infinite loop in -nothreading mode
	#jira UE-40717

Change 3260594 on 2017/01/17 by Daniel.Wright

	Added a new global distance field (4x 128^3 clipmaps) which caches mostly static primitives (Mobility set to Static or Stationary)
	* The full global distance field inherits from the mostly static cache, so when a Movable primitive is modified, only other movable primitives in the vicinity need to be re-composited into the global distance field
	* Global distance field update cost with one large rotating object went from 2.5ms -> .2ms on 970GTX and 4.6ms -> .3ms.  Worst case full volume update is mostly the same.
	* Adds 12Mb for the new volume textures

Change 3260956 on 2017/01/17 by Daniel.Wright

	Structured buffers for DF object data
	* Full global distance field clipmap composite 3.0ms -> 2.0ms due to scalarized loads

Change 3261296 on 2017/01/17 by Daniel.Wright

	Exposed MaxObjectsPerTile with 'r.AOMaxObjectsPerCullTile' and lowered the default from 512 to 256, saves 17Mb of object tile culling data structures
	Removed unnecessary UAV transitions preventing object and global cone tracing from overlapping, saves ~.1ms

Change 3262036 on 2017/01/18 by Ben.Salem

	V0 of Perf monitor plugin for easily consumable stat csvs. With plugin enabled, enter PerformanceMonitor help into the console to get usage details.

Change 3262056 on 2017/01/18 by Chris.Bunner

	Remove inverse tonemapping when rendering HDR output.
	#jira UE-40728

Change 3262661 on 2017/01/18 by Rolando.Caloca

	DR - Add missing SetStencilRef() and SetBlendFactor() on most RHIs
	- Fix hash for PSOs

Change 3263674 on 2017/01/19 by Chris.Bunner

	PR #3144: Improved error messages (Contributed by DarkSlot)
	#jira UE-40835

Change 3264150 on 2017/01/19 by Ben.Woodhouse

	Add support for single threaded in FMonitoredProcess. Deprecated IsRunning() in favour of a new Update() method because polling IsRunning is not compatible with -nothreading mode
	#jira UE-40841

Change 3264153 on 2017/01/19 by Ben.Woodhouse

	Integrate latest changes from MS-DX12 CLs 3231395-3262526

	- Added WinPixEventRuntime.tps
	- Includes PIX support, various optimizations (saved 1.3ms in testbed scene)

	CL 3262343:
	Fix depth testing on translucency not working correctly after cl 3231395. This change reapplies the D3D12RHI changes from CL 3231395 because those changes were lost when integrating from //Dev-Rendering/ but also includes the depth fixes:
	 - Fix depth state not being in DEPTH_READ for use as depth read. The issue was HasDepthBits and HasStencilBits wern't intended for SRV formats and always returned false in the SRV case.

	CL 3231395:
	  Update D3D12 RHI:
	 - Fix deferred MSAA path in RHI
	 - Add Pix3.h support
	 - Cleanup SetName usage and remove it from shipping builds.
	 - Fix fence reuse bug. We were signaling MAX UINT (-1) and then waiting for 0, which was always signaled. This change also removes the fence value reset code, there is no need to reset a fence to a previous value.
	 - Use FPlatformAtomics::InterlockedIncrement instead of InterlockedIncrement64
	 - Use InterlockedIncrement() instead of _InterlockedIncrement() and use the FPlatformAtomics:: version.
	 - Fix possible readback heap being evicted while in use. GetQueryData happens on the render thread and isn't tied to a command list so we should always have readback heaps resident.

Change 3264251 on 2017/01/19 by Mark.Satterthwaite

	Modify some asserts in MetalRHI - technically using a store-action of ENoAction on Stencil buffers should make it invalid to restart a render-pass but on Mac it will work because ENoAction won't invalidate anything written. In future we need to use deferred store-actions in Metal so that we can "restart" passes while enforcing correct Load/Store actions.
	#jira UE-40803

Change 3264642 on 2017/01/19 by Daniel.Wright

	Raised GMaxShadowDepthBufferSizeX to max texture resolution on most platforms, was previously 4096.

Change 3265330 on 2017/01/20 by Ben.Salem

	Stop performance plugin from building in Win32.
	#tests recompiled and preflighted

Change 3265678 on 2017/01/20 by Marcus.Wassmer

	Fix bad declaration.
	#3055

Change 3266656 on 2017/01/20 by Mark.Satterthwaite

	Changes to the FShaderCache to restore it and extend it to optionally report on shader de-duplication when generating a binary shader cache (Console Variable: r.BinaryShaderCacheLogging).

	Duplicate & amend CL #3266053 from Trepka:
	Fixed issues with shader cache not working properly with Mac Metal (but it still requires -norhithread to work at all). Enabled the shader cache by default if RHI thread is disabled.

	Amend & integrate RCO's CL #3197085.

Change 3267741 on 2017/01/23 by Rolando.Caloca

	DR - Detect duplicated shader and pipeline types

Change 3268600 on 2017/01/23 by Uriel.Doyon

	Added missing r.Streaming.MaxEffectiveScreenSize config to base texture scability settings.
	Integrated CL 3227368 from Orion stream
	Enabled r.Streaming.UsePerTextureBias by default as this has been tested in Orion for several months.
	Fixed issue with the  InvestigateTexture command which could return invalid reference depending on the timing,
	Added th MaxEffectiveScreenSize settings in the investigate texture command.

Change 3269512 on 2017/01/24 by Richard.Wallis

	Fix for shader binary cache uncompress data size during internal shader log.

Change 3271237 on 2017/01/25 by Ben.Woodhouse

	D3D12 updateTexture2D crash fix

	#jira UE-41059

Change 3271564 on 2017/01/25 by Olaf.Piesche

	#jira UE-40980
	#udn 325525

	Fix uniform buffers for mesh particles; these should really be on the mesh collector, so allocating them as a one frame resource is safe

Change 3271594 on 2017/01/25 by Ben.Woodhouse

	ESRAM support stage 1:
	Implemented noncontiguous ESRAM page allocator replacing XgMemoryLayout API. The allocator allocates non-contiguous ranges of pages and maps them onto a contiguous virtual address range.
	Unlike the previous implementation, this allocator frees pages for reuse when resources are destroyed
	Note: issues with deferred deallocation may prevent reuse in many cases - that will be addressed in the next stage
	Support for the old allocator is still available (for now) via the define NEW_ESRAM_ALLOCATOR
	#fyi rolando.caloca

Change 3272616 on 2017/01/25 by Rolando.Caloca

	DR - Update shader version

Change 3273138 on 2017/01/26 by Ben.Woodhouse

	Fix merge issue with MonitoredProcess.cpp (this arose from an integration made as an edit in dev-rendering, which confused perforce when the change was subsequently integrated from main)

[CL 3274498 by Rolando Caloca in Main branch]
2017-01-26 19:20:49 -05:00
Gil Gribb
80f6fa5fa7 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693)
#lockdown Nick.Penwarden
#rb none

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

Change 3219796 on 2016/12/02 by Rolando.Caloca

	DR - vk - Increase timeout to 60ms

Change 3219884 on 2016/12/02 by Daniel.Wright

	Assert to help track down rare crash locking capsule indirect shadow vertex buffer

Change 3219885 on 2016/12/02 by Daniel.Wright

	Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable'

Change 3219886 on 2016/12/02 by Daniel.Wright

	Don't create projected shadows when r.ShadowQuality is 0
	* Fixes crash in the forward path trying to render shadows
	* In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped

Change 3219887 on 2016/12/02 by Daniel.Wright

	Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing

Change 3219893 on 2016/12/02 by Daniel.Wright

	AMD AGS library with approved TPS
	Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below)

Change 3219913 on 2016/12/02 by Daniel.Wright

	Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded

Change 3220029 on 2016/12/02 by Daniel.Wright

	Async shader compiling now recreates scene proxies which are affected by the material which was compiled.  This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation).
	* A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials
	* Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials
	* FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet

Change 3220108 on 2016/12/02 by Daniel.Wright

	Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present

Change 3220504 on 2016/12/03 by Mark.Satterthwaite

	Metal Desktop Tessellation support from Unicorn.
	- Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4).
	- Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant.
	- Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation.
	- Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding.
	- Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default.
	- Epic: Various fixes to Layered Rendering for Metal.
	- Omits Mobile Tessellation support which needs further revision.

Change 3220881 on 2016/12/04 by Mark.Satterthwaite

	Compiles fixes for iOS & static analysis fixes from Windows.

Change 3221180 on 2016/12/05 by Guillaume.Abadie

	Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time.

Change 3221217 on 2016/12/05 by Chris.Bunner

	More NVAPI warning fixups.

Change 3221219 on 2016/12/05 by Chris.Bunner

	When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent.
	#jira UE-37792

Change 3221220 on 2016/12/05 by Chris.Bunner

	Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames.
	#jira UE-35132

Change 3221221 on 2016/12/05 by Chris.Bunner

	PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser)
	#jira UE-35760

Change 3221223 on 2016/12/05 by Chris.Bunner

	Default to include dev-code when compiling material preview stats.
	#jira UE-20321

Change 3221534 on 2016/12/05 by Rolando.Caloca

	DR - Added FDynamicRHI::GetName()

Change 3221833 on 2016/12/05 by Chris.Bunner

	Set correct output extent on PostProcessUpscale (allows users to extend chain correctly).
	#jira UE-36989

Change 3221852 on 2016/12/05 by Chris.Bunner

	32-bit/ch EXR screenshot and frame dump output.
	Fixed row increment bug in 128-bit/px surface format readback.
	#jira UE-37962

Change 3222059 on 2016/12/05 by Rolando.Caloca

	DR - vk - Fix memory type not found

Change 3222104 on 2016/12/05 by Rolando.Caloca

	DR - Lambdaize
	- Added quicker method to check if system textures are initialized

Change 3222290 on 2016/12/05 by Mark.Satterthwaite

	Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist.

Change 3222864 on 2016/12/06 by Rolando.Caloca

	DR - Fix mem leak when exiting

Change 3222873 on 2016/12/06 by Rolando.Caloca

	DR - vk - Minor info to help track down leaks

Change 3222875 on 2016/12/06 by Rolando.Caloca

	DR - Fix mem leak with VisualizeTexture
	#jira UE-39360

Change 3223226 on 2016/12/06 by Chris.Bunner

	Static analysis warning workaround.

Change 3223235 on 2016/12/06 by Ben.Woodhouse

	Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D

Change 3223343 on 2016/12/06 by Chris.Bunner

	Moved HLOD persistent data to viewstate to fix per-view compatability.
	#jira UE-37539

Change 3223349 on 2016/12/06 by Chris.Bunner

	Fixed HLOD with FreezeRendering command.
	#jira UE-29839

Change 3223371 on 2016/12/06 by Michael.Trepka

	Removed obsolete check() in FMetalSurface constructor

Change 3223450 on 2016/12/06 by Chris.Bunner

	Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward.

Change 3223638 on 2016/12/06 by Michael.Trepka

	Restored part of the check() in FMetalSurface constructor removed in CL 3223371

Change 3223642 on 2016/12/06 by Mark.Satterthwaite

	Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet).
	- Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs).
	- Enable with -metaledr command-line argument as it is off-by-default.
	- Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding.

Change 3223830 on 2016/12/06 by Rolando.Caloca

	DR - vk - Better error when finding an invalid Vulkan driver
	#jira UE-37495

Change 3223869 on 2016/12/06 by Rolando.Caloca

	DR - vk - Reuse fences

Change 3223906 on 2016/12/06 by Guillaume.Abadie

	Fix alpha through TempAA artifact causing a small darker edge layouts.

Change 3224199 on 2016/12/06 by Mark.Satterthwaite

	Fix a dumb copy-paste error from the HDR changes to Metal.

Change 3224220 on 2016/12/06 by Mark.Satterthwaite

	Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects.
	- Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering.

Change 3224236 on 2016/12/06 by Mark.Satterthwaite

	IWYU CIS compile fix for iOS.

Change 3224366 on 2016/12/06 by Mark.Satterthwaite

	Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears.
	- If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted.
	- This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo.

Change 3224416 on 2016/12/06 by Uriel.Doyon

	New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds.
	Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives).

	Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData.

	Fix for material texture streaming data not being available on some cooked builds.

	Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible).
	This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting.
	Forced residency are now loaded in two steps (visible, then forced), improving reactiveness.

	Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them,
	and also "LastRenderTimeMips" which related to timed primitives.
	Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency.

	"Texture Streaming Build" now updates the map check after execution.

	Removed Orphaned texture logic as this has  become irrelevant with the latest retention priority logic.

	Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements.

Change 3224532 on 2016/12/07 by Uriel.Doyon

	Integrated CL 3223965 :

	Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore.
	Added more options to allow the user to cancel this build also.

Change 3224714 on 2016/12/07 by Ben.Woodhouse

	Cherry pick CL 3223972 from //fortnite/main:

	Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms)

Change 3224715 on 2016/12/07 by Ben.Woodhouse

	New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version

Change 3224975 on 2016/12/07 by Rolando.Caloca

	DR - vk - Dump improvements

Change 3225012 on 2016/12/07 by Rolando.Caloca

	DR - Show warning if trying to use num samples != (1,2,4,8,16)

Change 3225126 on 2016/12/07 by Chris.Bunner

	Added 'force 128-bit rendering pipeline' to high-res screenshot tool.
	#jira UE-39345

Change 3225449 on 2016/12/07 by Chris.Bunner

	Updated engine rendering defaults to better match current best practices.
	#jira UE-38081

Change 3225485 on 2016/12/07 by Chris.Bunner

	Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases.
	#jira UE-19394

Change 3225486 on 2016/12/07 by Chris.Bunner

	Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled.

Change 3225505 on 2016/12/07 by Daniel.Wright

	Fixed exponential height fog disappearing with no skybox

Change 3225655 on 2016/12/07 by Benjamin.Hyder

	Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting.

Change 3225668 on 2016/12/07 by Chris.Bunner

	Dirty owning packages when user manually forces regeneration of all reflection captures.
	#jira UE-38759

Change 3226139 on 2016/12/07 by Rolando.Caloca

	DR - Fix recompute tangents disabling skin cache
	- Make some macros into lambdas
	#jira UE-39143

Change 3226212 on 2016/12/07 by Daniel.Wright

	Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false

Change 3226213 on 2016/12/07 by Daniel.Wright

	Scene Capture 2D can specify a global clip plane, which is useful for portals
	* Requires the global clip plane project setting to be enabled

Change 3226214 on 2016/12/07 by Daniel.Wright

	Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass
	* If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used
	* Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing
	* Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost
	* Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall

Change 3226258 on 2016/12/07 by Rolando.Caloca

	DR - Typo fix

Change 3226259 on 2016/12/07 by Rolando.Caloca

	DR - compile fix
	#jira UE-39143

Change 3226932 on 2016/12/08 by Chris.Bunner

	Re-saved Infiltrator maps to update reflection captures.
	#jira UE-38759

Change 3227063 on 2016/12/08 by Mark.Satterthwaite

	For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia.
	#jira UE-37436

Change 3227120 on 2016/12/08 by Gil.Gribb

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

Change 3227211 on 2016/12/08 by Arne.Schober

	DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant.

Change 3227257 on 2016/12/08 by Marc.Olano

	Extension to PseudoVolumeTexture for more flexible layout
	Change by ryan.brucks

Change 3227286 on 2016/12/08 by Rolando.Caloca

	DR - Fix crash when using custom expressions and using reserved keywords
	#jira UE-39311

Change 3227376 on 2016/12/08 by Mark.Satterthwaite

	Must not include a private header inside the MenuStack public header as that causes compile errors in plugins.

Change 3227415 on 2016/12/08 by Mark.Satterthwaite

	Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering.

Change 3227516 on 2016/12/08 by Daniel.Wright

	Implemented UWidgetComponent::GetUsedMaterials

Change 3227521 on 2016/12/08 by Guillaume.Abadie

	Fixes post process volume's indirect lighting color.

	#jira UE-38888

Change 3227567 on 2016/12/08 by Marc.Olano

	New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask

Change 3227628 on 2016/12/08 by Daniel.Wright

	Removed redundant ResolveSceneDepthTexture from the merge

Change 3227635 on 2016/12/08 by Daniel.Wright

	Forward renderer supports shadowing from movable lights and light functions
	* Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed
	* Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned

Change 3227660 on 2016/12/08 by Rolando.Caloca

	DR - vk - Fix r.MobileMSAA on Vulkan
	- r.MobileMSAA is now read-only (to be fixed on 4.16)
	- Show time for PSO creation hitches
	#jira UE-39184

Change 3227704 on 2016/12/08 by Mark.Satterthwaite

	Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms.

Change 3227705 on 2016/12/08 by Daniel.Wright

	Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426)

Change 3227787 on 2016/12/08 by Chris.Bunner

	Added extent clear to motion blur pass to catch misized buffers bringing in errors.
	Added early out to clear call when excluded region matches RT region.
	#jira UE-39437

Change 3228177 on 2016/12/08 by Marc.Olano

	Fix DCC sqrt(int) error

Change 3228285 on 2016/12/08 by Chris.Bunner

	Back out changelist 3225449.
	#jira UE-39528

Change 3228680 on 2016/12/09 by Gil.Gribb

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

Change 3228940 on 2016/12/09 by Mark.Satterthwaite

	Editor fixes for 4.15:
	- PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again.
	- Don't start render-passes without a valid render-target-array in MetalRHI.

Change 3228950 on 2016/12/09 by Mark.Satterthwaite

	Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11.
	- Fixed the Skeleton editor tree trying to access a widget before it has been constructed.
	- Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation.
	#jira UE-39256

Change 3229013 on 2016/12/09 by Mark.Satterthwaite

	Further tidy up in SSkeletonTreeView as suggested by Nick.A.

Change 3229101 on 2016/12/09 by Chris.Bunner

	Log compile error fix and updated cvar comments.

Change 3229236 on 2016/12/09 by Ben.Woodhouse

	XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles

Change 3229430 on 2016/12/09 by Ben.Woodhouse

	PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov)

	Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster)

Change 3229580 on 2016/12/09 by Marcus.Wassmer

	DepthBoundsTest for AMD.

Change 3229701 on 2016/12/09 by Michael.Trepka

	Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2

Change 3229706 on 2016/12/09 by Chris.Bunner

	Added GameUserSettings controls for HDR display output.
	Removed Metal commandline as this should replace the need for it.

Change 3229774 on 2016/12/09 by Michael.Trepka

	Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit.

Change 3229819 on 2016/12/09 by Chris.Bunner

	Updated engine rendering defaults to better match current best practices.
	#jira UE-38081

Change 3229948 on 2016/12/09 by Rolando.Caloca

	DR - Fix d3d debug error
	#jira UE-39589

Change 3230341 on 2016/12/11 by Mark.Satterthwaite

	Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled.
	#jira UE-39613

Change 3230860 on 2016/12/12 by Marcus.Wassmer

	Experimental Nvidia AFR support.

Change 3230930 on 2016/12/12 by Mark.Satterthwaite

	Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function.

Change 3231252 on 2016/12/12 by Marcus.Wassmer

	Fix NumGPU detection. (SLI only crash)

Change 3231486 on 2016/12/12 by Mark.Satterthwaite

	Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers.

Change 3231661 on 2016/12/12 by Mark.Satterthwaite

	Retain the RHI samplers in MetalRHI to guarantee lifetime.

[CL 3231696 by Gil Gribb in Main branch]
2016-12-12 17:47:42 -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
Marcus Wassmer
1eabdaf700 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none

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

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

	Support for ReflectionEnvironment and light type show flags with ForwardShading

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

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

Change 3162206 on 2016/10/13 by Chris.Bunner

	Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
	Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
	Added CustomEyeTangent to material attributes.
	Resolved some hard-coded attribute typing and other minor fixes.

Change 3186067 on 2016/11/03 by Daniel.Wright

	Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved

Change 3186069 on 2016/11/03 by Daniel.Wright

	Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high

Change 3186084 on 2016/11/03 by Mark.Satterthwaite

	Duplicate 3172511:
	Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
	#jira UE-37481

Change 3186089 on 2016/11/03 by Mark.Satterthwaite

	Duplicate CL #3169764:
	Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
	#jira FORT-27627

Change 3186113 on 2016/11/03 by Mark.Satterthwaite

	Duplicate CL #3183807:
	Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
	- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
	- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
	#jira FORT-31649

Change 3186116 on 2016/11/03 by Mark.Satterthwaite

	Duplicate CL #3183823:
	Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.

	Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
	#jira FORT-31649

Change 3186818 on 2016/11/04 by Chris.Bunner

	PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).

Change 3186979 on 2016/11/04 by Rolando.Caloca

	DR - Misc minor cleanup

Change 3187169 on 2016/11/04 by Uriel.Doyon

	Incremental insertion of level data between PostLoad and AddToWorld

Change 3187205 on 2016/11/04 by Mark.Satterthwaite

	Compile fixes for iOS.

Change 3187389 on 2016/11/04 by Uriel.Doyon

	Fix for possible stall when loading hidden level

Change 3187598 on 2016/11/04 by Michael.Trepka

	MetalViewport compile fix

Change 3187678 on 2016/11/04 by Uriel.Doyon

	Fix for landscape grass textures not being streamed in correctly.

Change 3187731 on 2016/11/04 by Rolando.Caloca

	DR - Start making type safe some cross compiler enums

Change 3187824 on 2016/11/04 by Rolando.Caloca

	DR - clang compile fix

Change 3187953 on 2016/11/04 by Rolando.Caloca

	DR - vk - Mac compile fix

Change 3188696 on 2016/11/07 by Mark.Satterthwaite

	Another iOS compile fix for new MetalViewport validation code.

Change 3188906 on 2016/11/07 by Rolando.Caloca

	DR - Show permutation of LUTBlender

Change 3189094 on 2016/11/07 by Chris.Bunner

	Fix RemoveAAJitter from projection matrix.
	#jira UE-37701, UE-38003

Change 3189134 on 2016/11/07 by Daniel.Wright

	Fix for CreateRenderTarget2D called in construction script during cooking

Change 3189145 on 2016/11/07 by Chris.Bunner

	Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.

Change 3189239 on 2016/11/07 by Daniel.Wright

	Added show flag for Contact Shadows, disabled in planar reflections

Change 3189252 on 2016/11/07 by Daniel.Wright

	Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading

Change 3189406 on 2016/11/07 by Mark.Satterthwaite

	Really fix the last of the iOS compile errors from changes to the MetalViewport code.

Change 3190854 on 2016/11/08 by Ben.Woodhouse

	XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
	#jira UE-34264
	#fyi james.golding
	#fyi keith.judge

Change 3190962 on 2016/11/08 by Olaf.Piesche

	Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues

Change 3191959 on 2016/11/09 by Uriel.Doyon

	Removed some static primitives from the dynamic primitive handler for texture streaming.

Change 3193122 on 2016/11/10 by Chris.Bunner

	Always update non-preview material resources for use in code preview.
	#jira UE-38223

Change 3193190 on 2016/11/10 by Gil.Gribb

	UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
	#jira UE-36379

Change 3193523 on 2016/11/10 by Uriel.Doyon

	Fixed incorrect section bounds used for texture streaming.

Change 3193962 on 2016/11/10 by Uriel.Doyon

	Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.

Change 3193974 on 2016/11/10 by Uriel.Doyon

	New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.

Change 3194109 on 2016/11/10 by Uriel.Doyon

	Another patch on material bounds used for texture streaming.

Change 3194665 on 2016/11/11 by Chris.Bunner

	Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.

Change 3194734 on 2016/11/11 by Rolando.Caloca

	DR - vk - Simplified some texture casting

Change 3194867 on 2016/11/11 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3195176 on 2016/11/11 by Chris.Bunner

	Fixed incorrectly updated NVAPI error.

Change 3195425 on 2016/11/11 by Uriel.Doyon

	Fixed possible invalid level reference in the texture streamer

Change 3196512 on 2016/11/14 by Gil.Gribb

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

Change 3196750 on 2016/11/14 by Marcus.Wassmer

	Fix ordering problem with GPU cache transitions

Change 3196815 on 2016/11/14 by Daniel.Wright

	Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS

Change 3196818 on 2016/11/14 by Daniel.Wright

	Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory

Change 3196819 on 2016/11/14 by Daniel.Wright

	Volume lighting samples are allowed outside of the importance volume if their influence affects the volume.  Fixes black indirect lighting on movable components in maps with small importance volumes.
	Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers

Change 3197243 on 2016/11/14 by Uriel.Doyon

	Async Task For Updating static component LastRender time
	#jira UE-24268

Change 3197359 on 2016/11/14 by Daniel.Wright

	Added Inscattering Texture controls to ExponentialHeightFog
	* When InscatteringColorCubemap is specified, directional light inscattering is disabled
	* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
	* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
	* Fog shader permutations based on what feature is enabled

Change 3198419 on 2016/11/15 by Chris.Bunner

	PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
	HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition,  refactoring common functions.
	Exposed RHICreateTargetableShaderResource3D.
	Moved some (translucent) volume rendering helpers to allow access in Slate.

Change 3198822 on 2016/11/15 by Daniel.Wright

	Mac compile fix

Change 3199509 on 2016/11/15 by Uriel.Doyon

	Added support for viewmode param asset name (and note just param value).
	Used to investigate texture streamer behavior.

Change 3199578 on 2016/11/15 by Rolando.Caloca

	DR - Add some shader resource tables to SCW when running with -directcompile

Change 3199698 on 2016/11/15 by Rolando.Caloca

	DR - vk - Refactor shader & descriptor bindings

Change 3199712 on 2016/11/15 by Rolando.Caloca

	DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader

Change 3199717 on 2016/11/15 by Rolando.Caloca

	DR - vk - Show hitching PSO info again

Change 3199750 on 2016/11/15 by Rolando.Caloca

	DR - SCW clang compile fixes

Change 3200353 on 2016/11/16 by Rolando.Caloca

	DR - vk - Mac fix

Change 3200358 on 2016/11/16 by Chris.Bunner

	Only allow UI composition on platforms we currently use it.

Change 3200823 on 2016/11/16 by Chris.Bunner

	Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
	#jira UE-38699

Change 3200947 on 2016/11/16 by Mark.Satterthwaite

	Fix UE-38695 by not trying to resize the viewport on the wrong thread.
	#jira UE-38695

Change 3201069 on 2016/11/16 by Daniel.Wright

	Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors

Change 3201346 on 2016/11/16 by Brian.Karis

	Temporal AA fix for correct edge gradients.

	Filtering now combined with importance sampling.
	Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
	Fixed antighosting. Will yet require a dilation to be perfect.
	Optimized bicubic filtering to 5 taps instead of 9.
	Cleaned out unused code.

Change 3201369 on 2016/11/16 by Brian.Karis

	Bicubic texture sample

Change 3201522 on 2016/11/16 by Rolando.Caloca

	DR - vk - Fix static analysis issues

Change 3201878 on 2016/11/17 by Chris.Bunner

	Temporarily disable Nvapi HDR error logging.
	#jira UE-38529

Change 3202108 on 2016/11/17 by Simon.Tovey

	Assets with easy repro for flickering particles bug

Change 3202181 on 2016/11/17 by Rolando.Caloca

	DR - vk - CIS android fix

Change 3202325 on 2016/11/17 by Ben.Woodhouse

	Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
	 Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
	 #jira UE-34264

Change 3204394 on 2016/11/18 by Guillaume.Abadie

	PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)

	#br Ben.Woodhouse

Change 3204428 on 2016/11/18 by Guillaume.Abadie

	Fixes a couple of issues in decals:

	* Crash in FDecalDrawingPolicyFactory::DrawMesh()
	* ActorPostion material expression
	* PixelNormalWS material expression
	* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE

	#jira UE-38327, UE-38158, UE-37818, UE-37350

Change 3204429 on 2016/11/18 by Uriel.Doyon

	Darker default undefined accuracy.
	Reenabled the texture streaming build in the build all.

Change 3204458 on 2016/11/18 by Chris.Bunner

	Shader truncation warnings fix.

Change 3204459 on 2016/11/18 by Chris.Bunner

	Engine 'Passthrough' material fuction fix. V4 is now actually a V4.

Change 3204460 on 2016/11/18 by Chris.Bunner

	Correctly handle some known Nvapi warnings.
	#jira UE-38529

Change 3204653 on 2016/11/18 by Marc.Olano

	Helper functions for tiled textures

	Checking in for Ryan Brucks

Change 3204863 on 2016/11/18 by Arne.Schober

	DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation

Change 3204939 on 2016/11/18 by Arne.Schober

	DR - Make clang happy

Change 3204968 on 2016/11/18 by Arne.Schober

	DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.

Change 3206293 on 2016/11/21 by Uriel.Doyon

	New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
	Set to true when the streamer can possibly load a mip in the near future.
	#jira UE-37787

Change 3206551 on 2016/11/21 by Chris.Bunner

	Added material update context when forcing all shaders to recompile.
	#jira UE-38481

Change 3206644 on 2016/11/21 by Benjamin.Hyder

	Updating Planar Reflection example in TM-Shadermodels.

Change 3206899 on 2016/11/21 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3206900 on 2016/11/21 by Rolando.Caloca

	DR - Added missing strings for shader formats

Change 3206983 on 2016/11/21 by Rolando.Caloca

	DR - vk - Support for SV_Coverage

Change 3207237 on 2016/11/22 by Simon.Tovey

	Exporting particle module base and a couple of child classes as it's commonly requested.

	#test compiles

Change 3207241 on 2016/11/22 by Gil.Gribb

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

Change 3207520 on 2016/11/22 by Ben.Woodhouse

	Cherry picked from //Fortnite/Main@3206301
	Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
	#jira FORT-31616
	#code_review keith.judge

Change 3207541 on 2016/11/22 by Ben.Woodhouse

	Cherry picked from //fortnite/Main@3207422
	* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
	* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
	* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
	#jira UE-38609

Change 3207654 on 2016/11/22 by Chris.Bunner

	Don't flag 16-bit PNG/JPG textures as sRGB on import.
	#jira UE-30279

Change 3208434 on 2016/11/22 by Rolando.Caloca

	DR - vk - UAV transitions

Change 3208490 on 2016/11/22 by Chris.Bunner

	Break material code sharing when we detect an unresolvable loop.
	By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
	Unified IsResultMA detection across switch nodes.

Change 3208860 on 2016/11/23 by Rolando.Caloca

	DR - vk - Fix some format issues

Change 3209265 on 2016/11/23 by Arne.Schober

	DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
	We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
	One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
	And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
	Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
	Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)

Change 3209305 on 2016/11/23 by Guillaume.Abadie

	Fix contact shadow's assemption on objects thickness

Change 3209334 on 2016/11/23 by Brian.Karis

	Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.

Change 3209903 on 2016/11/24 by Guillaume.Abadie

	Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL

Change 3209973 on 2016/11/24 by Ben.Woodhouse

	Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)

Change 3210023 on 2016/11/24 by Uriel.Doyon

	Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
	#jira UE-37210

Change 3210026 on 2016/11/24 by Ben.Woodhouse

	Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing

Change 3210049 on 2016/11/24 by Ben.Woodhouse

	Fix mac build

Change 3210071 on 2016/11/24 by Uriel.Doyon

	Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
	#jira UE-37542

Change 3210374 on 2016/11/25 by Ben.Woodhouse

	* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)

	* Move Decal rendertarget manager function implementations out of the header.
	#jira UE-38879

Change 3210390 on 2016/11/25 by Uriel.Doyon

	Fixed cubemap resourcesize not taking into account mipgen settings
	#jira UE-37045

Change 3210407 on 2016/11/25 by Uriel.Doyon

	"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
	That can be used in combination with -buildlighting.

Change 3210563 on 2016/11/27 by Rolando.Caloca

	DR - vk - Integrate cached memory fixes and PF_D24 format fix
	#jira UE-39025
	PR #2974

Change 3210564 on 2016/11/27 by Rolando.Caloca

	DR - Fix for GL linker
	PR #2975
	#jira UE-39029

Change 3210592 on 2016/11/27 by Rolando.Caloca

	DR - vk - SM5 fixes

Change 3210597 on 2016/11/27 by Rolando.Caloca

	DR - vk - Prep for staging UB copies to GPU memory

Change 3210600 on 2016/11/27 by Rolando.Caloca

	DR - vk - Extract generic range code

Change 3210613 on 2016/11/27 by Rolando.Caloca

	DR - vk - Added r.Vulkan.SubmitOnDispatch

Change 3211054 on 2016/11/28 by Rolando.Caloca

	DR - vk - Missing reference

Change 3211330 on 2016/11/28 by Chris.Bunner

	Shader compile error for max texture coordinate count on skinned meshes.

Change 3211384 on 2016/11/28 by Arne.Schober

	DR - Enforce move on EnqueueRenderCommand Lambda

Change 3211431 on 2016/11/28 by Gil.Gribb

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

Change 3211738 on 2016/11/28 by Gil.Gribb

	IWYU fixes after merge

Change 3212231 on 2016/11/28 by Richard.Wallis

	Fix build errors

Change 3212253 on 2016/11/28 by Richard.Wallis

	Remove MacGraphicsSwitching plugin.

	#jira UE-37640

Change 3212310 on 2016/11/28 by Rolando.Caloca

	DR - vk - Update glslang to 1.0.33.0

Change 3212446 on 2016/11/28 by Guillaume.Abadie

	Implements PreviousFrameSwitch material expression

Change 3212594 on 2016/11/28 by Arne.Schober

	DR - Fix missing include

Change 3212681 on 2016/11/29 by Rolando.Caloca

	DR - vk - Auto flush for compute shader

Change 3213000 on 2016/11/29 by Gil.Gribb

	temp fix for PF_MAX

Change 3213161 on 2016/11/29 by Ben.Woodhouse

	Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714

	Using:
	 - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
	 - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
	 - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...

	Changes from UE4-DX12:

	*** CL 3183818 ***
	Update D3D12 RHI to 4.14:
	 - Merged changes from Epic up until 10/20/16
	 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.

	I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.

	I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.

	-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.

	-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.

	-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.

	-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.

	-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.

	I improved and cleaned up high freqency call stacks like:
	 - RHISetShaderTexture
	 - RHISetShaderResourceViewParameter
	 - RHISetShaderParameter
	 - RHISetUAVParameter

	In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.

	-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.

	-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.

	This work involved a couple changes:
	1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
	2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).

	-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.

	-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.

	-Delay load D3D12.dll and add root signature 1.1 support.

	-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.

	*** CL 3183824 ***
	Fix the D3D12 RHI after integrating UE 4.14 updates:
	- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
	- Fixed a spelling error
	- Removed the need for bForceState, we use dirty bits now

	*** CL 3183830 ***
	- GetDebugFlags RHI extension, needed by XB1 movie player.
	- Only query memory info if stats are enabled
	- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
	- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.

	*** CL 3183837 ***
	Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.

	*** CL 3183931 ***
	Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)

	*** CL 3183978 ***
	Update UBT Windows build settings:
	- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.

	-Delay load D3D12.dll and add root signature 1.1 support.

	*** CL 3184132 ***
	Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.

	*** Changelist 3211714 ***
	Update D3D12 RHI with fixes:
	 - Check if we can reserve slots in GatherUniqueSamplerTables
	 - DirtyState more often in StateCache
	 - Remove InternalSetSamplerState. The alternate function isn't used.
	 - Allow MRTClear for arrays with holes in them
	 - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
	 - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
	 - Resource transitions: go through Common between queues (3D <--> Compute)
	 - Fix initial state for placed resources.
	 - Merging epic

Change 3213250 on 2016/11/29 by Chris.Bunner

	GBufferHints tooltip fix.
	#jira UE-39103

Change 3213345 on 2016/11/29 by Gil.Gribb

	more IWYU fallout

Change 3213676 on 2016/11/29 by Rolando.Caloca

	DR - Fix incorrect texture getting cleared

Change 3213728 on 2016/11/29 by Rolando.Caloca

	DR - Lambda-ize

Change 3214461 on 2016/11/29 by Ben.Woodhouse

	Rollout August QFE4 XDK (required for latest DX12 changes on XB1)

Change 3215317 on 2016/11/30 by Daniel.Wright

	PS4 compile fix

Change 3216343 on 2016/11/30 by Arne.Schober

	DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.

Change 3216844 on 2016/12/01 by Ben.Woodhouse

	Fix for static analysis warnings after discussion with Microsoft

Change 3216916 on 2016/12/01 by Gil.Gribb

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

Change 3217385 on 2016/12/01 by Arne.Schober

	DR - UE-39218, UE-39221, UE-39224  and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass

Change 3217464 on 2016/12/01 by Ben.Woodhouse

	Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
	#jira UE-39225

Change 3217534 on 2016/12/01 by Arne.Schober

	DR - Fix Merge conflict

Change 3217581 on 2016/12/01 by Rolando.Caloca

	DR - Fix assert on debug

Change 3217741 on 2016/12/01 by Benjamin.Hyder

	Duplicate audio fix.

Change 3217890 on 2016/12/01 by Rolando.Caloca

	DR - Fix widget not rendering properly when hidden
	#jira UE-39221

Change 3218129 on 2016/12/01 by Arne.Schober

	DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.

Change 3218759 on 2016/12/02 by Guillaume.Abadie

	Fixes editor compositing bug caused by alpha through post processing change 3209903

	#jira UE-39221

[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -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
Josh Adams
8d2561486c Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none

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

Change 3175510 on 2016/10/26 by Josh.Adams

	- New Wolf SDK support (11).
	- Added new input plugin now that extra NDA is lifted

Change 3176629 on 2016/10/27 by Josh.Adams

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

Change 3177232 on 2016/10/27 by Josh.Adams

	- Minor comment change

Change 3177348 on 2016/10/27 by Dmitry.Rekman

	Linux: default to GL4.

Change 3177523 on 2016/10/27 by Dmitry.Rekman

	Linux: update libc++ to 3.9 and add AArch64.

Change 3178208 on 2016/10/28 by Daniel.Lamb

	Enable multithreaded lightmap encoding.

Change 3178273 on 2016/10/28 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
	 - Parallel-for accessing the same log files, causing IOException.

Change 3178573 on 2016/10/28 by Dmitry.Rekman

	Linux: fix for projects not having proper version associations (UE-5954).

	- Fixed by CengizT.

Change 3180487 on 2016/10/31 by Josh.Adams

	Moved new file to peoper spot

Change 3180508 on 2016/10/31 by Josh.Adams

	- Fixed crash on audio free for Wolf

Change 3181821 on 2016/11/01 by Josh.Adams

	- Fixed ShooterGame cooking after sync from main

Change 3182469 on 2016/11/01 by Josh.Adams

	- test/shipping build wolf fixes

Change 3183078 on 2016/11/02 by Josh.Adams

	- Added AllDesktop back in for Windows (File | Package)

Change 3183229 on 2016/11/02 by Josh.Adams

	- Fixed wrong path in JunkManifest.txt

Change 3184245 on 2016/11/02 by Dmitry.Rekman

	Linux: add AArch64 (ARM64) libs.

Change 3184326 on 2016/11/02 by Dmitry.Rekman

	Linux: add more files for AArch64.

Change 3184353 on 2016/11/02 by Dmitry.Rekman

	Linux: Add missed AArch64 libpng.

Change 3184871 on 2016/11/03 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
	 - Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.

	#jira UE-36365

Change 3185407 on 2016/11/03 by Dmitry.Rekman

	Linux: fix PhysX on AArch64.

	(Edigrating 3184484 from Wombat to Dev-Platform).

Change 3187488 on 2016/11/04 by Josh.Adams

	Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)

Change 3187740 on 2016/11/04 by Josh.Adams

	- Re-copying the Switch files, now with proper case in the directory names

Change 3188304 on 2016/11/07 by Dan.Mahashin

	- Removed deprecated functions in NVN window creation

Change 3188865 on 2016/11/07 by Luke.Thatcher

	[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
	 - Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.

	#jira UE-37672

Change 3189517 on 2016/11/07 by Jeff.Campeau

	Fix incorrect local platform identification in device manager.

	#jira UE-38312

Change 3189897 on 2016/11/08 by Luke.Thatcher

	[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.

Change 3190042 on 2016/11/08 by Josh.Adams

	- Fixed default and Shooter App Ids for Switch

Change 3190181 on 2016/11/08 by Joe.Barnes

	[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.

Change 3190185 on 2016/11/08 by Joe.Barnes

	Fix another instance of UE_LOG() where the string was being truncated on Switch platform.

Change 3190272 on 2016/11/08 by Daniel.Lamb

	Add file hashes to depependency tracking info.
	Moved partial gc controlling code outside of the cooker.
	Store cooked file hashes in cooked asset registry.
	Cooked asset registry is now part of the cooker instead of chunking manifest.
	#test cook paragon

Change 3190332 on 2016/11/08 by Omar.Rodriguez

	Fixing issues with iOS remote notifications

	* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
	* Fix misspelling when doing respondsToSelector check
	* Update generated Xcode project to use the generated entitlements file
	* Add remote-notification as a background mode
	* Update the generated entitlements file contents to include APS environment for push notifications
	* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled

Change 3190391 on 2016/11/08 by Brent.Pease

	UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting

	(Josh's suggestion worked out of the box)

Change 3190786 on 2016/11/08 by Bart.Hawthorne

	Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame

Change 3190902 on 2016/11/08 by Alicia.Cano

	Allow RTTI and exceptions to be enabled for Android
	#jira UE-37845
	#android

Change 3190973 on 2016/11/08 by Chris.Babcock

	Add ability to set element value field with new text parameter for UPL
	#jira UE-37390
	#PR #2869
	#ue4
	#upl

Change 3191411 on 2016/11/09 by Josh.Stoddard

	Warn when user tries to use a shared pak reader on the wrong thread

	#jira UE-38049

Change 3191635 on 2016/11/09 by Josh.Stoddard

	More useful message during cook when AT9 assets fail to encode using SCE's tool

	#jira UE-38053

Change 3191663 on 2016/11/09 by Peter.Sauerbrei

	fix for ios build from PC

Change 3191701 on 2016/11/09 by Brent.Pease

	implement iOS device logs on windows

Change 3191794 on 2016/11/09 by Daniel.Lamb

	Fixed up compile error missing header file.
	#test Compile editor
	#jira UE-38414

Change 3191807 on 2016/11/09 by Josh.Adams

	- Fixed one chage that was missed in the WolfPlat->Switch rename

Change 3191867 on 2016/11/09 by Josh.Adams

	- Enabled Switch for ShooterGame project

Change 3191958 on 2016/11/09 by Jeff.Campeau

	Add warning for anyone still using XP

Change 3192185 on 2016/11/09 by Josh.Adams

	- Updated to SDK 0.11.12
	- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)

Change 3192241 on 2016/11/09 by Josh.Adams

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

Change 3192324 on 2016/11/09 by Josh.Adams

	- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
	#jira UE-38388

Change 3192387 on 2016/11/09 by Josh.Adams

	- Updating editor icon for Switch
	#jira UE-38295

Change 3192476 on 2016/11/09 by Dmitry.Rekman

	Linux: put correct OpenAL lib per architecture.

	(Edigrating CL 3185947 from Wombat to Dev-Platform)

Change 3192527 on 2016/11/09 by Josh.Adams

	- Fixed a shadow variable warning
	#jira UE-38408

Change 3192606 on 2016/11/09 by Jeff.Campeau

	XP option removed

	#jira UEPLAT-1542

Change 3192644 on 2016/11/09 by Josh.Adams

	- Fixed a CIS error (not sure why I don't get it, but hey)

Change 3192659 on 2016/11/09 by Josh.Adams

	- Fixed a crash in DeploymentServer

Change 3192672 on 2016/11/09 by Jeff.Campeau

	Fix WinXP message spamming

Change 3193252 on 2016/11/10 by Josh.Adams

	- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)

Change 3193756 on 2016/11/10 by Dmitry.Rekman

	Linux: add support for touch events.

	(Edigrating CL 3188159 from Wombat to Dev-Platform).

Change 3194297 on 2016/11/10 by Jeff.Campeau

	HarfBuzz implementation for Xbox One

	#jira UE-28590

Change 3194299 on 2016/11/10 by Jeff.Campeau

	Pump Xbox One messaging during slow startup tasks

	#jira UEPLAT-1276

Change 3194300 on 2016/11/10 by Jeff.Campeau

	Use response files when building for Xbox One

	#jira UEPLAT-1296

Change 3194313 on 2016/11/11 by Jeff.Campeau

	Stop uploading symbols on the first error
	Show a more detailed error message if symbol uploading fails
	Add a command line option to disable upload of symbols

	#1852
	#jira UE-24425

Change 3194327 on 2016/11/11 by Jeff.Campeau

	Deduplicate Xbox One build.cs setup for several modules

	#jira UE-37540

Change 3194402 on 2016/11/11 by Dmitry.Rekman

	Linux: do not apply mouse workaround unnecessarily.

	- Only matters when there is more than one window.

	(Edigrating 3194399 from Wombat to Dev-Platform).

Change 3194434 on 2016/11/11 by Dan.Mahashin

	- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization

Change 3194569 on 2016/11/11 by Daniel.Lamb

	Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.

Change 3194570 on 2016/11/11 by Daniel.Lamb

	Fix for DiffSerializeArchive not using the correct archive when saving packages.
	#test Cook paragon

Change 3194571 on 2016/11/11 by Daniel.Lamb

	Make sure dependent packages are valid before using them.
	Added FastBuildCookRun bat file for paragon testing.
	#test Cook Paragon

Change 3194575 on 2016/11/11 by Daniel.Lamb

	Reworked a warning for the cooker.

Change 3194698 on 2016/11/11 by Daniel.Lamb

	Skip skin verify only runs on build machines now.
	Saves paragon cook time.

Change 3194699 on 2016/11/11 by Daniel.Lamb

	Changed the wording of skip editor content setting so it's more clear.
	#test none

Change 3194702 on 2016/11/11 by Daniel.Lamb

	Potential fix for default materials not being in chunk zero.
	#test run ps4 cooked build paragon

Change 3194711 on 2016/11/11 by Alicia.Cano

	Allow RTTI and exceptions to be enabled for Android
	Allow RTTI to be enabled for IOS, Mac
	#jira UE-37845, UE-20314
	#android
	#ios
	#mac

Change 3194956 on 2016/11/11 by Josh.Adams

	- Removed the crash with unknown socket error code, left in the warning

Change 3195028 on 2016/11/11 by Dmitry.Rekman

	Linux: repair launch on.

	(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)

Change 3195041 on 2016/11/11 by Dmitry.Rekman

	Linux: support selecting architectures per project.

	(Edigrating 3192783 from Wombat to Dev-Platform).

Change 3195058 on 2016/11/11 by Dmitry.Rekman

	Linux: fix code to determine number of cores.

	- ARM topology seems not to be in line with the assumptions made by x86-centric code.

	(Merging 3184632 from Wombat to Dev-Platform).

Change 3195082 on 2016/11/11 by Josh.Adams

	- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
	#jira UE-38394

Change 3195151 on 2016/11/11 by Bart.Hawthorne

	- Add game server settings to project settings to connect to the actual game server, instead of the debug login
	- Use the system software dialog box to show error codes for login failures

Change 3195153 on 2016/11/11 by Josh.Adams

	- Fixed copy and paste logs errors

Change 3195156 on 2016/11/11 by Josh.Adams

	- Fixed some default values, especially for save games (uses their default of 4MB size)
	- Added some LotCheck write tracking

Change 3195285 on 2016/11/11 by Jeff.Campeau

	Fix HarfBuzz warning on Xbox One

Change 3195477 on 2016/11/11 by Josh.Adams

	- Fixed up some IsGameOnly calls
	#jira UE-37575

Change 3195490 on 2016/11/11 by Dmitry.Rekman

	UAT: fix CIS (removed old variables).

Change 3195724 on 2016/11/11 by Josh.Adams

	- Final fix for name of .nsp (content only projects in Shipping config, etc)
	#jira UE-38394

Change 3195755 on 2016/11/11 by Josh.Adams

	- Made translucent Switch icons

Change 3195771 on 2016/11/11 by Josh.Adams

	- Fixed some Switch "space in path" issues
	#jira UE-38393

Change 3195801 on 2016/11/11 by Josh.Adams

	- Handle making sure the save is completed before we shutdown
	#jira UE-38215

Change 3196593 on 2016/11/14 by Michael.Trepka

	Implemented Info string in AvfMedia for display in Media Player Editor

	#jira UE-35386

Change 3196782 on 2016/11/14 by Josh.Adams

	- Added a comment for a workaround

Change 3196784 on 2016/11/14 by Michael.Trepka

	Alembic importer for Mac

	#jira UE-37708

Change 3196901 on 2016/11/14 by Alicia.Cano

	ADB over wifi fails to deploy on Launch on.
	#jira UE-37957
	#android

Change 3197055 on 2016/11/14 by Josh.Adams

	- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment

Change 3197059 on 2016/11/14 by Josh.Adams

	- Removed some stat code with  no STATS

Change 3197066 on 2016/11/14 by Josh.Adams

	- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things

Change 3197176 on 2016/11/14 by Josh.Adams

	- Added some helper scripts to switch in and out of debug mode on Switch

Change 3197183 on 2016/11/14 by Bart.Hawthorne

	Error dialog fixes based on peer review feedback from JoshA

Change 3197339 on 2016/11/14 by Josh.Adams

	Allow -htcs on the commandline now to override disabling Htcs in packaged builds

Change 3197401 on 2016/11/14 by Josh.Adams

	- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
	#jira UE-38556

Change 3197691 on 2016/11/14 by Dmitry.Rekman

	Linux: save added devices.

	(Edigrating 3196529 from Wombat to Dev-Platform).

Change 3197854 on 2016/11/15 by Dan.Mahashin

	- MemoryProfiler2: fixed Switch parser file path in the csproj

Change 3197960 on 2016/11/15 by Dan.Mahashin

	- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)

Change 3198488 on 2016/11/15 by Bart.Hawthorne

	Submit missing NoRedist/DefaultEngine.ini file

Change 3198970 on 2016/11/15 by Michael.Trepka

	Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)

Change 3199050 on 2016/11/15 by Daniel.Lamb

	Some more output to help track down iterative cooking scenarios
	#test Cook paragon

Change 3199097 on 2016/11/15 by Josh.Adams

	- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
	- Fixed default Program Id in code
	- Fixed a problem with Run with a space in the path
	#jira UE-38608

Change 3199181 on 2016/11/15 by Dmitry.Rekman

	Fix CIS (compiling LinuxTargetDevice without engine).

Change 3199253 on 2016/11/15 by Dmitry.Rekman

	Hopeful fix for a static analysis warning.

Change 3199325 on 2016/11/15 by Joe.Barnes

	Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.

Change 3199814 on 2016/11/15 by Dmitry.Rekman

	Linux: remove forced -windowed when launching.

	(Merging CL 3199789 from Wombat to Dev-Platform)

Change 3200580 on 2016/11/16 by Josh.Adams

	Updasted DeploymentServer

Change 3200595 on 2016/11/16 by Joe.Barnes

	Removed inadvertent SleepThread() when starting movie playback.

Change 3200604 on 2016/11/16 by Josh.Adams

	- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware

Change 3200632 on 2016/11/16 by Brent.Pease

	Update PlatformShowcase with latest tests

Change 3200704 on 2016/11/16 by Dmitry.Rekman

	Linux: fix native compilation.

Change 3200711 on 2016/11/16 by Brent.Pease

	 - Support ios audio streaming from disk
	 - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
	   + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
	 - IOS audio implementation simplified to use new ADPCMAudioInfo functionality
	 - Fixed adpcm seamless looping

	NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...

Change 3201015 on 2016/11/16 by Josh.Adams

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

Change 3201023 on 2016/11/16 by Josh.Stoddard

	Fix splash screen assignment for iPad

	#jira UE-38623

Change 3201215 on 2016/11/16 by Brent.Pease

	Hopefully final fix for build breakage

Change 3201259 on 2016/11/16 by Josh.Adams

	- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
	- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
	- Reduced audio pool alignment to not waste massive memory from it

Change 3202332 on 2016/11/17 by Daniel.Lamb

	Changed build scripts to support iterative cooking
	#test Ran new build scripts

Change 3202371 on 2016/11/17 by Michael.Trepka

	Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations

	#jira UE-38392

Change 3202421 on 2016/11/17 by Michael.Trepka

	Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa

	#jira UE-18343

Change 3202462 on 2016/11/17 by Michael.Trepka

	Fixed HTTP If-None-Match response code on Mac and iOS

	Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html

	#jira UE-36317

Change 3202620 on 2016/11/17 by Daniel.Lamb

	Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
	Commandlets now do not always have  GIsRequestingExit true.
	Made crash handler check for commandlets running and exit appropriately.
	#test Rebuild lighting QAGame

Change 3202955 on 2016/11/17 by Daniel.Lamb

	Add support for clearing all the cached cooked platform data for a platform when requested.
	#test cook QA game
	#jira UE-38361

Change 3202983 on 2016/11/17 by Daniel.Lamb

	Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
	#test rebuild lighting Custom QAGame maps.
	#jira OR-31907

Change 3203128 on 2016/11/17 by Josh.Adams

	- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)

Change 3203537 on 2016/11/18 by Dmitry.Rekman

	Fix ProjectWorldToScreen node for letterboxed viewports.

	(Merging CL 3201546 from Wombat to Dev-Platform).

Change 3203540 on 2016/11/18 by Dmitry.Rekman

	Linux: be more verbose when setting vblank sync.

	(Merging CL 3199633 from Private-Wombat to Dev-Platform).

Change 3203599 on 2016/11/18 by Dmitry.Rekman

	Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).

	- PR #2849: Contributed by slonopotamus.

Change 3203610 on 2016/11/18 by Dmitry.Rekman

	Add CEF support for Linux (UE-6743).

Change 3203615 on 2016/11/18 by Dmitry.Rekman

	Linux: fix bootstrap script so it is independent of working dir (UE-37016).

	- PR #2842 contributed by slonopotamus

Change 3203645 on 2016/11/18 by Dmitry.Rekman

	Linux: fix UnrealCEFSubProcess.

Change 3203658 on 2016/11/18 by Dmitry.Rekman

	Remove hard-coded paths to mono binary (UE-35228).

	- Another way to implement pull request #2741.

Change 3203770 on 2016/11/18 by Josh.Adams

	- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code

Change 3204244 on 2016/11/18 by Dmitry.Rekman

	Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).

Change 3204277 on 2016/11/18 by Brent.Pease

	 + Fix seamless looping bug found on Dan's QAGame test
	 + Fix static analyzer warning (which was a real bug with uncompressed streaming)
	 + Code review feedback from Aaron
	 + Small addition from channel sync ios bug fix

Change 3204576 on 2016/11/18 by Omar.Rodriguez

	Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.

Change 3204629 on 2016/11/18 by Chris.Babcock

	Fix case of VulkanSwapChain.h #include
	#jira UE-38843
	#ue4
	#vulkan

Change 3204708 on 2016/11/18 by Josh.Adams

	- Set SwitchMoviePlayer to include the libs from the proper directory

Change 3204730 on 2016/11/18 by Josh.Adams

	- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS

Change 3204865 on 2016/11/18 by Brent.Pease

	 + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.

Change 3204883 on 2016/11/18 by Dmitry.Rekman

	Linux: fix native LaunchOn (UE-38616).

Change 3204914 on 2016/11/18 by Brent.Pease

	 + Turn off the device check to prevent it from conflicting with remote packaging/launch-on

Change 3204940 on 2016/11/18 by Josh.Adams

	Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke

Change 3204952 on 2016/11/18 by Dmitry.Rekman

	Linux: fix bootstrap script (UE-38851).

	- Caused by UE-37016.

Change 3205630 on 2016/11/21 by Brent.Pease

	 + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
	 + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
	 + Cleaned up memory tracking and freeing.

	#jira ue-38846

Change 3205787 on 2016/11/21 by Josh.Adams

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

[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
Leslie Nivison
29007ff202 Stripping out inaccurate/easily misconstrued .tps info in preparation for exposing this to licensees
#rb none
#lockdown Nick.Penwarden

[CL 3154391 by Leslie Nivison in Main branch]
2016-10-07 00:40:14 -04:00
Alex Fennell
d10f9953d9 Copying //UE4/Portal-Staging to //UE4/Dev-Main (Source: //UE4/Portal-Staging @ 3138637)
#lockdown Nick.Penwarden, justin.sargent
#rb None

[CL 3138769 by Alex Fennell in Main branch]
2016-09-23 17:31:51 -04:00
Marcus Wassmer
e4c18bbe31 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none

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

Change 3109545 on 2016/09/01 by Zabir.Hoque

	Merging DX12 RHIs stage 1.

	#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame

Change 3109580 on 2016/09/01 by Zabir.Hoque

	Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.

Change 3109632 on 2016/09/01 by Zabir.Hoque

	Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.

Change 3109690 on 2016/09/01 by Zabir.Hoque

	Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.

Change 3109716 on 2016/09/01 by Zabir.Hoque

	Fix build warnings after merge.

Change 3109733 on 2016/09/01 by Zabir.Hoque

	More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI

Change 3109773 on 2016/09/01 by Zabir.Hoque

	Fixing code analysis warnings.

Change 3109870 on 2016/09/01 by Rolando.Caloca

	DR - Simple clear mode

Change 3110066 on 2016/09/01 by Zabir.Hoque

	Remove C++11 feature so VS2013 can compile for Fortnite.

Change 3110335 on 2016/09/01 by Brian.Karis

	Fixed double lighting of clear coat, cloth, and eyes

	#review-3108222 @Ben.Woodhouse

Change 3110411 on 2016/09/01 by Rolando.Caloca

	DR - vk - Fix bogus assert
	- Fix pipeline barrier with levelCount=0

Change 3110573 on 2016/09/01 by Zabir.Hoque

	Exclude D3D12 merged RHI from Mac Builds.

Change 3110681 on 2016/09/01 by Rolando.Caloca

	DR - vk - Swapchain fix for drivers returning infinite swapchain images

Change 3110936 on 2016/09/01 by Rolando.Caloca

	DR - vk - Fix crash when dumping unused heaps
	- Show file/line if enabled

Change 3111034 on 2016/09/01 by Rolando.Caloca

	DR - vk - Fix exclude rect clear

Change 3111139 on 2016/09/01 by Rolando.Caloca

	DR - Automatically enable capturing mode if running under RenderDoc

Change 3111170 on 2016/09/01 by Rolando.Caloca

	DR - vk - Store max info per descriptor set pool

Change 3111234 on 2016/09/01 by Zabir.Hoque

	XB1 compiler warnings.

Change 3111763 on 2016/09/02 by Rolando.Caloca

	DR - Fix typo in shader
	PR #2759
	#jira UE-35496

Change 3111846 on 2016/09/02 by Rolando.Caloca

	DR - vk - Update to SDK 1.0.24.0 (including glslang)

Change 3111916 on 2016/09/02 by Ben.Woodhouse

	Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
	Also clarify some variable naming

Change 3112048 on 2016/09/02 by Rolando.Caloca

	DR - vk - Compile fix for build machines

Change 3112315 on 2016/09/02 by Rolando.Caloca

	DR - vk - Added peak usage to mem dump

Change 3112791 on 2016/09/02 by Daniel.Wright

	FD3D12PipelineStateCache debug fix

Change 3113483 on 2016/09/05 by Ben.Woodhouse

	Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation.  We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)

Change 3113488 on 2016/09/05 by Ben.Woodhouse

	GPu profiler : fix for render thread performance issues, enable GPU profiler by default

	Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules

	Tested on XB1,PS4,PC dx11

Change 3114286 on 2016/09/06 by Chris.Bunner

	Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.

Change 3114883 on 2016/09/06 by Rolando.Caloca

	DR - vk - Delete resources on the RHI thread
	- Set blend factor to 1
	- Added num mips & num layers to RT views
	- Added missing destructors
	- Fix for crash on rhi thread

Change 3116308 on 2016/09/07 by Rolando.Caloca

	DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
	- Fixes for 3d texture RTs

Change 3117409 on 2016/09/08 by Gil.Gribb

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

Change 3117445 on 2016/09/08 by Gil.Gribb

	Fix merge fallout

Change 3117555 on 2016/09/08 by Rolando.Caloca

	DR - Fix merge issue

Change 3117687 on 2016/09/08 by Marc.Olano

	Create new Vector Noise material node, and *3DDeriv numerical derivative material functions

	Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.

	3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)

Change 3117696 on 2016/09/08 by Rolando.Caloca

	DR - Replicate 4.13.1 fix from 3117678

	UE4.13 - Better error reporting when SCW fails/crashes
	jira UE-17227

Change 3117720 on 2016/09/08 by Rolando.Caloca

	DR - vk - Fix for static analysis

Change 3117786 on 2016/09/08 by Rolando.Caloca

	DR - vk - Use new alignment

Change 3118145 on 2016/09/08 by Marcus.Wassmer

	Fix async compute clear not waiting for the gfx pipe properly.  Also appears to fix a rare PS4 gpu hang.

Change 3118329 on 2016/09/08 by Brian.Karis

	Fix screen size calculations for LOD

Change 3118351 on 2016/09/08 by Brian.Karis

	Quadric mesh simplifier!

	In and working for the first time.
	ScreenSize is now correctly calculated from MaxDeviation
	Pixel Error now a reduction setting in LOD group.
	Binary Heap is fixed and functional.
	Still needs to play better with 3rd party reduction.

Change 3118457 on 2016/09/08 by Rolando.Caloca

	DR - vk - Fix cube & 3d texture transitions & copies

Change 3118540 on 2016/09/08 by Benjamin.Hyder

	Re-Submitting Noise assets to get engine version

Change 3119438 on 2016/09/09 by Rolando.Caloca

	DR - vk - Added barrier & cache flushes when reading back GPU memory
	- Added cubemap & 3d texture barriers
	- Added cubemap & 3d texture copy image

Change 3119518 on 2016/09/09 by Brian.Karis

	Fixed compile error

Change 3119580 on 2016/09/09 by Marc.Olano

	Documentation for Vector noise

Change 3119710 on 2016/09/09 by Rolando.Caloca

	DR - vk - Fix read stencil mask & front/back

Change 3119865 on 2016/09/09 by Rolando.Caloca

	DR - vk - RHIReadSurfaceFloatData
	- Fix redundant write transitions
	- Simplify copy and transition code

Change 3120059 on 2016/09/09 by Rolando.Caloca

	DR - vk - Static analysis warnings

Change 3120413 on 2016/09/09 by Mark.Satterthwaite

	Fix AVFMedia plugin failing when a movie has captions.
	#jira UE-35828

Change 3120936 on 2016/09/12 by Ben.Woodhouse

	Add slate rendering to the GPU stats

Change 3121204 on 2016/09/12 by Rolando.Caloca

	DR - vk - Fix geometry shaders position
	- Revert translucent workaround

Change 3121467 on 2016/09/12 by Rolando.Caloca

	DR - Fix integration issue (lost some shader defines)

Change 3121862 on 2016/09/12 by Zabir.Hoque

	Fixing Code Analysis warnings.

	#jira: UE-35860

Change 3122139 on 2016/09/12 by Ben.Woodhouse

	Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)

	#jira UE-35886

Change 3122278 on 2016/09/12 by Zabir.Hoque

	2nd Attempt at Code Analysis warnings

[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
Unrealbot
e05d94470b Branch snapshot for CL 3018379
[CL 3018379 in Main branch]
2016-06-17 17:28:41 -04:00
Matthew Griffin
f180dff107 Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main
#lockdown Nick.Penwarden

(Will update with full description tomorrow)

[CL 2984534 by Matthew Griffin in Main branch]
2016-05-19 19:35:35 -04:00
Andrew Grant
a0ef617fd2 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2949393)
#lockdown Nick.Penwarden

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

Change 2949393 on 2016/04/20 by Graeme.Thornton

	Orion non-pak file security.
	 - Removed security bypass code from platform pak file
	 - Added a delegate to pak file code which allows the game to decide whether a file should be allowed or not
	 - Added an orion delegate which whitelists appropriate files

	#rb robert.manuszewski
	#tests win64 client + dedicated server. golden path.

Change 2949232 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: michael.noland
	Paragon: Added a distinct menu frame rate limit, currently set to 60 fps and not visible in settings (if the user sets a game frame rate limit of below 60, we also clamp the menu limit to that threshold, so they can go down but not up for menus)
	#jira OR-18017
	#rb marcus.wassmer
	#tests Ran paragon and switched between gameplay, menus, and replays, observing t.MaxFPS at different points

	#ROBOMERGE-SOURCE: CL 2949231 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2949032 on 2016/04/19 by Zak.Middleton

	#orion - Lower default NetUpdateFrequency for minions (10->6). Avoid excessive latency for some knockback/knockup abilities that would have noticeable lag by forcing an update sooner when they are triggered.

	This should have the following effects:
	1. Reduce server CPU cost (we tick minions at the net frequency).
	2. Reduce server bandwidth
	3. Reduce client CPU cost (we move character capsules and perform overlaps when new positions are received).

	#rb Bart.Bressler, John.Pollard
	#codereview Dmitry.Rekman
	#tests MultiPIE AI lane, Replays

Change 2948966 on 2016/04/19 by Lina.Halper

	Added log (check) of the asset info for Anim Per Track contains invalid format key

	#rb: Michael.Noland
	#code review: Martin.Wilson, Laurent.Delayen, Michael.Noland
	#tests: editor/ cooked and test with AI_Tests with 10 bots.

Change 2948876 on 2016/04/19 by Michael.Noland

	PS4: Validate that the texture pool size is not set to automatic (-1, which will crash later on as an attempt to allocate too much memory)
	#rb none
	#codereview marcus.wassmer
	#tests Ran Paragon on PS4

Change 2948765 on 2016/04/19 by Daniel.Lamb

	Removed AssetImportData tag from cooked asset registry builds.
	#rb Andrew.Grant
	#test Cook orion

Change 2948691 on 2016/04/19 by Marcus.Wassmer

	Fix copytoresolvetarget ensure
	#rb none
	#test pc agora

Change 2948633 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	[AUTOMERGE]

	Fix copytoresolve crash and change validation to ensure.
	#test PC editor / PC golden path
	#rb none

	--------
	Integrated using branch //Orion/Main_to_//Orion/Release-Next (reversed) of change#2948169 by Marcus.Wassmer on 2016/04/19 10:50:32.

	#ROBOMERGE-SOURCE: CL 2948632 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2948507 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: andrew.grant
	Merging 2937781 (Pak signing) using //Orion/Dev-General_to_Release
	#rb none
	#tests cooked client, checked game runs

	#ROBOMERGE-SOURCE: CL 2948497 in //Orion/Release-0.24.1/... via CL 2948506
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2948431 on 2016/04/19 by Steve.Robb

	CL#s 2919775 and 2942793 integrated to prevent annotation map performance problems on shutdown and asserts in PIE.

	#codereview robert.manuszewski,bob.tellez
	#rb bob.tellez
	#tests Ran editor

Change 2948408 on 2016/04/19 by Leslie.Nivison

	Adding .tps
	#rb none
	#test none

Change 2948185 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: chris.bunner
	Fix for HLOD visibility freeze.
	#tests Golden Path, Editor
	#rb rolando.caloca, michael.noland
	#lockdown andrew.grant
	#jira OR-19863

	#ROBOMERGE-SOURCE: CL 2948182 in //Orion/Release-0.24.1/... via CL 2948183
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2948149 on 2016/04/19 by Simon.Tovey

	Fixed crash. Collision rendering path was not dealing with mesh batch with 0 triangles where other paths do.

	#rb none
	#tests No more crash
	#codereview Marcus.Wassmer

Change 2948129 on 2016/04/19 by Lukasz.Furman

	fixed gameplay debugger getting stuck with outdated data pack on client,
	changed names of AI related debug cvars
	#rb none
	#tests game, PIE
	#codereview Mieszko.Zielinski

Change 2948027 on 2016/04/19 by david.nikdel

	#ROBOMERGE-AUTHOR: graeme.thornton
	Fix for OR-20033 - CRASH:  Client will crash with FRCPassPostProcessCircleDOFSetup

	#rb none
	#tests checked game runs without crashing

	#ROBOMERGE-SOURCE: CL 2948017 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2947558 on 2016/04/18 by Matt.Kuhlenschmidt

	Fix compile error

	#rb none, #tests none

Change 2947509 on 2016/04/18 by Matt.Kuhlenschmidt

	Added more logging to track down

	https://jira.ol.epicgames.net/browse/OR-19841

	#rb none, #tests none

Change 2947412 on 2016/04/18 by Ryan.Gerleve

	Fix shadowed variable.

	#rb none
	#tests none

Change 2947377 on 2016/04/18 by Jamie.Dale

	Gather paths are now sorted by fuzzy-ness, so that more specific includes beat less specific excludes

	#rb Matt.Kuhlenschmidt
	#tests Built for Windows. Ran a gather, and confirmed that explicitly included heroes were now gathered, and that generically excluded heroes were absent from the gather.

Change 2947351 on 2016/04/18 by Ryan.Gerleve

	Allow overriding the demo.AsyncLoadWorld setting with a URL option when playing a replay.
	Store the entire URL in the demo net driver instead of just the map name, so that the options can be accessed later.

	#tests golden path, replays
	#rb john.pollard

Change 2947103 on 2016/04/18 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 24.1 @ CL 2947071

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2947102 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2947007 on 2016/04/18 by Zak.Middleton

	#ue4 - Improve linear smoothing in the presence of low net frequency updates.

	#rb Bart.Bressler
	#tests MultiPIE AI with lanes

Change 2946994 on 2016/04/18 by Mieszko.Zielinski

	Improvements to NavigationSystem's "abstract navigation data" support #UE4

	#rb Lukasz.Furman
	#test golden path

Change 2946760 on 2016/04/18 by Chris.Bunner

	Fixing up bad merge, recommit of CL 2819472 - ForceLOD now clamps to available LODs on primitive, i.e. use MinLOD rather than not drawing at all.
	#tests Editor
	#rb None

Change 2946745 on 2016/04/18 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 24.1 @ CL 2946637

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2946656 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2946645 on 2016/04/18 by Richard.Fawcett

	When promoting a buidl to staged, prevent enumeration of files already in S3

	Enumerating files in S3 is a slow process, and it turns out that simply uploading all chunks blindly is more efficient than enumerating existing chunks and selectively uploading only the new ones.

	#rb Leigh.Swift
	#tests This technique has already been used in launcher promotions for several months

Change 2946622 on 2016/04/18 by Richard.Fawcett

	By default, when enumerating chunks from a manifest file, skip checking they exist on disk at enumeration time.

	This will fail anyway further down the line if the files don't exist, but will improve speed of stage promotions by around five minutes. In practice, we have NEVER seen a job fail at this point because of the existence check.

	#rb Leigh.Swift
	#tests Ensure that output of ExtractDataFilenamesFromManifest method is identical both with and without bSkipExistsCheck specified.

Change 2945812 on 2016/04/15 by Daniel.Lamb

	Fixed error in diff cooked build commandlet.
	#rb ben.marsh
	#test Compile.

Change 2945110 on 2016/04/15 by Matt.Kuhlenschmidt

	Fix crash exporting actors with non-scene components to fbx

	#rb none, #tests full scene exporting on maps that crashed
	#codereview alexis.matte

Change 2945078 on 2016/04/15 by Simon.Tovey

	Fix for OR-19778

	When some pooled systems are reused, on init they have a non zero lod level but the emitter instances are created at LOD 0 initially.
	So the component did not think it had to update it's LOD but the emitters were not at the correct LOD.
	Have forced a LOD set on init when the component LOD is non-zero.

	#rb none
	#tests Works in editor and game.

	#codereview Olaf.Piesche

Change 2944664 on 2016/04/14 by Uriel.Doyon

	Fix to SM4 compilation issue
	#jira OR-19706
	#rb marcus.wassmer
	#tests tested editor in SM4 and SM5

Change 2944642 on 2016/04/14 by Lukasz.Furman

	changed waypoint switch conditions in meta nav paths
	#rb none
	#tests PIE
	#codereview Mieszko.Zielinski

Change 2944599 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: andrew.grant
	Added sha1 to UnrealPak list output
	#rb none
	#tests listed content of pakfile

	#ROBOMERGE-SOURCE: CL 2944595 in //Orion/Release-0.24/... via CL 2944597 via CL 2944598
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2944441 on 2016/04/14 by Marcus.Wassmer

	Duplicate change to output shader compiler errors.
	#rb none
	#test run PC and see errors.

Change 2944437 on 2016/04/14 by John.Pollard

	Possible fix for https://jira.ol.epicgames.net/browse/OR-19614

	#rb JoshM
	#codereview Josh.Markiewicz
	#tests Golden path matchmaking

Change 2944430 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: michael.noland
	Engine: Added support for more/fewer settings in individual categories to the editor scalability control widget
	#rb david.ratti
	#tests Tested in the editor

	#ROBOMERGE-SOURCE: CL 2944428 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2944198 on 2016/04/14 by David.Ratti

	Paragon - register for slow/stun/root/silence callbacks on any tag count  change, not just add/remove. This is so the UI will update if you get another stack of a stackable slow GE.

	Ability system - unify client stack count change code path with server. Client now properly update owner ASC's tag map and broadcasts all delegates there.

	#rb dayY
	#tests pie

Change 2944124 on 2016/04/14 by Wes.Hunt

	Change the TPS redirects for DX modules to point to the proper DX redist TPS which is what packaged games will need.
	#codereview:leslie.nivison
	#rb none
	#tests ran UAT ListThirdPartySoftware <for Orion>

Change 2944107 on 2016/04/14 by Wes.Hunt

	MeshUtilities now depends on new module nvTessLib to better track the third party dependency.
	#codereview:daniel.wright
	#rb none
	#tests build OrionClient/Editor for Win64

Change 2944102 on 2016/04/14 by Wes.Hunt

	Tweak to UBT -ListBuildFolders to do a distinct in a better place to cut down on duplicate module searches.
	#tests ran the UBT command
	#rb none

Change 2943851 on 2016/04/14 by Ryan.Gerleve

	Fix the ForEachNetDriver helper function to get the world context directly off the world instead of going through the game instance. Ensures the correct net drivers will be used when there are multiple worlds but only one game instance.

	#rb john.pollard
	#tests golden path, replays, PIE

Change 2943847 on 2016/04/14 by Ryan.Gerleve

	Fixes to support client replay recording & playback in another world:
	When recording a replay, only swap actor roles if the remote role is ROLE_Authority
	When loading a replay checkpoint, call NetworkRemapPath to make sure paths have the correct name in the GuidCache

	#rb john.pollard
	#tests golden path, replays, PIE

Change 2943691 on 2016/04/14 by david.nikdel

	#ROBOMERGE-AUTHOR: jason.bestimt
	#ORION_24 - Fix for OR-19609, OR-19610, and OR-19611

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2943687 in //Orion/Release-0.24/... via CL 2943688
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 2943508 on 2016/04/14 by Richard.Fawcett

	Automation: Add support for multipart file uploads to Amazon S3 to increase speed of large file uploads.

	#jira OPPBUILD-44
	#rb Leigh.Swift
	#tests Uploaded files to S3 using the new routines, downlaoded via AWS management console and ensured downloaded files identical to uploaded ones

Change 2943274 on 2016/04/13 by jason.bestimt

	#ORION_MAIN - Merge 24 @ CL 2943257

	#RB:none
	#Tests:none

	#ROBOMERGE-SOURCE: CL 2943271 in //Orion/Main/...
	#ROBOMERGE-BOT: ORION (Main -> Dev-General)

	#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	#CodeReview: david.nikdel, jason.bestimt

Change 2943178 on 2016/04/13 by Olaf.Piesche

	Bumping size of the particle curve texture to 512x512

	#rb martin.mittring

	#tests PC Editor, Game

Change 2943174 on 2016/04/13 by Aaron.McLeran

	OR-19392 Ensure condition failed: (*RequiresInitialization == 0) on loading into PVP match

	- Removing ensure since there is a rare edge case where it's possible for a sound looping node may get ResetChildren called twice.
	- Condition is when a child random node o fa looping node has a blank entry and results in no sound chosen in a given frame (which results in ResetChildren getting called). Later in the frame, if a sound had previously been playing with an active sound, it will have stop called on it, which will call NotifyWaveInstanceFinished and hit the ensure. Simply using the branch to check if the looping node has been initialized will work fine in this and other cases.

	#codereview Bob.Tellez
	#rb Bob.Tellez
	#tests ran orion with this change testing problematic sound cue

Change 2943042 on 2016/04/13 by Rob.Cannaday

	Fix crash in HTTP completion delegates on shutdown
	Stop ticking HTTP retry manager after FOnlineSubsystemImpl::Shutdown has been called
	#rb josh.markiewicz
	#tests shutting down multiple times

Change 2942913 on 2016/04/13 by Lukasz.Furman

	added meta navmesh paths
	#orion
	#rb Mieszko.Zielinski
	#tests PIE

Change 2942132 on 2016/04/13 by Wes.Hunt

	Enable UBT -ListBuildFolders to operate on Mac and iOS platforms without having to fully set up the remote environment.
	#codereview:leslie.nivison
	#rb peter.sauerbrei
	#tests running UBT with and without -listbuildfolders

Change 2941651 on 2016/04/12 by Jason.Bestimt

	#ORION_DG - Merge MAIN @ CL 2941645

	#RB:none
	#Tests:none

Change 2941539 on 2016/04/12 by Laurent.Delayen

	FABRIK: Normalize outgoing rotations.
	Fixes Chains Q ability crashing.

	#rb none
	#tests Chains not crashing

Change 2941469 on 2016/04/12 by Wes.Hunt

	Fix UBT -ListBuildFolders to not prep target for deployment.
	#codereview:leslie.nivison
	#rb none
	#tests tested -ListBuildFolders for Android

Change 2941434 on 2016/04/12 by Leslie.Nivison

	Adding/cleaning up .tps files
	#rb none
	#test none

Change 2941241 on 2016/04/12 by Daniel.Lamb

	Removed shadername from the shader code to fix deterministic material cooking issue.
	#jira UE-29320
	#codereview Marcus.Wassmer
	#rb Marcus.Wassmer
	#test Running editor, cooking orion.

Change 2941046 on 2016/04/12 by Laurent.Delayen

	Added safety net for non state AnimNotifies having a non-zero EndTriggerTimeOffset.
	Fixes Twinblast double shot for the left primary attack.

	#rb benn.gallagher
	#codereview lina.halper, ray.arnett, aaron.eady
	#tests twinblast's LMB

Change 2941032 on 2016/04/12 by Jason.Bestimt

	#ORION_24 - Merge MAIN @ CL 2940950

	#RB:none
	#Tests:none

[CL 2952833 by Andrew Grant in Main branch]
2016-04-22 11:21:10 -04:00
Andrew Grant
fad858c6db Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736)
#lockdown Nick.Penwarden

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

Change 2912513 on 2016/03/16 by David.Ratti

	attempted cook fix
	#rb none
	#tests compile

Change 2912456 on 2016/03/16 by Zak.Middleton

	#ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly.

	#rb John.Pollard
	#tests Replays and MultiPIE vs AI

Change 2912386 on 2016/03/16 by Ben.Marsh

	BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces.

Change 2912378 on 2016/03/16 by Ben.Marsh

	BuildGraph: Fix format of custom build arguments when running with buildgraph.

Change 2912318 on 2016/03/16 by Marcus.Wassmer

	Fix mallocleakdetection false positives, and hash collision data corruption.
	#rb none
	#test leak finding on goldenpath

Change 2912242 on 2016/03/16 by Lukasz.Furman

	CIS fix
	#rb none
	#tests none

Change 2912239 on 2016/03/16 by Ben.Marsh

	UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there.

	#rb none
	#tests generated project files using UGS after making change

Change 2912211 on 2016/03/16 by Ben.Marsh

	BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders.

	#rb none
	#codereview Wes.Hunt
	#tests none

Change 2912196 on 2016/03/16 by Mieszko.Zielinski

	Added a missing #pragma once to GameplayDebuggerCompat.h #Orion

	#rb Lukasz.Furman
	#test none

Change 2912165 on 2016/03/16 by Lukasz.Furman

	new gameplay debugger and some replication fixes (disabled by default)
	uncommment debugger's setup line in FOrionGameModule::StartupModule to enable
	#orion
	#rb none
	#tests yes, a lot.
	#codereview Mieszko.Zielinski

Change 2912065 on 2016/03/16 by Jason.Bestimt

	[AUTOMERGE]

	#ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016

	#RB:none
	#Tests:none
	#CodeReview: matt.schembari

	--------
	Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56.

Change 2912045 on 2016/03/16 by David.Ratti

	Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues

	#rb DanY
	#tests PIE

Change 2912030 on 2016/03/16 by Alex.Fennell

	Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/...

	support for cookies across curl easy handles in libcurl

	#TESTS: cookie support confirmed by using the http test targetting google.com

	#RB: david.nikdel
	#codereview: david.nikdel, jason.bestimt

Change 2911870 on 2016/03/16 by Laurent.Delayen

	- Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications.
	- FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from.
	- New notifications are backwards compatible with old.
	- Added bIsNativeBranchingPoint flag to notify classes to force them into branching points.

	#rb martin.wilson, frank.gigliotti
	#tests Kuro VS Rampage abilities in networked PIE

Change 2911763 on 2016/03/16 by Nick.Atamas

	Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue.

	#rb none
	#test Editor does not crash.
	#codereview Matt.Kuhlenschmidt

Change 2911631 on 2016/03/16 by Dmitry.Rekman

	Fix AvgPing perfcounter being occasionally NaN (FORT-20523)

	- Prevent division by zero.

	#rb none

[CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
Andrew Grant
505e2440b1 Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
MAJOR FEATURES + CHANGES
==========================

#lockdown Nick.Penwarden

Change 2903938 on 2016/03/10 by Frank.Gigliotti

	Added an instance ID to FAnimMontageInstance

	#CodeReview Laurent.Delayen
	#RB Laurent.Delayen
	#Tests PIE

Change 2903745 on 2016/03/10 by Wes.Hunt

	Update Oodle TPS
	#rb none
	#tests none
	#codereview:john.pollard

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

	New "LogHeroMaterials" console command, displaying the current state of materials and  textures on the character hero.
	#rb marcus.wasmer
	#codereview marcus.wassmer
	#tests editor, playing PC games, trying the new command

Change 2903669 on 2016/03/10 by Aaron.McLeran

	OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds

	- Change only effects debug stat commands for audio guys

	#rb none
	#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds

Change 2903625 on 2016/03/10 by John.Pollard

	XB1 Oodle SDK

	#rb none
	#tests none
	#codereview Jeff.Campeau

Change 2903577 on 2016/03/10 by Ben.Marsh

	Remaking latest build scripts from //UE4/Main @ 2900980.

Change 2903560 on 2016/03/10 by Ben.Marsh

	Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.

	Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:

	* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
	* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
	* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
	* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
	* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.

	Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.

	Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.

	Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.

	File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.

	Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.

	A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.

	#rb none
	#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
	#tests local only so far, but not part of any build process yet

Change 2903539 on 2016/03/10 by John.Pollard

	Improve replay playback debugging of character movement

	#rb none
	#tests replays

Change 2903526 on 2016/03/10 by Ben.Marsh

	Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.

	#rb none
	#tests none

Change 2903512 on 2016/03/10 by Dan.Youhon

	Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s

	#rb None
	#tests Compiles

Change 2903474 on 2016/03/10 by Marc.Audy

	Fix crash if ChildActor is null
	#rb None
	#tests None

Change 2903314 on 2016/03/10 by Marc.Audy

	Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
	#rb James.Golding
	#tests Selection of child actors works as expected
	#jira UE-28201

Change 2903298 on 2016/03/10 by Simon.Tovey

	Disabling the trails optimization.

	#tests none
	#rb none

	#codereview Olaf.Piesche

Change 2903124 on 2016/03/10 by Robert.Manuszewski

	Small refactor to pak signing to help with exe protection

	#rb none
	#tests none

[CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Matthew Griffin
6c75b4032c Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2835147)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2817214 on 2016/01/06 by mason.seay
	Adjusted Walkable Slope Override for mesh

	#jira UE-24473

Change 2817384 on 2016/01/06 by Michael.Schoell
	Crash fix when selecting a variable node for a variable that is not owned by a Blueprint.

	#jira UE-24958 - Crash when getting the sequence player in level blueprint

Change 2817438 on 2016/01/06 by Max.Chen

	Sequencer: Add option to specify position of material name from the movie scene capture interface. For example, MovieCapture_{material}_{width}x{height}.{frame} will create files like this: MovieCapture_FinalImage_1920x1080.0010.exr

	#rb Andrew.Rodham
	#jira UE-24926

Change 2817459 on 2016/01/06 by Marc.Audy

	 PR #1679: Move MinRespawnDelay to virtual method AController::GetMinRespawnDelay() (Contributed by bozaro)
	#jira UE-22309

Change 2817472 on 2016/01/06 by Ben.Marsh

	Always run UHT in unattended mode from UBT; we don't want it opening any dialogs. Match3 is currently missing a plugin, and it's causing builds to time out.

Change 2817473 on 2016/01/06 by Marc.Audy

	 PR #1644: Improve "SpawnActor failed because the spawned actor IsPendingKill" error message (Contributed by slonopotamus)
	#jira UE-21911

Change 2817533 on 2016/01/06 by Lauren.Ridge

	Fixing Match3 not compiling in Debug (removed two checks on TileLibrary)

	#jira UE-25004

Change 2817625 on 2016/01/06 by Taizyd.Korambayil

	#jira UE-19659 Reimported Template Animations with Proper Skeletons

Change 2817647 on 2016/01/06 by Lukasz.Furman

	replaced ensure during initialization of blackboard based behavior tree task with log warning
	#ue4
	#jira UE-24448
	#rb Mieszko.Zielinski

Change 2817648 on 2016/01/06 by Lukasz.Furman

	fixed broken rendering component of navmesh actor after delete-undo operation
	#ue4
	#jira UE-24446
	#rb Mieszko.Zielinski

Change 2817688 on 2016/01/06 by Taizyd.Korambayil

	#jira UE-22347 Fixed Message Warnings on Startup

Change 2817815 on 2016/01/06 by Jamie.Dale

	Multiple fixes when editing right-to-left text

	- Text is now shaped over the entire line to allow rich-text and selected text to be shaped correctly across block boundaries.
	- Text layout highlights are now able to correctly handle bi-directional and right-to-left text.
	- Text picking can now handle bi-directional and right-to-left text.
	- Text picking can now pick the individual characters that make up a ligature glyph.
	- The caret now draws on the logical (rather than visual) side of the glyph (to handle right-to-left text).
	- Glyph clusters (multiple glyphs produced from a single character) are now treated as a single logical glyph.
	- Optimized some of the FShapedGlyphSequence to allow an early out once they've found and processed the start and end glyphs.

	#jira UE-25013

Change 2817828 on 2016/01/06 by Nick.Darnell

	Editor - Fixing the OpenLauncher call to be take a structure to allow us to customize it more, and to properly handle the silent command the way we're planning to handle it in the launcher.

	#jira UE-24563

Change 2818052 on 2016/01/06 by Nick.Darnell

	Editor - Adding another application check for the launcher to catch the current app name on mac.

	#jira UE-24563

Change 2818149 on 2016/01/06 by Taizyd.Korambayil

	#jira UE-19097 Adjusted FirstPerson Pawn, so that Camera doesnt clip the Arm Mesh

Change 2818360 on 2016/01/06 by Chris.Babcock

	Fix reading from ini sections not cached after build system changes for 4.11
	#jira UE-25027
	#ue4
	#android

Change 2818369 on 2016/01/06 by Ryan.Vance

	#jira UE-24976
	Adding tessellation support to instanced stereo

Change 2818999 on 2016/01/07 by Robert.Manuszewski

	UHT will no longer try to load game-only plugins.

	#jira UE-25032

	- Changed module type RuntimeNoProgram to RuntimeAndProgram so that bu default Runtime plugin modules won't be loaded by programs
	- Added better error message when UHT's PreInit fails

Change 2819064 on 2016/01/07 by Richard.Hinckley

	#jira UE-24694
	Fixing array usage in 4.11 stream.

Change 2819067 on 2016/01/07 by Ori.Cohen

	When editor tries to spawn a physics asset we automatically load the needed skeletal mesh

	#rb Matt.K
	#JIRA UE-24165
2016-01-22 08:13:18 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Ben Marsh
1cc0be0a06 Separate all the project specific settings for a platform into a separate class (derived from UEBuildPlatformContext), and remove the last few references to the global .uproject file path. Checks for SupportsWindowsXP() are now done inside the toolchain.
#codereview Peter.Sauerbrei

[CL 2711835 by Ben Marsh in Main branch]
2015-09-30 16:40:04 -04:00
Rolando Caloca
86ba1f9940 Compile fix
[CL 2620712 by Rolando Caloca in Main branch]
2015-07-14 15:40:55 -04:00
Rolando Caloca
a1eceea217 UE4 - Delay load d3d12.dll
[CL 2620702 by Rolando Caloca in Main branch]
2015-07-14 15:37:26 -04:00
Rolando Caloca
3a05481a41 UE4 - DX12 Updated libs, moved to public; includes new dxgi.lib
[CL 2617583 by Rolando Caloca in Main branch]
2015-07-11 15:57:39 -04:00
Mike Fricker
701ad40823 Improved support for Clang C++ compiler on Windows
- The entire editor can now be compiled using Clang on Windows.  It also runs (as long as you use the MSVC linker.)
- Use UEBuildWindows.bCompileWithClang=true to help test Clang support
- Most UE4 programs can now be compiled using Clang on Windows, and linked using the Clang linker on Windows
- Many C++ syntax fixes to resolve Clang errors and warnings when on Windows
- Clang on Windows now supports PCH files properly (but not "shared" PCHs, yet.)
- Hacked the DirectX XAudio2 headers slightly to work around a macro pasting bug in Clang

[CL 2494439 by Mike Fricker in Main branch]
2015-03-27 16:44:10 -04:00
Zachary EdgertonJones
788c90cf43 Checking in TPS reports for first pass
[CL 2493970 by Zachary EdgertonJones in Main branch]
2015-03-27 12:10:09 -04:00
Terence Burns
bd4ef55676 Windows XP architecture added to distinguish xp builds from non xp builds
- Updated UBT to allow us to setup platform information prior to setting the intermediate directory, ran by RobM
- Removed some code that allowed uis to rename binaries. We now use architecture for our _xp suffix.
- Added clarity to the WindowsPlatform XP checks. We can now specify XP support "If Available" which atm is only the case for win32. We have an IsWindowsXPSupported() call now in the windows build platform.
- Windows XP support can now be requested through UBT on the commandline. Specify using -winxp

Kellans GUBP changes included.

#CodeReview Kellan.Carr

[CL 2422021 by Terence Burns in Main branch]
2015-01-28 08:26:51 -05:00