#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3129636 on 2016/09/17 by Ben.Marsh
UBT: Add a "-nolink" option which allows compiling object files without linking them into an executable. Useful for non-unity builds, which take a very long time to link or fail on some platforms due to command lines being too long, PDB file having too many records, etc...
Change 3129825 on 2016/09/18 by Ben.Marsh
UBT: Don't force Linux to build in unity; it seems to build fine without.
Change 3129965 on 2016/09/19 by Matthew.Griffin
Duplicating CL#3129960 from Release-4.13
Exclude NetworkProfiler when building CS tools for Linux
Change 3130653 on 2016/09/19 by Ben.Marsh
UHT: Fix missing "Error:" prefix in output log, causing messages to be ignored for failure emails.
Change 3130662 on 2016/09/19 by Ben.Marsh
EC: Prevent UHT failures from being reported twice, and remove the need for special case to show UHT summary output.
Change 3131956 on 2016/09/20 by Matthew.Griffin
Addtional fixes for compiling Editor as a monolithic executable
Change so monolithic editor is output to Project Binaries directory
Removed duplicated ReturnContainerIndexFromChannelName function
Only check for out of date modules for non monolithic editor
Don't define GIsGameAgnosticExe or PER_MODULE_BOILERPLATE for monolithic editor, done elsewhere
Correct IMPLEMENT_MODULE for QuadricMeshReduction and AudioCapture modules
Change 3132112 on 2016/09/20 by Ben.Marsh
Docs: Remove reference to UBT environment variables from configuration docs.
Change 3132815 on 2016/09/20 by Ben.Marsh
AutomationTool: Delete GUBP. Everything now uses BuildGraph!
Change 3132871 on 2016/09/20 by Ben.Marsh
UBT: Remove GUBP callbacks from TargetRules instances.
Change 3132987 on 2016/09/20 by Ben.Marsh
Allow public distribution of the compiled SimplygonMeshUtilities binaries.
Change 3133974 on 2016/09/21 by Ben.Marsh
Allow public distribution of the SimplygonSwarm module. Requires a separate Simplygon DLL (still in a NotForLicensees folder) to function correctly.
Change 3137228 on 2016/09/22 by Ben.Marsh
UAT: Merging fix to parallel executor on Linux from 4.13 branch.
Change 3139783 on 2016/09/26 by Matthew.Griffin
Fixed Xbox support for Installed Builds
Corrected typo in Xbox+PS4 filter creation and added XboxOnePackageNameUtil.exe
Added Xbox versions of ThirdParty libs that hadn't been specified until now
Change 3141721 on 2016/09/27 by Ben.Marsh
Remove declaration of circular references between FbxAutomationTestBuilder and LevelEditor; causes LevelEditor to be built differently if plugin is enabled, which results in shared build products being invalidated by switching between games.
Change 3141789 on 2016/09/27 by Ben.Marsh
UBT: Retain the ".suppressed" part of output file names when building import libraries for circularly referenced modules.
Change 3141805 on 2016/09/27 by Ben.Marsh
UBT: Allow reusing build ids in version manifests as long as we aren't modifying any engine binaries (building more or fewer is permitted), and merge manifests together if possible. Allows building the entire solution through Visual Studio, when some projects may build more modules than another.
Change 3141980 on 2016/09/27 by Ben.Marsh
EC: Include a "Steps to Reproduce" section in failure emails, which gives the command line to run to execute the step.
Change 3143996 on 2016/09/28 by Ben.Marsh
BuildGraph: Fix exported job steps having dependencies on nodes behind triggers, causing jobs to never terminate.
Change 3144696 on 2016/09/29 by Matthew.Griffin
Adding -NoSharedPCH to NonUnity build steps and split them into separate nodes for UE4Editor and UE4Game
Fixed redefinition of __WINDOWS_DS__
Change 3144931 on 2016/09/29 by Ben.Marsh
Core: Changes to search paths for DLL loading.
* The default binaries directory is now added to the list of search paths. Normally LoadLibrary finds these without needing to preload them, but plugins can change the global search paths by calling SetDefaultDllDirectories().
* Only the top entry of the DLL directory stack is searched. There is typically only one directory here anyway, but the intent is more consistent with the operation of SetDllDirectory().
* Resolved import paths are converted to absolute, so the resulting calls to LoadLibrary will not be influenced by calls to SetDefaultDllDirectories() changing the base directory.
* Search paths aren't de-duplicated any more. They don't overlap in practice, and it's not expensive even if they do.
Change 3144932 on 2016/09/29 by Ben.Marsh
Vulkan: Only add vulkan-1.dll as a delay load dependency from the VulkanRHI module, otherwise it can be added to the linker command-line 20 or more times.
Change 3145011 on 2016/09/29 by Ben.Marsh
Core: Include the compatible changelist in version manifests, so local builds after syncing with UGS will have the correct compatible changelist numbers post-hotfix.
[CL 3146509 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2816560 on 2016/01/05 by Jeff.Campeau
Remove duplicate CEF binaries
Change 2835599 on 2016/01/20 by Lee.Clark
PS4 - Added pragma optimization macros
Change 2841103 on 2016/01/23 by Mark.Satterthwaite
Integrate Git PR #1958: Fixed typo in EMetalFeatures enum
#jira UE-25721
Change 2841369 on 2016/01/24 by Mark.Satterthwaite
Fix for Metal crash due to attempt to set a null uniform & null SRV to a shader which requires both exist.
#jira UE-25910
Change 2841795 on 2016/01/25 by Lee.Clark
PS4 - MovieStreamer improvements
* Use GPU for YUV conversion
* Use new Software2 Decoder
Change 2842261 on 2016/01/25 by Mark.Satterthwaite
Fix some memory leaks.
Change 2842831 on 2016/01/25 by Mark.Satterthwaite
Metal implementation for RHIBlockUntilGPUIdle.
Change 2842838 on 2016/01/25 by Mark.Satterthwaite
When using parallel command contexts in Metal we must ensure that the FRingBuffer is still valid, which means some smart/weak pointers are in order. We should also ensure that functions that may return auto-released objects are appropriately wrapped with scoped autorelease pools. Texture creation failures should also be fatal as we never expect that to occur.
Change 2842914 on 2016/01/25 by Mark.Satterthwaite
Change assert in MetalTexture's format-shifting SRV constructor to enforce the Metal textureView limits:
1. No format shifting for MSAA color buffers.
2. No access to stencil in MSAA packed depth/stencil surface.
This will allow Metal MSAA support to work on iOS when using separate depth & stencil textures since there's no format shifting involved there.
#codereview peter.sauerbrei
Change 2843028 on 2016/01/25 by Mark.Satterthwaite
In Metal wwitch to blit on the correct context when copying out the stencil data into the stencil SRV copy.
Change 2845531 on 2016/01/27 by Lee.Clark
PS4 - Fix memory alignment for back buffers
* Fix memory alignment for MapLargeBlock
* Fix available direct memory tracking
Change 2846491 on 2016/01/27 by Jeff.Campeau
2015 compile fixes for Orion
Change 2847395 on 2016/01/28 by Mark.Satterthwaite
Clear the stencil-SRV copy to 0 in Metal using a blit when created to avoid artefacts if used prior to the parent texture being rendered.
#jira UE-25834
Change 2847419 on 2016/01/28 by Mark.Satterthwaite
Apply the same fix to OpenGL's Stencil SRV logic as CL #2847395 applies to Metal.
Change 2848093 on 2016/01/28 by Mark.Satterthwaite
Cache parallel encoding Metal contexts & reuse them rather than creating a new one each time in order to massively improve parallel encoding performance. This required adding a reset function to Metal's internal state-cache which calls the CommandEncoder wrapper's reset so we don't accidently retain previous state.
Change 2849469 on 2016/01/29 by Mark.Satterthwaite
Defer render & compute command encoder construction to draw/dispatch etc to eliminate redundant encoders that then perform unnecessary driver & GPU synchronisation work. Currently Clear loadActions force an encoder even if it would then be empty as otherwise we see incorrect rendering. This needs to be tracked and optimised away too in order to achieve the same performance as D3D11.
Change 2849820 on 2016/01/29 by Daniel.Lamb
Fixed issue where a single DDC back end would not create a hierarchy.
#codereview Peter.Sauerbrei
Change 2850762 on 2016/02/01 by Jeff.Campeau
System-wide critical section support for Xbox One
Change 2850763 on 2016/02/01 by Jeff.Campeau
Network and product config for Orion
Change 2852459 on 2016/02/02 by Mark.Satterthwaite
Temporarily disable the lazy render command-encoder construction while investigating why it turns some samples black in Metal SM5 mode.
Change 2853947 on 2016/02/03 by Mark.Satterthwaite
Fix some lazy encoder construction fallout which also means we don't need to recreate render encoder state when performing profiling - the next draw/clear will do that as required.
Change 2854015 on 2016/02/03 by Mark.Satterthwaite
Move Stencil SRV blitting into FMetalSurface::UpdateSRV called when binding the texture SRV instead of having it done immediately post-rendering. This should avoid paying for the blit when stencil SRV sampling is never used or multiple blits when render-encoders that write stencil are split up due to query buffer overflow or similar. The cost will be a blit per-bind instead which should be more predictable.
Change 2854142 on 2016/02/03 by Mark.Satterthwaite
Implemented GetTextureBaseRHI (brought over from Dev-Rendering CL #2853948) for Metal to avoid unnecessary virtual function call chain to resolve the FMetalSurface* from an RHI texture.
Change 2854222 on 2016/02/03 by Mark.Satterthwaite
Remove the uniform buffer resource caching from Metal to match Dev-Rendering CL #2853948.
Change 2854246 on 2016/02/03 by Mark.Satterthwaite
Removed the uniform buffer resource caching from OpenGLDrv & implemented GetTextureBaseRHI to avoid unnecessary virtual function calls to match Dev-Rendering CL #2853948.
Change 2854279 on 2016/02/03 by Mark.Satterthwaite
Remove direct access to the MTLCommandQueue, for parallel rendering to work we're going to need to do a bit of management that means its more sensible to keep it private.
Change 2855524 on 2016/02/04 by Lee.Clark
PS4 - Fix Grayscale SRGB support
[CL 2898161 by Josh Adams in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2718441 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream
Allow nodes to be added with an "explicit" frequency, meaning that they'll only be part of manually triggered builds (not CIS).
Change 2718698 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream
Add a type of node that can execute an arbitrary sequence of tasks, and allow constructing graphs of such nodes from an XML file.
Change 2723013 on 2015/10/09 by Ben.Marsh@Ben.Marsh_T3245_Stream
Small utility to quickly capture a workspace, or delete files to restore the workspace to a previously captured state (and output a p4 sync list to restore it)
Change 2744521 on 2015/10/28 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Adding config entries to determine which platforms/configurations are available
Currently only written out as part of the Rocket Build process but could be done elsewhere for other types of installed build.
A near identical singleton class is used in both C++ and C# to load the config section and check whether configuration/platform combinations are valid.
Change 2773723 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream
Copying UnrealGameSync into Engine/Source/Programs.
Change 2773914 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream
PR #1687: [GitDependencies] New feature: ignore file support (.gitdepsignore) (Contributed by nbjk667)
Change 2775317 on 2015/11/20 by Ben.Marsh@Ben.Marsh_T3245_Stream
Add a -listtps option to UBT, which will find all the TPS files in any directory that's compiled into a target.
Change 2780832 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream
Allow compiling a single file in UBT. Pass -singlefile=<Path> on command line to UBT to use.
Change 2781071 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream
Precompile all valid engine modules for Rocket by default. Modules may set the PrecompileForTargets field to control which configurations they should be compiled for. Modules which currently fail to compile have this set to
PrecompileTargetsType.None.
#codereview Matthew.Griffin
Change 2784469 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Added -FastPDB commandline parameter for UBT, so that we can make use of the /DEBUG:FASTLINK option in VS2015
Change 2784722 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Made -FastPDB option part of BuildConfiguration instead of checking commandline at each place it's used. Also added option to override if someone doesn't want it automatically added to their project files.
Change 2787501 on 2015/12/02 by Ben.Marsh@Ben.Marsh_T3245_Stream
Restore change to gather VC environment directly from registry.
#lockdown Nick.Penwarden
[CL 2790002 by Ben Marsh in Main branch]
- 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]
- Windows XP is now configurable from the editor under: Project Settings | Windows | Minimum OS Version
- We will now have a UE4Game_xp.exe which will be used for XP supported content only games
- - - Added support to UBT to choose a file name when running a build, approved by Rob M.
- - - Added functionality to UAT to look for an _xp.exe when packaging.
- Minimum Windows OS, is Vista by default.
- Bootstrap Packaged Game Program is now also built with windows xp support.
Fix for JIRA issues
https://jira.ol.epicgames.net/browse/UE-2894https://jira.ol.epicgames.net/browse/UE-3580https://jira.ol.epicgames.net/browse/UE-4928
[CL 2379024 by Terence Burns in Main branch]
- Should now build Win32 Shipping as well as Win64 Shipping on CIS
- Supports x86 and x64 installer packages; uses execuables rather than MSIs for XP support.
- Fix exception when packaging a non-Rocket game with no arguments
[CL 2310950 by Ben Marsh in Main branch]