Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/AutomationUtils/ProcessUtils.cs

1116 lines
35 KiB
C#
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using System.Diagnostics;
using System.Management;
using System.Runtime.InteropServices;
UBT Utils.cs (New logging system) * Allows us to use built-in Trace providers (console, file, etc) directly and still use our custom formatting. * Fat comments explaining why Trace.WriteXXX functions should not be used directly in our system. * Fixes thread safety by using Trace.WriteXXX under the hood after formatting, which uses a global lock (except on Mono, where a bug appears to be preventing this. Simulating the call on that platform). * No need for TraceEvent overloads, which saves us the extra parameter cruft. * Removed non-varargs overloads of Log functions (technically a bit slower, but these are already small messages). * No longer needed VerbosityFilter and ConsoleListener classes. * Avoid calling GetSource() if we aren't outputting the source. * Avoid formatting the string if it won't pass the verbosity level. * Consolidated all of UAT and UBT options into this class, so they could fully share the implementation. UBT BuildConfiguration.cs * Added LogFilename (and --log=<file> arg) that enables logging to a file. * Added static ctor guard that asserts if someone tries to read a config before we have loaded config files and parsed config-override commandlines. It's a poor man's hack, but better than nothing! UBT UEBuildConfiguration.cs * Same static ctor guard as above. UBT UnrealBuildTools.cs (initialization refactoring) * In general I tried to de-mystify some of the rationale behind our startup code via fat comments. * Broke main into 3 stages: 1. "early code" that should not try to read a config value. * Very little code here. Mostly setting the current directory. * Does an early init of logging to ensure logging is around, but config values won't be ready. 2. "Init Configuration code" that loads config files and parses command lines that may override them. * I isolated two locations in startup that parsed long sets of switches and moved ones that trivially affected BuildConfiguration and UEBuildConfiguration in here. Those two locations seemed to have mostly copies of the same switches, indicating serious param parsing issues at some point in time. * This allows switches to override config files more easily than the patchwork of re-parsing that was currently used (particularly for -verbose). * I did a cursory examination of later code that indicated this double (actually, triple) parsing was no longer necessary with the refactors above. Any insight into why things may have ended up this way would be helpful. 3. "Post Init code" that is actually the meat of UBT. * I left this code largely untouched. * Removed 2 of 3 different command line logging statements. * Removed two redundant parses of config overrides (ParseBuildConfigurationFlags). * Guarded all of main in a try/catch block to ensure no exceptions can leak from UBT without returning a valid error code. It ALMOST already did this, but only covered the part surrounded by the Mutex. * There was a perplexing bit that redundantly called XmlConfigLoader.Reset<> (line 683) that I struggled to understand. It turns out UEBuildConfiguration was sensitive to the current directory being set before files were loaded, and the old code called XmlConfigLoader.Init() super early, which required it to be called again after the current directory was set (see UEBuldConfiguration.UEThirdPartySourceDirectory for the cause). After my changes, I verified as best I could that these calls are no longer needed and removed them. XmlConfigLoader.cs * Add support for Properties in XmlConfigLoader. AutomationTool Program.cs * Guard logging shutdown code in try/finally so it can't be missed. AutomationTool Log.cs * Uses new logging system from UBT * Removed unnecessary classes (VerbosityFilter, AutomationConsoleTraceListener, and AutomationFileTraceListener) * Console trace logic is handled by UBT code now, moved UTF8Output handling to InitLogging. * A custom TraceListener for file logging was unnecessary. * Logic to handle creating the log file and retry loops was move into InitLogging, and the result passed to a regular TextFileTraceListener. * Logic to handle copying the log on shutdown was moved to a ShutdownLogging function. #codereview:robert.manuszewski,michael.trepka,kellan.carr [CL 2526245 by Wes Hunt in Main branch]
2015-04-26 18:19:28 -04:00
using System.Runtime.CompilerServices;
namespace AutomationTool
{
public enum CtrlTypes
{
CTRL_C_EVENT = 0,
CTRL_BREAK_EVENT,
CTRL_CLOSE_EVENT,
CTRL_LOGOFF_EVENT = 5,
CTRL_SHUTDOWN_EVENT
}
public interface IProcess
{
void StopProcess(bool KillDescendants = true);
bool HasExited { get; }
string GetProcessName();
}
/// <summary>
/// Tracks all active processes.
/// </summary>
public sealed class ProcessManager
{
public delegate bool CtrlHandlerDelegate(CtrlTypes EventType);
// @todo: Add mono support
[DllImport("Kernel32")]
public static extern bool SetConsoleCtrlHandler(CtrlHandlerDelegate Handler, bool Add);
/// <summary>
/// List of active (running) processes.
/// </summary>
private static List<IProcess> ActiveProcesses = new List<IProcess>();
/// <summary>
/// Synchronization object
/// </summary>
private static object SyncObject = new object();
/// <summary>
/// Creates a new process and adds it to the tracking list.
/// </summary>
/// <returns>New Process objects</returns>
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
public static IProcessResult CreateProcess(string AppName, bool bAllowSpew, string LogName, Dictionary<string, string> Env = null, UnrealBuildTool.LogEventType SpewVerbosity = UnrealBuildTool.LogEventType.Console, ProcessResult.SpewFilterCallbackType SpewFilterCallback = null)
{
var NewProcess = HostPlatform.Current.CreateProcess(LogName);
if (Env != null)
{
foreach (var EnvPair in Env)
{
if (NewProcess.StartInfo.EnvironmentVariables.ContainsKey(EnvPair.Key))
{
NewProcess.StartInfo.EnvironmentVariables.Remove(EnvPair.Key);
}
if (!String.IsNullOrEmpty(EnvPair.Value))
{
NewProcess.StartInfo.EnvironmentVariables.Add(EnvPair.Key, EnvPair.Value);
}
}
}
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
var Result = new ProcessResult(AppName, NewProcess, bAllowSpew, LogName, SpewVerbosity: SpewVerbosity, InSpewFilterCallback: SpewFilterCallback);
AddProcess(Result);
return Result;
}
public static void AddProcess(IProcess Proc)
{
lock (SyncObject)
{
ActiveProcesses.Add(Proc);
}
}
public static void RemoveProcess(IProcess Proc)
{
lock (SyncObject)
{
ActiveProcesses.Remove(Proc);
}
}
public static bool CanBeKilled(string ProcessName)
{
return !HostPlatform.Current.DontKillProcessList.Contains(ProcessName, StringComparer.InvariantCultureIgnoreCase);
}
/// <summary>
/// Kills all running processes.
/// </summary>
public static void KillAll()
{
List<IProcess> ProcessesToKill = new List<IProcess>();
lock (SyncObject)
{
foreach (var ProcResult in ActiveProcesses)
{
if (!ProcResult.HasExited)
{
ProcessesToKill.Add(ProcResult);
}
}
ActiveProcesses.Clear();
}
// Remove processes that can't be killed
for (int ProcessIndex = ProcessesToKill.Count - 1; ProcessIndex >= 0; --ProcessIndex )
{
var ProcessName = ProcessesToKill[ProcessIndex].GetProcessName();
if (!String.IsNullOrEmpty(ProcessName) && !CanBeKilled(ProcessName))
{
CommandUtils.LogLog("Ignoring process \"{0}\" because it can't be killed.", ProcessName);
ProcessesToKill.RemoveAt(ProcessIndex);
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
if(ProcessesToKill.Count > 0)
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
CommandUtils.LogLog("Trying to kill {0} spawned processes.", ProcessesToKill.Count);
foreach (var Proc in ProcessesToKill)
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
CommandUtils.LogLog(" {0}", Proc.GetProcessName());
}
if (CommandUtils.IsBuildMachine)
{
for (int Cnt = 0; Cnt < 9; Cnt++)
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
bool AllDone = true;
foreach (var Proc in ProcessesToKill)
{
try
{
if (!Proc.HasExited)
{
AllDone = false;
CommandUtils.LogLog("Waiting for process: {0}", Proc.GetProcessName());
}
}
catch (Exception)
{
CommandUtils.LogWarning("Exception Waiting for process");
AllDone = false;
}
}
try
{
if (ProcessResult.HasAnyDescendants(Process.GetCurrentProcess()))
{
AllDone = false;
CommandUtils.Log("Waiting for descendants of main process...");
}
}
catch (Exception Ex)
{
CommandUtils.LogWarning("Exception Waiting for descendants of main process. " + Ex);
AllDone = false;
}
if (AllDone)
{
break;
}
Thread.Sleep(10000);
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
foreach (var Proc in ProcessesToKill)
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
var ProcName = Proc.GetProcessName();
try
{
if (!Proc.HasExited)
{
CommandUtils.LogLog("Killing process: {0}", ProcName);
Proc.StopProcess(false);
}
}
catch (Exception Ex)
{
CommandUtils.LogWarning("Exception while trying to kill process {0}:", ProcName);
CommandUtils.LogWarning(LogUtils.FormatException(Ex));
}
}
try
{
if (CommandUtils.IsBuildMachine && ProcessResult.HasAnyDescendants(Process.GetCurrentProcess()))
{
CommandUtils.LogLog("current process still has descendants, trying to kill them...");
ProcessResult.KillAllDescendants(Process.GetCurrentProcess());
}
}
catch (Exception)
{
CommandUtils.LogWarning("Exception killing descendants of main process");
}
}
}
}
#region ProcessResult Helper Class
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
public interface IProcessResult : IProcess
{
void OnProcessExited();
void DisposeProcess();
void StdOut(object sender, DataReceivedEventArgs e);
void StdErr(object sender, DataReceivedEventArgs e);
int ExitCode{ get;set; }
string Output {get;}
Process ProcessObject {get;}
string ToString();
void WaitForExit();
}
/// <summary>
/// Class containing the result of process execution.
/// </summary>
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
public class ProcessResult : IProcessResult
{
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
public delegate string SpewFilterCallbackType(string Message);
private string Source = "";
private int ProcessExitCode = -1;
private StringBuilder ProcessOutput = new StringBuilder();
private bool AllowSpew = true;
private UnrealBuildTool.LogEventType SpewVerbosity = UnrealBuildTool.LogEventType.Console;
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
private SpewFilterCallbackType SpewFilterCallback = null;
private string AppName = String.Empty;
private Process Proc = null;
private AutoResetEvent OutputWaitHandle = new AutoResetEvent(false);
private AutoResetEvent ErrorWaitHandle = new AutoResetEvent(false);
private object ProcSyncObject;
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
public ProcessResult(string InAppName, Process InProc, bool bAllowSpew, string LogName, UnrealBuildTool.LogEventType SpewVerbosity = UnrealBuildTool.LogEventType.Console, SpewFilterCallbackType InSpewFilterCallback = null)
{
AppName = InAppName;
ProcSyncObject = new object();
Proc = InProc;
Source = LogName;
AllowSpew = bAllowSpew;
this.SpewVerbosity = SpewVerbosity;
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
SpewFilterCallback = InSpewFilterCallback;
if (Proc != null)
{
Proc.EnableRaisingEvents = false;
}
}
~ProcessResult()
{
if(Proc != null)
{
Proc.Dispose();
}
}
/// <summary>
/// Removes a process from the list of tracked processes.
/// </summary>
public void OnProcessExited()
{
ProcessManager.RemoveProcess(this);
}
UBT Utils.cs (New logging system) * Allows us to use built-in Trace providers (console, file, etc) directly and still use our custom formatting. * Fat comments explaining why Trace.WriteXXX functions should not be used directly in our system. * Fixes thread safety by using Trace.WriteXXX under the hood after formatting, which uses a global lock (except on Mono, where a bug appears to be preventing this. Simulating the call on that platform). * No need for TraceEvent overloads, which saves us the extra parameter cruft. * Removed non-varargs overloads of Log functions (technically a bit slower, but these are already small messages). * No longer needed VerbosityFilter and ConsoleListener classes. * Avoid calling GetSource() if we aren't outputting the source. * Avoid formatting the string if it won't pass the verbosity level. * Consolidated all of UAT and UBT options into this class, so they could fully share the implementation. UBT BuildConfiguration.cs * Added LogFilename (and --log=<file> arg) that enables logging to a file. * Added static ctor guard that asserts if someone tries to read a config before we have loaded config files and parsed config-override commandlines. It's a poor man's hack, but better than nothing! UBT UEBuildConfiguration.cs * Same static ctor guard as above. UBT UnrealBuildTools.cs (initialization refactoring) * In general I tried to de-mystify some of the rationale behind our startup code via fat comments. * Broke main into 3 stages: 1. "early code" that should not try to read a config value. * Very little code here. Mostly setting the current directory. * Does an early init of logging to ensure logging is around, but config values won't be ready. 2. "Init Configuration code" that loads config files and parses command lines that may override them. * I isolated two locations in startup that parsed long sets of switches and moved ones that trivially affected BuildConfiguration and UEBuildConfiguration in here. Those two locations seemed to have mostly copies of the same switches, indicating serious param parsing issues at some point in time. * This allows switches to override config files more easily than the patchwork of re-parsing that was currently used (particularly for -verbose). * I did a cursory examination of later code that indicated this double (actually, triple) parsing was no longer necessary with the refactors above. Any insight into why things may have ended up this way would be helpful. 3. "Post Init code" that is actually the meat of UBT. * I left this code largely untouched. * Removed 2 of 3 different command line logging statements. * Removed two redundant parses of config overrides (ParseBuildConfigurationFlags). * Guarded all of main in a try/catch block to ensure no exceptions can leak from UBT without returning a valid error code. It ALMOST already did this, but only covered the part surrounded by the Mutex. * There was a perplexing bit that redundantly called XmlConfigLoader.Reset<> (line 683) that I struggled to understand. It turns out UEBuildConfiguration was sensitive to the current directory being set before files were loaded, and the old code called XmlConfigLoader.Init() super early, which required it to be called again after the current directory was set (see UEBuldConfiguration.UEThirdPartySourceDirectory for the cause). After my changes, I verified as best I could that these calls are no longer needed and removed them. XmlConfigLoader.cs * Add support for Properties in XmlConfigLoader. AutomationTool Program.cs * Guard logging shutdown code in try/finally so it can't be missed. AutomationTool Log.cs * Uses new logging system from UBT * Removed unnecessary classes (VerbosityFilter, AutomationConsoleTraceListener, and AutomationFileTraceListener) * Console trace logic is handled by UBT code now, moved UTF8Output handling to InitLogging. * A custom TraceListener for file logging was unnecessary. * Logic to handle creating the log file and retry loops was move into InitLogging, and the result passed to a regular TextFileTraceListener. * Logic to handle copying the log on shutdown was moved to a ShutdownLogging function. #codereview:robert.manuszewski,michael.trepka,kellan.carr [CL 2526245 by Wes Hunt in Main branch]
2015-04-26 18:19:28 -04:00
/// <summary>
/// Log output of a remote process at a given severity.
/// To pretty up the output, we use a custom source so it will say the source of the process instead of this method name.
/// </summary>
/// <param name="Verbosity"></param>
/// <param name="Message"></param>
[MethodImplAttribute(MethodImplOptions.NoInlining)]
private void LogOutput(UnrealBuildTool.LogEventType Verbosity, string Message)
{
UBT Utils.cs (New logging system) * Allows us to use built-in Trace providers (console, file, etc) directly and still use our custom formatting. * Fat comments explaining why Trace.WriteXXX functions should not be used directly in our system. * Fixes thread safety by using Trace.WriteXXX under the hood after formatting, which uses a global lock (except on Mono, where a bug appears to be preventing this. Simulating the call on that platform). * No need for TraceEvent overloads, which saves us the extra parameter cruft. * Removed non-varargs overloads of Log functions (technically a bit slower, but these are already small messages). * No longer needed VerbosityFilter and ConsoleListener classes. * Avoid calling GetSource() if we aren't outputting the source. * Avoid formatting the string if it won't pass the verbosity level. * Consolidated all of UAT and UBT options into this class, so they could fully share the implementation. UBT BuildConfiguration.cs * Added LogFilename (and --log=<file> arg) that enables logging to a file. * Added static ctor guard that asserts if someone tries to read a config before we have loaded config files and parsed config-override commandlines. It's a poor man's hack, but better than nothing! UBT UEBuildConfiguration.cs * Same static ctor guard as above. UBT UnrealBuildTools.cs (initialization refactoring) * In general I tried to de-mystify some of the rationale behind our startup code via fat comments. * Broke main into 3 stages: 1. "early code" that should not try to read a config value. * Very little code here. Mostly setting the current directory. * Does an early init of logging to ensure logging is around, but config values won't be ready. 2. "Init Configuration code" that loads config files and parses command lines that may override them. * I isolated two locations in startup that parsed long sets of switches and moved ones that trivially affected BuildConfiguration and UEBuildConfiguration in here. Those two locations seemed to have mostly copies of the same switches, indicating serious param parsing issues at some point in time. * This allows switches to override config files more easily than the patchwork of re-parsing that was currently used (particularly for -verbose). * I did a cursory examination of later code that indicated this double (actually, triple) parsing was no longer necessary with the refactors above. Any insight into why things may have ended up this way would be helpful. 3. "Post Init code" that is actually the meat of UBT. * I left this code largely untouched. * Removed 2 of 3 different command line logging statements. * Removed two redundant parses of config overrides (ParseBuildConfigurationFlags). * Guarded all of main in a try/catch block to ensure no exceptions can leak from UBT without returning a valid error code. It ALMOST already did this, but only covered the part surrounded by the Mutex. * There was a perplexing bit that redundantly called XmlConfigLoader.Reset<> (line 683) that I struggled to understand. It turns out UEBuildConfiguration was sensitive to the current directory being set before files were loaded, and the old code called XmlConfigLoader.Init() super early, which required it to be called again after the current directory was set (see UEBuldConfiguration.UEThirdPartySourceDirectory for the cause). After my changes, I verified as best I could that these calls are no longer needed and removed them. XmlConfigLoader.cs * Add support for Properties in XmlConfigLoader. AutomationTool Program.cs * Guard logging shutdown code in try/finally so it can't be missed. AutomationTool Log.cs * Uses new logging system from UBT * Removed unnecessary classes (VerbosityFilter, AutomationConsoleTraceListener, and AutomationFileTraceListener) * Console trace logic is handled by UBT code now, moved UTF8Output handling to InitLogging. * A custom TraceListener for file logging was unnecessary. * Logic to handle creating the log file and retry loops was move into InitLogging, and the result passed to a regular TextFileTraceListener. * Logic to handle copying the log on shutdown was moved to a ShutdownLogging function. #codereview:robert.manuszewski,michael.trepka,kellan.carr [CL 2526245 by Wes Hunt in Main branch]
2015-04-26 18:19:28 -04:00
UnrealBuildTool.Log.WriteLine(1, Source, Verbosity, Message);
}
/// <summary>
/// Manually dispose of Proc and set it to null.
/// </summary>
public void DisposeProcess()
{
if(Proc != null)
{
Proc.Dispose();
Proc = null;
}
}
/// <summary>
/// Process.OutputDataReceived event handler.
/// </summary>
/// <param name="sender">Sender</param>
/// <param name="e">Event args</param>
public void StdOut(object sender, DataReceivedEventArgs e)
{
if (e.Data != null)
{
if (AllowSpew)
{
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
if (SpewFilterCallback != null)
{
string FilteredSpew = SpewFilterCallback(e.Data);
if (FilteredSpew != null)
{
LogOutput(SpewVerbosity, FilteredSpew);
}
}
else
{
LogOutput(SpewVerbosity, e.Data);
}
}
Copying //UE4/Orion-Staging to //UE4/Dev-Main (Source: //UE4/Orion-Staging @ 3134206) #lockdown Nick.Penwarden #rb none #codereview Andrew.Grant ========================== MAJOR FEATURES + CHANGES ========================== Change 2845744 on 2016/01/27 by Andrew.Grant Merging from //Orion/Dev-General @ 2845681 Change 2849210 on 2016/01/29 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 2854307 on 2016/02/03 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 2880059 on 2016/02/24 by Andrew.Grant Merging //Orion/Dev-General @ 2879808 Change 2891205 on 2016/03/02 by Andrew.Grant Merging //Orion/Dev-General @ 2889885 Change 2904080 on 2016/03/10 by Andrew.Grant Merging using //Orion/Dev-General @ 2902652 Change 2950235 on 2016/04/20 by Andrew.Grant Automerged files from Dev-General Change 2976227 on 2016/05/12 by Andrew.Grant Autoresolved files from using //Orion/Dev-General Change 3016193 on 2016/06/16 by Andrew.Grant Merging //Orion/Dev-General @ 3015761 Change 3033336 on 2016/06/29 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3037514 on 2016/07/05 by Andrew.Grant Merging from //Orion/Dev-General @ 3037465 Change 3091216 on 2016/08/16 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3107127 on 2016/08/30 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3129090 on 2016/09/16 by Andrew.Grant Autoresolved files from Dev-Gen @ 3130045 Change 3130536 on 2016/09/19 by Andrew.Grant To Resolve Change 3130537 on 2016/09/19 by Andrew.Grant Tricky merges? Change 3130810 on 2016/09/19 by Andrew.Grant Merging from //Orion/Dev-General @ 3130045 Change 3130880 on 2016/09/19 by Andrew.Grant Blueprint fix Change 3131009 on 2016/09/19 by Andrew.Grant removed spammy warning Change 3131216 on 2016/09/19 by Andrew.Grant Content fixes for Orion-Staging Change 3131700 on 2016/09/19 by Andrew.Grant Merging //UE4/Dev-Main to Orion-Staging (//UE4/Orion-Staging) Change 3132144 on 2016/09/20 by Andrew.Grant Merging test framework work from Dev-General Change 3132154 on 2016/09/20 by Andrew.Grant Fix for linux client Change 3132179 on 2016/09/20 by Andrew.Grant Fixed breakages due to latest //UE4/Main Change 3132948 on 2016/09/20 by Andrew.Grant Fix for UE-36216 (replicating 3125764 from ForniteMain) Change 3133103 on 2016/09/20 by Andrew.Grant Added EpicCMSUIFramework and CommonUI to Fortnite plugin Change 3133327 on 2016/09/20 by Andrew.Grant Orion automation improvements Change 3133555 on 2016/09/20 by Andrew.Grant FIx for UE-36226 Change 3133996 on 2016/09/21 by Andrew.Grant REbuilt texture streaming Change 3134204 on 2016/09/21 by Andrew.Grant Merging audio files from Orion with correct compression settings Change 3134205 on 2016/09/21 by Andrew.Grant Fix for gameplay tag ordering from Orion, and fix for soak test report numbers Change 3134206 on 2016/09/21 by Andrew.Grant Merging //UE4/Dev-Main to Orion-Staging (//UE4/Orion-Staging) [CL 3135156 by Marc Audy in Main branch]
2016-09-21 18:16:12 -04:00
lock (ProcSyncObject)
{
ProcessOutput.Append(e.Data);
ProcessOutput.Append(Environment.NewLine);
}
}
else
{
OutputWaitHandle.Set();
}
}
/// <summary>
/// Process.ErrorDataReceived event handler.
/// </summary>
/// <param name="sender">Sender</param>
/// <param name="e">Event args</param>
public void StdErr(object sender, DataReceivedEventArgs e)
{
if (e.Data != null)
{
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
if (SpewFilterCallback != null)
{
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
string FilteredSpew = SpewFilterCallback(e.Data);
if (FilteredSpew != null)
{
LogOutput(SpewVerbosity, FilteredSpew);
}
}
else
{
LogOutput(SpewVerbosity, e.Data);
}
Copying //UE4/Orion-Staging to //UE4/Dev-Main (Source: //UE4/Orion-Staging @ 3134206) #lockdown Nick.Penwarden #rb none #codereview Andrew.Grant ========================== MAJOR FEATURES + CHANGES ========================== Change 2845744 on 2016/01/27 by Andrew.Grant Merging from //Orion/Dev-General @ 2845681 Change 2849210 on 2016/01/29 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 2854307 on 2016/02/03 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 2880059 on 2016/02/24 by Andrew.Grant Merging //Orion/Dev-General @ 2879808 Change 2891205 on 2016/03/02 by Andrew.Grant Merging //Orion/Dev-General @ 2889885 Change 2904080 on 2016/03/10 by Andrew.Grant Merging using //Orion/Dev-General @ 2902652 Change 2950235 on 2016/04/20 by Andrew.Grant Automerged files from Dev-General Change 2976227 on 2016/05/12 by Andrew.Grant Autoresolved files from using //Orion/Dev-General Change 3016193 on 2016/06/16 by Andrew.Grant Merging //Orion/Dev-General @ 3015761 Change 3033336 on 2016/06/29 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3037514 on 2016/07/05 by Andrew.Grant Merging from //Orion/Dev-General @ 3037465 Change 3091216 on 2016/08/16 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3107127 on 2016/08/30 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3129090 on 2016/09/16 by Andrew.Grant Autoresolved files from Dev-Gen @ 3130045 Change 3130536 on 2016/09/19 by Andrew.Grant To Resolve Change 3130537 on 2016/09/19 by Andrew.Grant Tricky merges? Change 3130810 on 2016/09/19 by Andrew.Grant Merging from //Orion/Dev-General @ 3130045 Change 3130880 on 2016/09/19 by Andrew.Grant Blueprint fix Change 3131009 on 2016/09/19 by Andrew.Grant removed spammy warning Change 3131216 on 2016/09/19 by Andrew.Grant Content fixes for Orion-Staging Change 3131700 on 2016/09/19 by Andrew.Grant Merging //UE4/Dev-Main to Orion-Staging (//UE4/Orion-Staging) Change 3132144 on 2016/09/20 by Andrew.Grant Merging test framework work from Dev-General Change 3132154 on 2016/09/20 by Andrew.Grant Fix for linux client Change 3132179 on 2016/09/20 by Andrew.Grant Fixed breakages due to latest //UE4/Main Change 3132948 on 2016/09/20 by Andrew.Grant Fix for UE-36216 (replicating 3125764 from ForniteMain) Change 3133103 on 2016/09/20 by Andrew.Grant Added EpicCMSUIFramework and CommonUI to Fortnite plugin Change 3133327 on 2016/09/20 by Andrew.Grant Orion automation improvements Change 3133555 on 2016/09/20 by Andrew.Grant FIx for UE-36226 Change 3133996 on 2016/09/21 by Andrew.Grant REbuilt texture streaming Change 3134204 on 2016/09/21 by Andrew.Grant Merging audio files from Orion with correct compression settings Change 3134205 on 2016/09/21 by Andrew.Grant Fix for gameplay tag ordering from Orion, and fix for soak test report numbers Change 3134206 on 2016/09/21 by Andrew.Grant Merging //UE4/Dev-Main to Orion-Staging (//UE4/Orion-Staging) [CL 3135156 by Marc Audy in Main branch]
2016-09-21 18:16:12 -04:00
lock (ProcSyncObject)
{
ProcessOutput.Append(e.Data);
ProcessOutput.Append(Environment.NewLine);
}
}
else
{
ErrorWaitHandle.Set();
}
}
/// <summary>
/// Convenience operator for getting the exit code value.
/// </summary>
/// <param name="Result"></param>
/// <returns>Process exit code.</returns>
public static implicit operator int(ProcessResult Result)
{
return Result.ExitCode;
}
/// <summary>
/// Gets or sets the process exit code.
/// </summary>
public int ExitCode
{
get { return ProcessExitCode; }
set { ProcessExitCode = value; }
}
/// <summary>
/// Gets all std output the process generated.
/// </summary>
public string Output
{
Copying //UE4/Orion-Staging to //UE4/Dev-Main (Source: //UE4/Orion-Staging @ 3134206) #lockdown Nick.Penwarden #rb none #codereview Andrew.Grant ========================== MAJOR FEATURES + CHANGES ========================== Change 2845744 on 2016/01/27 by Andrew.Grant Merging from //Orion/Dev-General @ 2845681 Change 2849210 on 2016/01/29 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 2854307 on 2016/02/03 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 2880059 on 2016/02/24 by Andrew.Grant Merging //Orion/Dev-General @ 2879808 Change 2891205 on 2016/03/02 by Andrew.Grant Merging //Orion/Dev-General @ 2889885 Change 2904080 on 2016/03/10 by Andrew.Grant Merging using //Orion/Dev-General @ 2902652 Change 2950235 on 2016/04/20 by Andrew.Grant Automerged files from Dev-General Change 2976227 on 2016/05/12 by Andrew.Grant Autoresolved files from using //Orion/Dev-General Change 3016193 on 2016/06/16 by Andrew.Grant Merging //Orion/Dev-General @ 3015761 Change 3033336 on 2016/06/29 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3037514 on 2016/07/05 by Andrew.Grant Merging from //Orion/Dev-General @ 3037465 Change 3091216 on 2016/08/16 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3107127 on 2016/08/30 by Andrew.Grant Merging using //Orion/Dev-General/_To_//UE4/Orion-Stating Change 3129090 on 2016/09/16 by Andrew.Grant Autoresolved files from Dev-Gen @ 3130045 Change 3130536 on 2016/09/19 by Andrew.Grant To Resolve Change 3130537 on 2016/09/19 by Andrew.Grant Tricky merges? Change 3130810 on 2016/09/19 by Andrew.Grant Merging from //Orion/Dev-General @ 3130045 Change 3130880 on 2016/09/19 by Andrew.Grant Blueprint fix Change 3131009 on 2016/09/19 by Andrew.Grant removed spammy warning Change 3131216 on 2016/09/19 by Andrew.Grant Content fixes for Orion-Staging Change 3131700 on 2016/09/19 by Andrew.Grant Merging //UE4/Dev-Main to Orion-Staging (//UE4/Orion-Staging) Change 3132144 on 2016/09/20 by Andrew.Grant Merging test framework work from Dev-General Change 3132154 on 2016/09/20 by Andrew.Grant Fix for linux client Change 3132179 on 2016/09/20 by Andrew.Grant Fixed breakages due to latest //UE4/Main Change 3132948 on 2016/09/20 by Andrew.Grant Fix for UE-36216 (replicating 3125764 from ForniteMain) Change 3133103 on 2016/09/20 by Andrew.Grant Added EpicCMSUIFramework and CommonUI to Fortnite plugin Change 3133327 on 2016/09/20 by Andrew.Grant Orion automation improvements Change 3133555 on 2016/09/20 by Andrew.Grant FIx for UE-36226 Change 3133996 on 2016/09/21 by Andrew.Grant REbuilt texture streaming Change 3134204 on 2016/09/21 by Andrew.Grant Merging audio files from Orion with correct compression settings Change 3134205 on 2016/09/21 by Andrew.Grant Fix for gameplay tag ordering from Orion, and fix for soak test report numbers Change 3134206 on 2016/09/21 by Andrew.Grant Merging //UE4/Dev-Main to Orion-Staging (//UE4/Orion-Staging) [CL 3135156 by Marc Audy in Main branch]
2016-09-21 18:16:12 -04:00
get
{
lock (ProcSyncObject)
{
return ProcessOutput.ToString();
}
}
}
public bool HasExited
{
get
{
bool bHasExited = true;
lock (ProcSyncObject)
{
if (Proc != null)
{
bHasExited = Proc.HasExited;
if (bHasExited)
{
ExitCode = Proc.ExitCode;
}
}
}
return bHasExited;
}
}
public Process ProcessObject
{
get { return Proc; }
}
/// <summary>
/// Thread-safe way of getting the process name
/// </summary>
/// <returns>Name of the process this object represents</returns>
public string GetProcessName()
{
string Name = null;
lock (ProcSyncObject)
{
try
{
if (Proc != null && !Proc.HasExited)
{
Name = Proc.ProcessName;
}
}
catch
{
// Ignore all exceptions
}
}
if (String.IsNullOrEmpty(Name))
{
Name = "[EXITED] " + AppName;
}
return Name;
}
/// <summary>
/// Object iterface.
/// </summary>
/// <returns>String representation of this object.</returns>
public override string ToString()
{
return ExitCode.ToString();
}
public void WaitForExit()
{
bool bProcTerminated = false;
bool bStdOutSignalReceived = false;
bool bStdErrSignalReceived = false;
// Make sure the process objeect is valid.
lock (ProcSyncObject)
{
bProcTerminated = (Proc == null);
}
// Keep checking if we got all output messages until the process terminates.
if (!bProcTerminated)
{
// Check messages
int MaxWaitUntilMessagesReceived = 120;
while (MaxWaitUntilMessagesReceived > 0 && !(bStdOutSignalReceived && bStdErrSignalReceived))
{
if (!bStdOutSignalReceived)
{
bStdOutSignalReceived = OutputWaitHandle.WaitOne(500);
}
if (!bStdErrSignalReceived)
{
bStdErrSignalReceived = ErrorWaitHandle.WaitOne(500);
}
// Check if the process terminated
lock (ProcSyncObject)
{
bProcTerminated = (Proc == null) || Proc.HasExited;
}
if (bProcTerminated)
{
// Process terminated but make sure we got all messages, don't wait forever though
MaxWaitUntilMessagesReceived--;
}
}
if (!(bStdOutSignalReceived && bStdErrSignalReceived))
{
CommandUtils.LogLog("Waited for a long time for output of {0}, some output may be missing; we gave up.", AppName);
}
// Double-check if the process terminated
lock (ProcSyncObject)
{
bProcTerminated = (Proc == null) || Proc.HasExited;
}
if (!bProcTerminated)
{
// The process did not terminate yet but we've read all output messages, wait until the process terminates
Proc.WaitForExit();
}
}
}
/// <summary>
/// Finds child processes of the current process.
/// </summary>
/// <param name="ProcessId"></param>
/// <param name="PossiblyRelatedId"></param>
/// <param name="VisitedPids"></param>
/// <returns></returns>
private static bool IsOurDescendant(Process ProcessToKill, int PossiblyRelatedId, HashSet<int> VisitedPids)
{
// check if we're the parent of it or its parent is our descendant
try
{
VisitedPids.Add(PossiblyRelatedId);
Process Parent = null;
using (ManagementObject ManObj = new ManagementObject(string.Format("win32_process.handle='{0}'", PossiblyRelatedId)))
{
ManObj.Get();
int ParentId = Convert.ToInt32(ManObj["ParentProcessId"]);
if (ParentId == 0 || VisitedPids.Contains(ParentId))
{
return false;
}
Parent = Process.GetProcessById(ParentId); // will throw an exception if not spawned by us or not running
}
if (Parent != null)
{
return Parent.Id == ProcessToKill.Id || IsOurDescendant(ProcessToKill, Parent.Id, VisitedPids); // could use ParentId, but left it to make the above var used
}
else
{
return false;
}
}
catch (Exception)
{
// This can happen if the pid is no longer valid which is ok.
return false;
}
}
/// <summary>
/// Kills all child processes of the specified process.
/// </summary>
/// <param name="ProcessId">Process id</param>
public static void KillAllDescendants(Process ProcessToKill)
{
bool bKilledAChild;
do
{
bKilledAChild = false;
// For some reason Process.GetProcesses() sometimes returns the same process twice
// So keep track of all processes we already tried to kill
var KilledPids = new HashSet<int>();
var AllProcs = Process.GetProcesses();
foreach (Process KillCandidate in AllProcs)
{
var VisitedPids = new HashSet<int>();
if (ProcessManager.CanBeKilled(KillCandidate.ProcessName) &&
!KilledPids.Contains(KillCandidate.Id) &&
IsOurDescendant(ProcessToKill, KillCandidate.Id, VisitedPids))
{
KilledPids.Add(KillCandidate.Id);
CommandUtils.LogLog("Trying to kill descendant pid={0}, name={1}", KillCandidate.Id, KillCandidate.ProcessName);
try
{
KillCandidate.Kill();
bKilledAChild = true;
}
catch (Exception Ex)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if(!KillCandidate.HasExited)
{
CommandUtils.LogWarning("Failed to kill descendant:");
CommandUtils.LogWarning(LogUtils.FormatException(Ex));
}
}
break; // exit the loop as who knows what else died, so let's get processes anew
}
}
} while (bKilledAChild);
}
/// <summary>
/// returns true if this process has any descendants
/// </summary>
/// <param name="ProcessToCheck">Process to check</param>
public static bool HasAnyDescendants(Process ProcessToCheck)
{
Process[] AllProcs = Process.GetProcesses();
foreach (Process KillCandidate in AllProcs)
{
Merging //UE4/Release-4.11 to //UE4/Main (Up to CL#2897738) ========================== MAJOR FEATURES + CHANGES ========================== Change 2875445 on 2016/02/22 by Matthew.Griffin Added UE4.natvis to Visual Studio Projects #jira UE-27153 Change 2875456 on 2016/02/22 by Keith.Judge Fix custom stencil shaders on Xbox One #jira UES-1387 Change 2875524 on 2016/02/22 by Robert.Manuszewski More log info when saving shader temp files fails. Increased the number of attemps when moving a file fails. #jira UE-20945 Change 2875698 on 2016/02/22 by Rolando.Caloca UE4.11 - Add new bool for RHIs (unused currently) #jira UE-24967 Change 2875897 on 2016/02/22 by Taizyd.Korambayil #jira UE-20324 Re-imported Cloth Skeletal Meshes to Fix odd Circle Highlights Change 2875922 on 2016/02/22 by Mieszko.Zielinski Fixed BP-implemented EQS generators crashing when trying to add generated value of wrong type #UE4 #jira UE-25034 #rb Lukasz.Furman Change 2875960 on 2016/02/22 by Michael.Trepka Added a way to disable right click emulation on Mac and used it in TabNavigator to fix issues with its widgets not reacting to clicking #jira UE-21895 Change 2875984 on 2016/02/22 by Michael.Schoell Split output struct pins will no longer give a warning about override pins being removed. #jira UE-27150 - Format Text nodes and split nodes reporting warning that override pins are removed. Change 2876169 on 2016/02/22 by Ben.Marsh Changes to support building UHT plugins with the binary release. * Add source code and target files for UHT to binary distribution * Fix UBT deleting build products if we're only compiling a single module. * Fix UBT exception setting up compile environment when a module doesn't have any source files set to build. * Include DLL import libraries for UHT in the build * Add support for compiling UHT modules in BuildPluginCommand. Stages an empty host project to allow UHT to load any enabled plugins. Change 2876219 on 2016/02/22 by Rolando.Caloca UE4.11 - Integration from 2874609 #jira UE-24967 PC: Update D3D12 RHI - Implement _RenderThread versions of Create, Lock and Unlock Index/Vertex Buffer. Only synchronize threads on Readback - Limit GPU starvation on CPU bound scenarios by flushing work when the GPU is idle - Change texture streaming system to correctly account for placed textures. Also fix texture sizes so they accurately represent the real size of the allocation the GPU. - Disable API shader blobs - Add the ability to easily change allocation stategy for a given pool, also add a simple linear allocator and a 'Multi-Buddy Allocator' for efficiency in different scenarios - Pool Fences to prevent creation and destruction every frame when using Async Compute - Implement _RenderThread versions of CreateShaderResourceView and CreateUnorderedAccessView Change 2876232 on 2016/02/22 by Rolando.Caloca UE4.11 - Integration from 2876173 #jira UE-24967 PC: Update D3D12 RHI - Fix ResizeBuffers() failing due to dangling references to the backbuffer if deferred deletion is used. - Reorder when pending FRHIResources are deleted. This still needs to flush all pending deletes and ignore the deferred deletion queue otherwise some items may still be left in the engine's queue. - Fix UT build error due to missing FPlatformMisc::GetGPUDriverInfo() Change 2876366 on 2016/02/22 by Douglas.Copeland Adding Skeletal Meshes for Import Test Case #jira UE-24473 Change 2876401 on 2016/02/22 by Peter.Sauerbrei fix for WindowsClient build from UFE and Project Launcher #jira UE-23897 Change 2876456 on 2016/02/22 by Ben.Marsh Use a more hierarchical directory structure for packaged builds, rather than just dumping everything in the root. Now defaults to <Share>\\PackagedBuilds\\<Branch>\\<CL>\\<ProjectName>_<Platform>_<Configuration>. Change 2876507 on 2016/02/22 by Nick.Shin use HOME (osx) and USERPROFILE (windows) on appropriate target platform #jira UE-26414 -- Mac is missing .emscripten file necessary for packaging or launching onto HTML5 Change 2876537 on 2016/02/22 by Dan.Oconnor Removed dubious fix for an old bug, no longer needed but I havn't figured out what has changed. This fixes a crash on Replace References, but does not reintroduce UE-9497 #jira UE-24891 Change 2876545 on 2016/02/22 by Chad.Taylor SteamVR camera late-update fix #jira UE-27254 Change 2876825 on 2016/02/22 by Dan.Oconnor Unfortunate edge case in lifetime of UEdGraph's schema, schema is assigned after construction so its modification is in the undo buffer, and we clear it after undoing. #jira UE-25956 Change 2876878 on 2016/02/22 by Nick.Whiting PSVR HMD Server support #jira UE-27262 [CL 2905127 by Matthew Griffin in Main branch]
2016-03-11 09:55:03 -05:00
// Silently skip InvalidOperationExceptions here, because it depends on the process still running. It may have terminated.
string ProcessName;
try
{
ProcessName = KillCandidate.ProcessName;
}
catch(InvalidOperationException)
{
continue;
}
// Check if it's still running
HashSet<int> VisitedPids = new HashSet<int>();
if (ProcessManager.CanBeKilled(ProcessName) && IsOurDescendant(ProcessToCheck, KillCandidate.Id, VisitedPids))
{
CommandUtils.LogLog("Descendant pid={0}, name={1}", KillCandidate.Id, ProcessName);
return true;
}
}
return false;
}
public void StopProcess(bool KillDescendants = true)
{
if (Proc != null)
{
Process ProcToKill = null;
// At this point any call to Proc memebers will result in an exception
// so null the object.
var ProcToKillName = GetProcessName();
lock (ProcSyncObject)
{
ProcToKill = Proc;
Proc = null;
}
// Now actually kill the process and all its descendants if requested
if (KillDescendants)
{
KillAllDescendants(ProcToKill);
}
try
{
ProcToKill.Kill();
ProcToKill.WaitForExit(60000);
if (!ProcToKill.HasExited)
{
CommandUtils.LogLog("Process {0} failed to exit.", ProcToKillName);
}
else
{
CommandUtils.LogLog("Process {0} successfully exited.", ProcToKillName);
OnProcessExited();
}
ProcToKill.Close();
}
catch (Exception Ex)
{
CommandUtils.LogWarning("Exception while trying to kill process {0}:", ProcToKillName);
CommandUtils.LogWarning(LogUtils.FormatException(Ex));
}
}
}
}
#endregion
public partial class CommandUtils
{
#region Statistics
private static Dictionary<string, int> ExeToTimeInMs = new Dictionary<string, int>();
public static void AddRunTime(string Exe, int TimeInMs)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3386108) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3345860 on 2017/03/14 by Daniel.Lamb Fixed crash when building DLC #test Cook paragon. Change 3347324 on 2017/03/15 by Gil.Gribb UE4 - Removed old code relating to FAsyncArchive, FAsyncIOSubsystemBase and package level compression. The editor now uses the lowest levels on the new async IO scheme. Change 3347331 on 2017/03/15 by Robert.Manuszewski Fix for a crash caused by GC killing BP class (due to no strong references) but its CDO is being kept alive because it was in the same cluster as the class and was not marked as pending kill. #jira UE-42732 Change 3347371 on 2017/03/15 by Graeme.Thornton Fix for runtime asset cache not invalidating files with an outdated version number Change 3349161 on 2017/03/16 by Steve.Robb Generated UFUNCTION FNames no longer exported. Misc refactors of code generation. Change 3349167 on 2017/03/16 by Steve.Robb Unused TBoolConstant removed (the more general TIntegralConstant should be used instead). Change 3349274 on 2017/03/16 by Gil.Gribb UE4 - Fix loading a package that is already loaded. Change 3349534 on 2017/03/16 by Ben.Marsh UBT: Check that the SN-DBS service is running before attempting to use it. Change 3349612 on 2017/03/16 by Gil.Gribb UE4 - Increased estimate of summary size. Change 3350021 on 2017/03/16 by Gil.Gribb UE4 - Fixed crash in signature checks when mounting pak files. Change 3350052 on 2017/03/16 by Ben.Marsh Remove invalid characters from macro names before passing as macro values. Prevents compile errors for projects which have apostrophes in the name. Change 3350360 on 2017/03/16 by Ben.Marsh UAT: Fix non-threadsafe access of ExeToTimeInMs when spawning external processes. Change 3351670 on 2017/03/17 by Ben.Marsh UBT: Ignore all default libraries when creating import libs. Sometimes #pragma comment(lib, ...) directives can add force additional libraries onto the linker/librarian command line. We don't want or need these included when generating import libraries, but they can cause errors due to search paths not being able to find them. Change 3352289 on 2017/03/17 by Ben.Marsh Fix issues working with > 2GB archives caused by truncation of the return value from FArchive::Tell() down to 32-bits. Change 3352390 on 2017/03/17 by Ben.Marsh Remove unused/out of date binaries for CrashReporter. Change 3352392 on 2017/03/17 by Ben.Marsh Remove UnrealDocTool binaries. This is distributed through a Visual Studio plugin now. Change 3352410 on 2017/03/17 by Ben.Marsh Remove P4ChangeReporter. I don't believe this is used any more. Change 3352450 on 2017/03/17 by Ben.Marsh Disable including CrashReporter by default when packaging projects. This is only useful with a CrashReporter backend set up, which only usually applies to Epic internal projects. Change 3352455 on 2017/03/17 by Ben.Marsh Remove RegisterPII and TranslatedWordsCountEstimator executables. Don't believe these are used any more. Change 3352940 on 2017/03/17 by Wes.Hunt Update CRP to not send Slack queue size updates unless the waiting time is greater than 1 minute. #codereview: jin.zhang Change 3353658 on 2017/03/20 by Steve.Robb Fix for crash when importing a BP which has a populated TMap with an enum class key. Change 3354056 on 2017/03/20 by Steve.Robb TAssetPtr<T> can now be constructed from a nullptr without a full definition of T. Change 3356111 on 2017/03/21 by Graeme.Thornton Fix for UE-34131 - Support double and fname stat types in UFE stat export to CSV #jira UE-34131 Change 3358584 on 2017/03/22 by Daniel.Lamb Fixed the garbage collection keep flags when cleaning the sandbox for iterative cooking. #test Cook shootergame Change 3360379 on 2017/03/23 by Gil.Gribb UE4 - Avoid adding a linker annotation if it actually hasn't changed. Improves ConditionalBeginDestroy performance. Change 3360623 on 2017/03/23 by Gil.Gribb UE4 - Change from MarcA to avoid a redudnant removal of PrimitiveComponent from the streaming managers during ConditionalBeginDestroy. Change 3360627 on 2017/03/23 by Gil.Gribb UE4 - Optimized UObject hash tables for speed and space. Change 3361183 on 2017/03/23 by Gil.Gribb UE4 - Fixed change to NotifyPrimitiveDetached so that it works in the editor. Change 3361906 on 2017/03/23 by Steve.Robb Fix for a bad hint index when instantiating map property subobjects when the defaults has fewer but non-zero elements. #jira UE-43272 Change 3362839 on 2017/03/24 by Gil.Gribb UE4 - Fixed hash table lock optimization. Change 3367348 on 2017/03/28 by Robert.Manuszewski Making sure streamed-in SoundWaves get added to GC clusters. Change 3367386 on 2017/03/28 by Ben.Marsh EC: Pass the Semaphores property from a build type as a parameter to new build jobs. Change 3367422 on 2017/03/28 by Ben.Marsh EC: Allow limiting the number of scheduled jobs that will be automatically run at a particular time. Each build type can have a 'Semaphores' property in the branch settings file, which will be copied to newly created jobs. Before scheduling new jobs, EC is queried for the 'Semaphores' property on any running jobs, and build types with existing semaphores will be skipped. Does not prevent jobs from being run manually. Change 3367469 on 2017/03/28 by Ben.Marsh EC: Prevent multiple incremental jobs running at once. Change 3367640 on 2017/03/28 by Ben.Marsh Plugins: Add an optional EngineVersion field back into the plugin descriptor. If set, the engine will warn if the plugin is not compatible with the current engine version. Plugins will set this field by default when packaging; pass -Unversioned to override. Change 3367836 on 2017/03/28 by Uriel.Doyon Improved handled of references in the streaming manager Change 3369354 on 2017/03/29 by Graeme.Thornton Added AES encrypt/decrypt functions that take a byte array for the key Change 3369804 on 2017/03/29 by Ben.Marsh Remove incorrect "EngineVersion" settings from plugin descriptors. Change 3370462 on 2017/03/29 by Ben.Marsh Editor: Install Visual Studio 2017 by default, instead of Visual Studio 2015. Changed to use ExecElevatedProcess() to prevent installer failing to run if the current user is not already an administrator. #jira UE-43467 Change 3371598 on 2017/03/30 by Ben.Marsh UBT: Fix message for missing toolchain in VS2017. Change 3372827 on 2017/03/30 by Ben.Marsh BuildGraph: Output an error at the end of each step if any previous build products have been modified. Change 3372947 on 2017/03/30 by Ben.Marsh [Merge] Always add the host editor platform as supported in an installed build. Not doing so prevents the build platform being registered in UBT, which prevents doing any platform-specific staging operations in UAT. Change 3372958 on 2017/03/30 by Ben.Marsh [Merge] Simplify log output for cooks. Suppress additional timestamps from the editor when running through UAT. Change 3372981 on 2017/03/30 by Ben.Marsh [Merge] Modular game fixes for UAT * Store list of executable names from the receipts instead of generating them from Target/Platform/Config/Architecture combination * Get full list of staged executables from receipts instead of assuming only non-code projects are in Engine * Always pass short project name as Bootstrap argument, so that modular game exe knows which project to start Change 3373024 on 2017/03/30 by Ben.Marsh [Merge] Add an option to UAT (-CookOutputDir=...) and the cooker (-OutputDir=...) which allows overriding the output directory for cooked files, and fix situations where the directory becomes too deep. Change 3373041 on 2017/03/30 by Ben.Marsh [Merge] Added UAT script to replace assets with another source Renamed ReplaceAssetsCommandlet to GenerateAssetsManifest as it now outputs a list of files and has nothing specific about replacing files Change 3373052 on 2017/03/30 by Ben.Marsh [Merge] Changed CopyUsingDistillFileSet command so that it can use a pre-existing manifest file instead of running commandlet Change 3373092 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash attempting to load cooked static mesh in editor Change 3373112 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash caused by loading cooked StaticMesh in editor that didn't have any SourceModels Change 3373132 on 2017/03/30 by Ben.Marsh [Merge] Added Additional Maps that are always cooked to the GenerateDistillFileSetsCommandlet Change 3373138 on 2017/03/30 by Ben.Marsh [Merge] Fixed code issue with playback of cooked SoundCues Skip over code using editor only data when editor data has been stripped Change 3373143 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash when attempting to open multiple cooked assets Change 3373156 on 2017/03/30 by Ben.Marsh [Merge] Added commandlet to replace game assets with those from another source (intended for cooked asset replacement) Change 3373161 on 2017/03/30 by Ben.Marsh [Merge] Prevented crash by not attempting to Load Mips again if a package has cooked data Change 3373168 on 2017/03/30 by Ben.Marsh [Merge] Fix output path for DLC pak file, so it can be discovered by the engine and automatically mounted (and to stop it colliding with the main game pak file). Change 3373204 on 2017/03/30 by Ben.Marsh [Merge] Fix crash when switching levels in PIE, due to bulk data already having been discarded for cooked assets. Cooking sets BULKDATA_SingleUse for textures, but PIEing needs to keep bulk data around. Change 3373209 on 2017/03/30 by Ben.Marsh [Merge] Fix missing material in mod editor for cooked assets. Change 3373388 on 2017/03/30 by Ben.Marsh [Merge] Various improvements to the plugin browser and new plugin wizard from Robo Recall. Change 3374200 on 2017/03/31 by Ben.Marsh [Merge] Latest OdinEditor plugin from //Odin/Main, to fix build failures. Re-made change to OdinUnrealEdEngine to remove dependencies on analytics. Change 3374279 on 2017/03/31 by Ben.Marsh PR #3441: Invalid JSON in FeaturePacks (Contributed by projectgheist) Change 3374331 on 2017/03/31 by Ben.Marsh UBT: Disable warning pragmas on Mono; not supported on current compiler. #jira UE-43451 Change 3375108 on 2017/03/31 by Ben.Marsh Removing another plugin EngineVersion property. Change 3375126 on 2017/03/31 by Ben.Marsh Fix incorrect executable paths being generated for Windows. Change 3375159 on 2017/03/31 by Graeme.Thornton Pak Index Encryption - Added "-encryptindex" option to unrealpak which will encrypt the pak index, making the pak file unreadable without the associated decryption key - Added "-encryptpakindex" option to UAT to force on index encryption - Added "bEncryptPakIndex" setting to project packaging settings so pak encryption can be controlled via the editor Change 3375197 on 2017/03/31 by Graeme.Thornton Enable pak index encryption in shootergame Change 3375377 on 2017/03/31 by Ben.Marsh Add build node to submit updated UnrealPak binaries for Win64, Mac and Linux. Currently has to be run via a custom build on EC, with the target set to "Submit UnrealPak Binaries". Change 3376418 on 2017/04/03 by Ben.Marsh BuildGraph: Always clear the cached node state when running locally without having to manually specify the -ClearHistory argument. The -Resume argument allows the previous behavior of continuing a previous build. Change 3376447 on 2017/04/03 by Ben.Marsh Build: Remove some unused stream settings Change 3376469 on 2017/04/03 by Ben.Marsh Build: Add a customizable field for the script to use for custom builds in every branch. Change 3376654 on 2017/04/03 by Ben.Marsh Add a fatal error message containing the module with an outstanding reference when trying to unload it. #jira UE-42423 Change 3376747 on 2017/04/03 by Gil.Gribb UE4 - Fixed crash relating to FGenericAsyncReadFileHandle when not using the EDL. Change 3377173 on 2017/04/03 by Ben.Marsh Make sure callstacks are written to stdout following a crash on a background thread. Change 3377183 on 2017/04/03 by Ben.Marsh Removing support for building VS2013 targets. Ability to generate VS2013 project files is still allowed, but unsupported (via the -2013unsupported command line argument). Change 3377280 on 2017/04/03 by Ben.Marsh Build: Post UGS badges for all UE4 development streams, with the project set to $(Branch)/... Change 3377311 on 2017/04/03 by Ben.Marsh Build: Set the 'Semaphores' parameter for any jobs started from a schedule. Change 3377326 on 2017/04/03 by Ben.Marsh UGS: Show badges which match an entire subtree if the project field ends with "...". Change 3377392 on 2017/04/03 by Ben.Marsh Add badges to UE4/Main and UE4/Release streams, and change the names of the builds in development streams to distinguish them. Change 3377895 on 2017/04/03 by Ben.Marsh EC: Send notification emails whenever UAT fails to compile. Change 3377923 on 2017/04/03 by Ben.Marsh Build: Use a different semaphore for the common editors build target to the incremental compile build target. Change 3378297 on 2017/04/04 by Graeme.Thornton Fix incorrect generation of UE_ENGINE_DIRECTORY in UBT Change 3378301 on 2017/04/04 by Ben.Marsh UBT: Try enabling bAdaptiveUnityDisablesPCH by default, to reduce the number of build failures we see due to missing includes. Change 3378460 on 2017/04/04 by Graeme.Thornton Remove dependency preloading system from sync and async loading paths Change 3378535 on 2017/04/04 by Robert.Manuszewski Fix for audio crash when launching Ocean PIE after removing the audio chunk allocation in CL #3347324 #jira UE-43544 Change 3378575 on 2017/04/04 by Robert.Manuszewski Making sure actor clusters are not created in non-cooked builds #jira UE-43617 #jira UE-43614 Change 3378589 on 2017/04/04 by Robert.Manuszewski Disabling debug GC cluster logging #jira UE-43617 Change 3379118 on 2017/04/04 by Robert.Manuszewski Disabling actor clustering by default, keeping it on in Orion and Ocean Change 3379815 on 2017/04/04 by Ben.Marsh Revert change to derive executable names from target receipts. While a better solution than making them up, Android relies on having the base executable names for supporting multiple architectures. Change 3380811 on 2017/04/05 by Gil.Gribb UE4 - Put the special boot order things into baseengine.ini so that licensees and games can add to it. Change 3383313 on 2017/04/06 by Uriel.Doyon Integrated CL 3372436 3372765 3373272 from Dev-Rendering #JIRA UE-43669 Change 3383531 on 2017/04/06 by Ben.Marsh UGS: Ignore failures when querying whether paths exist. Permissions can cause this folder to fail, even if it will succeed at a parent directory. Change 3383786 on 2017/04/06 by Ben.Zeigler Back out changelist 3382694 and replace with CL #3383757 from bob.tellez: Fix memory stomping issue caused by removing a FFortProfileSynchronizeRequest from SynchronizeRequests in UFortRegisteredPlayerInfo::UpdateSynchronizeRequest before SynchronizeProfile had finished executing Change 3385089 on 2017/04/07 by Gil.Gribb UE4 - Critical. Fixed memory leak in pak precacher. [CL 3386123 by Ben Marsh in Main branch]
2017-04-10 11:00:33 -04:00
lock(ExeToTimeInMs)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3386108) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3345860 on 2017/03/14 by Daniel.Lamb Fixed crash when building DLC #test Cook paragon. Change 3347324 on 2017/03/15 by Gil.Gribb UE4 - Removed old code relating to FAsyncArchive, FAsyncIOSubsystemBase and package level compression. The editor now uses the lowest levels on the new async IO scheme. Change 3347331 on 2017/03/15 by Robert.Manuszewski Fix for a crash caused by GC killing BP class (due to no strong references) but its CDO is being kept alive because it was in the same cluster as the class and was not marked as pending kill. #jira UE-42732 Change 3347371 on 2017/03/15 by Graeme.Thornton Fix for runtime asset cache not invalidating files with an outdated version number Change 3349161 on 2017/03/16 by Steve.Robb Generated UFUNCTION FNames no longer exported. Misc refactors of code generation. Change 3349167 on 2017/03/16 by Steve.Robb Unused TBoolConstant removed (the more general TIntegralConstant should be used instead). Change 3349274 on 2017/03/16 by Gil.Gribb UE4 - Fix loading a package that is already loaded. Change 3349534 on 2017/03/16 by Ben.Marsh UBT: Check that the SN-DBS service is running before attempting to use it. Change 3349612 on 2017/03/16 by Gil.Gribb UE4 - Increased estimate of summary size. Change 3350021 on 2017/03/16 by Gil.Gribb UE4 - Fixed crash in signature checks when mounting pak files. Change 3350052 on 2017/03/16 by Ben.Marsh Remove invalid characters from macro names before passing as macro values. Prevents compile errors for projects which have apostrophes in the name. Change 3350360 on 2017/03/16 by Ben.Marsh UAT: Fix non-threadsafe access of ExeToTimeInMs when spawning external processes. Change 3351670 on 2017/03/17 by Ben.Marsh UBT: Ignore all default libraries when creating import libs. Sometimes #pragma comment(lib, ...) directives can add force additional libraries onto the linker/librarian command line. We don't want or need these included when generating import libraries, but they can cause errors due to search paths not being able to find them. Change 3352289 on 2017/03/17 by Ben.Marsh Fix issues working with > 2GB archives caused by truncation of the return value from FArchive::Tell() down to 32-bits. Change 3352390 on 2017/03/17 by Ben.Marsh Remove unused/out of date binaries for CrashReporter. Change 3352392 on 2017/03/17 by Ben.Marsh Remove UnrealDocTool binaries. This is distributed through a Visual Studio plugin now. Change 3352410 on 2017/03/17 by Ben.Marsh Remove P4ChangeReporter. I don't believe this is used any more. Change 3352450 on 2017/03/17 by Ben.Marsh Disable including CrashReporter by default when packaging projects. This is only useful with a CrashReporter backend set up, which only usually applies to Epic internal projects. Change 3352455 on 2017/03/17 by Ben.Marsh Remove RegisterPII and TranslatedWordsCountEstimator executables. Don't believe these are used any more. Change 3352940 on 2017/03/17 by Wes.Hunt Update CRP to not send Slack queue size updates unless the waiting time is greater than 1 minute. #codereview: jin.zhang Change 3353658 on 2017/03/20 by Steve.Robb Fix for crash when importing a BP which has a populated TMap with an enum class key. Change 3354056 on 2017/03/20 by Steve.Robb TAssetPtr<T> can now be constructed from a nullptr without a full definition of T. Change 3356111 on 2017/03/21 by Graeme.Thornton Fix for UE-34131 - Support double and fname stat types in UFE stat export to CSV #jira UE-34131 Change 3358584 on 2017/03/22 by Daniel.Lamb Fixed the garbage collection keep flags when cleaning the sandbox for iterative cooking. #test Cook shootergame Change 3360379 on 2017/03/23 by Gil.Gribb UE4 - Avoid adding a linker annotation if it actually hasn't changed. Improves ConditionalBeginDestroy performance. Change 3360623 on 2017/03/23 by Gil.Gribb UE4 - Change from MarcA to avoid a redudnant removal of PrimitiveComponent from the streaming managers during ConditionalBeginDestroy. Change 3360627 on 2017/03/23 by Gil.Gribb UE4 - Optimized UObject hash tables for speed and space. Change 3361183 on 2017/03/23 by Gil.Gribb UE4 - Fixed change to NotifyPrimitiveDetached so that it works in the editor. Change 3361906 on 2017/03/23 by Steve.Robb Fix for a bad hint index when instantiating map property subobjects when the defaults has fewer but non-zero elements. #jira UE-43272 Change 3362839 on 2017/03/24 by Gil.Gribb UE4 - Fixed hash table lock optimization. Change 3367348 on 2017/03/28 by Robert.Manuszewski Making sure streamed-in SoundWaves get added to GC clusters. Change 3367386 on 2017/03/28 by Ben.Marsh EC: Pass the Semaphores property from a build type as a parameter to new build jobs. Change 3367422 on 2017/03/28 by Ben.Marsh EC: Allow limiting the number of scheduled jobs that will be automatically run at a particular time. Each build type can have a 'Semaphores' property in the branch settings file, which will be copied to newly created jobs. Before scheduling new jobs, EC is queried for the 'Semaphores' property on any running jobs, and build types with existing semaphores will be skipped. Does not prevent jobs from being run manually. Change 3367469 on 2017/03/28 by Ben.Marsh EC: Prevent multiple incremental jobs running at once. Change 3367640 on 2017/03/28 by Ben.Marsh Plugins: Add an optional EngineVersion field back into the plugin descriptor. If set, the engine will warn if the plugin is not compatible with the current engine version. Plugins will set this field by default when packaging; pass -Unversioned to override. Change 3367836 on 2017/03/28 by Uriel.Doyon Improved handled of references in the streaming manager Change 3369354 on 2017/03/29 by Graeme.Thornton Added AES encrypt/decrypt functions that take a byte array for the key Change 3369804 on 2017/03/29 by Ben.Marsh Remove incorrect "EngineVersion" settings from plugin descriptors. Change 3370462 on 2017/03/29 by Ben.Marsh Editor: Install Visual Studio 2017 by default, instead of Visual Studio 2015. Changed to use ExecElevatedProcess() to prevent installer failing to run if the current user is not already an administrator. #jira UE-43467 Change 3371598 on 2017/03/30 by Ben.Marsh UBT: Fix message for missing toolchain in VS2017. Change 3372827 on 2017/03/30 by Ben.Marsh BuildGraph: Output an error at the end of each step if any previous build products have been modified. Change 3372947 on 2017/03/30 by Ben.Marsh [Merge] Always add the host editor platform as supported in an installed build. Not doing so prevents the build platform being registered in UBT, which prevents doing any platform-specific staging operations in UAT. Change 3372958 on 2017/03/30 by Ben.Marsh [Merge] Simplify log output for cooks. Suppress additional timestamps from the editor when running through UAT. Change 3372981 on 2017/03/30 by Ben.Marsh [Merge] Modular game fixes for UAT * Store list of executable names from the receipts instead of generating them from Target/Platform/Config/Architecture combination * Get full list of staged executables from receipts instead of assuming only non-code projects are in Engine * Always pass short project name as Bootstrap argument, so that modular game exe knows which project to start Change 3373024 on 2017/03/30 by Ben.Marsh [Merge] Add an option to UAT (-CookOutputDir=...) and the cooker (-OutputDir=...) which allows overriding the output directory for cooked files, and fix situations where the directory becomes too deep. Change 3373041 on 2017/03/30 by Ben.Marsh [Merge] Added UAT script to replace assets with another source Renamed ReplaceAssetsCommandlet to GenerateAssetsManifest as it now outputs a list of files and has nothing specific about replacing files Change 3373052 on 2017/03/30 by Ben.Marsh [Merge] Changed CopyUsingDistillFileSet command so that it can use a pre-existing manifest file instead of running commandlet Change 3373092 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash attempting to load cooked static mesh in editor Change 3373112 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash caused by loading cooked StaticMesh in editor that didn't have any SourceModels Change 3373132 on 2017/03/30 by Ben.Marsh [Merge] Added Additional Maps that are always cooked to the GenerateDistillFileSetsCommandlet Change 3373138 on 2017/03/30 by Ben.Marsh [Merge] Fixed code issue with playback of cooked SoundCues Skip over code using editor only data when editor data has been stripped Change 3373143 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash when attempting to open multiple cooked assets Change 3373156 on 2017/03/30 by Ben.Marsh [Merge] Added commandlet to replace game assets with those from another source (intended for cooked asset replacement) Change 3373161 on 2017/03/30 by Ben.Marsh [Merge] Prevented crash by not attempting to Load Mips again if a package has cooked data Change 3373168 on 2017/03/30 by Ben.Marsh [Merge] Fix output path for DLC pak file, so it can be discovered by the engine and automatically mounted (and to stop it colliding with the main game pak file). Change 3373204 on 2017/03/30 by Ben.Marsh [Merge] Fix crash when switching levels in PIE, due to bulk data already having been discarded for cooked assets. Cooking sets BULKDATA_SingleUse for textures, but PIEing needs to keep bulk data around. Change 3373209 on 2017/03/30 by Ben.Marsh [Merge] Fix missing material in mod editor for cooked assets. Change 3373388 on 2017/03/30 by Ben.Marsh [Merge] Various improvements to the plugin browser and new plugin wizard from Robo Recall. Change 3374200 on 2017/03/31 by Ben.Marsh [Merge] Latest OdinEditor plugin from //Odin/Main, to fix build failures. Re-made change to OdinUnrealEdEngine to remove dependencies on analytics. Change 3374279 on 2017/03/31 by Ben.Marsh PR #3441: Invalid JSON in FeaturePacks (Contributed by projectgheist) Change 3374331 on 2017/03/31 by Ben.Marsh UBT: Disable warning pragmas on Mono; not supported on current compiler. #jira UE-43451 Change 3375108 on 2017/03/31 by Ben.Marsh Removing another plugin EngineVersion property. Change 3375126 on 2017/03/31 by Ben.Marsh Fix incorrect executable paths being generated for Windows. Change 3375159 on 2017/03/31 by Graeme.Thornton Pak Index Encryption - Added "-encryptindex" option to unrealpak which will encrypt the pak index, making the pak file unreadable without the associated decryption key - Added "-encryptpakindex" option to UAT to force on index encryption - Added "bEncryptPakIndex" setting to project packaging settings so pak encryption can be controlled via the editor Change 3375197 on 2017/03/31 by Graeme.Thornton Enable pak index encryption in shootergame Change 3375377 on 2017/03/31 by Ben.Marsh Add build node to submit updated UnrealPak binaries for Win64, Mac and Linux. Currently has to be run via a custom build on EC, with the target set to "Submit UnrealPak Binaries". Change 3376418 on 2017/04/03 by Ben.Marsh BuildGraph: Always clear the cached node state when running locally without having to manually specify the -ClearHistory argument. The -Resume argument allows the previous behavior of continuing a previous build. Change 3376447 on 2017/04/03 by Ben.Marsh Build: Remove some unused stream settings Change 3376469 on 2017/04/03 by Ben.Marsh Build: Add a customizable field for the script to use for custom builds in every branch. Change 3376654 on 2017/04/03 by Ben.Marsh Add a fatal error message containing the module with an outstanding reference when trying to unload it. #jira UE-42423 Change 3376747 on 2017/04/03 by Gil.Gribb UE4 - Fixed crash relating to FGenericAsyncReadFileHandle when not using the EDL. Change 3377173 on 2017/04/03 by Ben.Marsh Make sure callstacks are written to stdout following a crash on a background thread. Change 3377183 on 2017/04/03 by Ben.Marsh Removing support for building VS2013 targets. Ability to generate VS2013 project files is still allowed, but unsupported (via the -2013unsupported command line argument). Change 3377280 on 2017/04/03 by Ben.Marsh Build: Post UGS badges for all UE4 development streams, with the project set to $(Branch)/... Change 3377311 on 2017/04/03 by Ben.Marsh Build: Set the 'Semaphores' parameter for any jobs started from a schedule. Change 3377326 on 2017/04/03 by Ben.Marsh UGS: Show badges which match an entire subtree if the project field ends with "...". Change 3377392 on 2017/04/03 by Ben.Marsh Add badges to UE4/Main and UE4/Release streams, and change the names of the builds in development streams to distinguish them. Change 3377895 on 2017/04/03 by Ben.Marsh EC: Send notification emails whenever UAT fails to compile. Change 3377923 on 2017/04/03 by Ben.Marsh Build: Use a different semaphore for the common editors build target to the incremental compile build target. Change 3378297 on 2017/04/04 by Graeme.Thornton Fix incorrect generation of UE_ENGINE_DIRECTORY in UBT Change 3378301 on 2017/04/04 by Ben.Marsh UBT: Try enabling bAdaptiveUnityDisablesPCH by default, to reduce the number of build failures we see due to missing includes. Change 3378460 on 2017/04/04 by Graeme.Thornton Remove dependency preloading system from sync and async loading paths Change 3378535 on 2017/04/04 by Robert.Manuszewski Fix for audio crash when launching Ocean PIE after removing the audio chunk allocation in CL #3347324 #jira UE-43544 Change 3378575 on 2017/04/04 by Robert.Manuszewski Making sure actor clusters are not created in non-cooked builds #jira UE-43617 #jira UE-43614 Change 3378589 on 2017/04/04 by Robert.Manuszewski Disabling debug GC cluster logging #jira UE-43617 Change 3379118 on 2017/04/04 by Robert.Manuszewski Disabling actor clustering by default, keeping it on in Orion and Ocean Change 3379815 on 2017/04/04 by Ben.Marsh Revert change to derive executable names from target receipts. While a better solution than making them up, Android relies on having the base executable names for supporting multiple architectures. Change 3380811 on 2017/04/05 by Gil.Gribb UE4 - Put the special boot order things into baseengine.ini so that licensees and games can add to it. Change 3383313 on 2017/04/06 by Uriel.Doyon Integrated CL 3372436 3372765 3373272 from Dev-Rendering #JIRA UE-43669 Change 3383531 on 2017/04/06 by Ben.Marsh UGS: Ignore failures when querying whether paths exist. Permissions can cause this folder to fail, even if it will succeed at a parent directory. Change 3383786 on 2017/04/06 by Ben.Zeigler Back out changelist 3382694 and replace with CL #3383757 from bob.tellez: Fix memory stomping issue caused by removing a FFortProfileSynchronizeRequest from SynchronizeRequests in UFortRegisteredPlayerInfo::UpdateSynchronizeRequest before SynchronizeProfile had finished executing Change 3385089 on 2017/04/07 by Gil.Gribb UE4 - Critical. Fixed memory leak in pak precacher. [CL 3386123 by Ben Marsh in Main branch]
2017-04-10 11:00:33 -04:00
string Base = Path.GetFileName(Exe);
if (!ExeToTimeInMs.ContainsKey(Base))
{
ExeToTimeInMs.Add(Base, TimeInMs);
}
else
{
ExeToTimeInMs[Base] += TimeInMs;
}
}
}
public static void PrintRunTime()
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3386108) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3345860 on 2017/03/14 by Daniel.Lamb Fixed crash when building DLC #test Cook paragon. Change 3347324 on 2017/03/15 by Gil.Gribb UE4 - Removed old code relating to FAsyncArchive, FAsyncIOSubsystemBase and package level compression. The editor now uses the lowest levels on the new async IO scheme. Change 3347331 on 2017/03/15 by Robert.Manuszewski Fix for a crash caused by GC killing BP class (due to no strong references) but its CDO is being kept alive because it was in the same cluster as the class and was not marked as pending kill. #jira UE-42732 Change 3347371 on 2017/03/15 by Graeme.Thornton Fix for runtime asset cache not invalidating files with an outdated version number Change 3349161 on 2017/03/16 by Steve.Robb Generated UFUNCTION FNames no longer exported. Misc refactors of code generation. Change 3349167 on 2017/03/16 by Steve.Robb Unused TBoolConstant removed (the more general TIntegralConstant should be used instead). Change 3349274 on 2017/03/16 by Gil.Gribb UE4 - Fix loading a package that is already loaded. Change 3349534 on 2017/03/16 by Ben.Marsh UBT: Check that the SN-DBS service is running before attempting to use it. Change 3349612 on 2017/03/16 by Gil.Gribb UE4 - Increased estimate of summary size. Change 3350021 on 2017/03/16 by Gil.Gribb UE4 - Fixed crash in signature checks when mounting pak files. Change 3350052 on 2017/03/16 by Ben.Marsh Remove invalid characters from macro names before passing as macro values. Prevents compile errors for projects which have apostrophes in the name. Change 3350360 on 2017/03/16 by Ben.Marsh UAT: Fix non-threadsafe access of ExeToTimeInMs when spawning external processes. Change 3351670 on 2017/03/17 by Ben.Marsh UBT: Ignore all default libraries when creating import libs. Sometimes #pragma comment(lib, ...) directives can add force additional libraries onto the linker/librarian command line. We don't want or need these included when generating import libraries, but they can cause errors due to search paths not being able to find them. Change 3352289 on 2017/03/17 by Ben.Marsh Fix issues working with > 2GB archives caused by truncation of the return value from FArchive::Tell() down to 32-bits. Change 3352390 on 2017/03/17 by Ben.Marsh Remove unused/out of date binaries for CrashReporter. Change 3352392 on 2017/03/17 by Ben.Marsh Remove UnrealDocTool binaries. This is distributed through a Visual Studio plugin now. Change 3352410 on 2017/03/17 by Ben.Marsh Remove P4ChangeReporter. I don't believe this is used any more. Change 3352450 on 2017/03/17 by Ben.Marsh Disable including CrashReporter by default when packaging projects. This is only useful with a CrashReporter backend set up, which only usually applies to Epic internal projects. Change 3352455 on 2017/03/17 by Ben.Marsh Remove RegisterPII and TranslatedWordsCountEstimator executables. Don't believe these are used any more. Change 3352940 on 2017/03/17 by Wes.Hunt Update CRP to not send Slack queue size updates unless the waiting time is greater than 1 minute. #codereview: jin.zhang Change 3353658 on 2017/03/20 by Steve.Robb Fix for crash when importing a BP which has a populated TMap with an enum class key. Change 3354056 on 2017/03/20 by Steve.Robb TAssetPtr<T> can now be constructed from a nullptr without a full definition of T. Change 3356111 on 2017/03/21 by Graeme.Thornton Fix for UE-34131 - Support double and fname stat types in UFE stat export to CSV #jira UE-34131 Change 3358584 on 2017/03/22 by Daniel.Lamb Fixed the garbage collection keep flags when cleaning the sandbox for iterative cooking. #test Cook shootergame Change 3360379 on 2017/03/23 by Gil.Gribb UE4 - Avoid adding a linker annotation if it actually hasn't changed. Improves ConditionalBeginDestroy performance. Change 3360623 on 2017/03/23 by Gil.Gribb UE4 - Change from MarcA to avoid a redudnant removal of PrimitiveComponent from the streaming managers during ConditionalBeginDestroy. Change 3360627 on 2017/03/23 by Gil.Gribb UE4 - Optimized UObject hash tables for speed and space. Change 3361183 on 2017/03/23 by Gil.Gribb UE4 - Fixed change to NotifyPrimitiveDetached so that it works in the editor. Change 3361906 on 2017/03/23 by Steve.Robb Fix for a bad hint index when instantiating map property subobjects when the defaults has fewer but non-zero elements. #jira UE-43272 Change 3362839 on 2017/03/24 by Gil.Gribb UE4 - Fixed hash table lock optimization. Change 3367348 on 2017/03/28 by Robert.Manuszewski Making sure streamed-in SoundWaves get added to GC clusters. Change 3367386 on 2017/03/28 by Ben.Marsh EC: Pass the Semaphores property from a build type as a parameter to new build jobs. Change 3367422 on 2017/03/28 by Ben.Marsh EC: Allow limiting the number of scheduled jobs that will be automatically run at a particular time. Each build type can have a 'Semaphores' property in the branch settings file, which will be copied to newly created jobs. Before scheduling new jobs, EC is queried for the 'Semaphores' property on any running jobs, and build types with existing semaphores will be skipped. Does not prevent jobs from being run manually. Change 3367469 on 2017/03/28 by Ben.Marsh EC: Prevent multiple incremental jobs running at once. Change 3367640 on 2017/03/28 by Ben.Marsh Plugins: Add an optional EngineVersion field back into the plugin descriptor. If set, the engine will warn if the plugin is not compatible with the current engine version. Plugins will set this field by default when packaging; pass -Unversioned to override. Change 3367836 on 2017/03/28 by Uriel.Doyon Improved handled of references in the streaming manager Change 3369354 on 2017/03/29 by Graeme.Thornton Added AES encrypt/decrypt functions that take a byte array for the key Change 3369804 on 2017/03/29 by Ben.Marsh Remove incorrect "EngineVersion" settings from plugin descriptors. Change 3370462 on 2017/03/29 by Ben.Marsh Editor: Install Visual Studio 2017 by default, instead of Visual Studio 2015. Changed to use ExecElevatedProcess() to prevent installer failing to run if the current user is not already an administrator. #jira UE-43467 Change 3371598 on 2017/03/30 by Ben.Marsh UBT: Fix message for missing toolchain in VS2017. Change 3372827 on 2017/03/30 by Ben.Marsh BuildGraph: Output an error at the end of each step if any previous build products have been modified. Change 3372947 on 2017/03/30 by Ben.Marsh [Merge] Always add the host editor platform as supported in an installed build. Not doing so prevents the build platform being registered in UBT, which prevents doing any platform-specific staging operations in UAT. Change 3372958 on 2017/03/30 by Ben.Marsh [Merge] Simplify log output for cooks. Suppress additional timestamps from the editor when running through UAT. Change 3372981 on 2017/03/30 by Ben.Marsh [Merge] Modular game fixes for UAT * Store list of executable names from the receipts instead of generating them from Target/Platform/Config/Architecture combination * Get full list of staged executables from receipts instead of assuming only non-code projects are in Engine * Always pass short project name as Bootstrap argument, so that modular game exe knows which project to start Change 3373024 on 2017/03/30 by Ben.Marsh [Merge] Add an option to UAT (-CookOutputDir=...) and the cooker (-OutputDir=...) which allows overriding the output directory for cooked files, and fix situations where the directory becomes too deep. Change 3373041 on 2017/03/30 by Ben.Marsh [Merge] Added UAT script to replace assets with another source Renamed ReplaceAssetsCommandlet to GenerateAssetsManifest as it now outputs a list of files and has nothing specific about replacing files Change 3373052 on 2017/03/30 by Ben.Marsh [Merge] Changed CopyUsingDistillFileSet command so that it can use a pre-existing manifest file instead of running commandlet Change 3373092 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash attempting to load cooked static mesh in editor Change 3373112 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash caused by loading cooked StaticMesh in editor that didn't have any SourceModels Change 3373132 on 2017/03/30 by Ben.Marsh [Merge] Added Additional Maps that are always cooked to the GenerateDistillFileSetsCommandlet Change 3373138 on 2017/03/30 by Ben.Marsh [Merge] Fixed code issue with playback of cooked SoundCues Skip over code using editor only data when editor data has been stripped Change 3373143 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash when attempting to open multiple cooked assets Change 3373156 on 2017/03/30 by Ben.Marsh [Merge] Added commandlet to replace game assets with those from another source (intended for cooked asset replacement) Change 3373161 on 2017/03/30 by Ben.Marsh [Merge] Prevented crash by not attempting to Load Mips again if a package has cooked data Change 3373168 on 2017/03/30 by Ben.Marsh [Merge] Fix output path for DLC pak file, so it can be discovered by the engine and automatically mounted (and to stop it colliding with the main game pak file). Change 3373204 on 2017/03/30 by Ben.Marsh [Merge] Fix crash when switching levels in PIE, due to bulk data already having been discarded for cooked assets. Cooking sets BULKDATA_SingleUse for textures, but PIEing needs to keep bulk data around. Change 3373209 on 2017/03/30 by Ben.Marsh [Merge] Fix missing material in mod editor for cooked assets. Change 3373388 on 2017/03/30 by Ben.Marsh [Merge] Various improvements to the plugin browser and new plugin wizard from Robo Recall. Change 3374200 on 2017/03/31 by Ben.Marsh [Merge] Latest OdinEditor plugin from //Odin/Main, to fix build failures. Re-made change to OdinUnrealEdEngine to remove dependencies on analytics. Change 3374279 on 2017/03/31 by Ben.Marsh PR #3441: Invalid JSON in FeaturePacks (Contributed by projectgheist) Change 3374331 on 2017/03/31 by Ben.Marsh UBT: Disable warning pragmas on Mono; not supported on current compiler. #jira UE-43451 Change 3375108 on 2017/03/31 by Ben.Marsh Removing another plugin EngineVersion property. Change 3375126 on 2017/03/31 by Ben.Marsh Fix incorrect executable paths being generated for Windows. Change 3375159 on 2017/03/31 by Graeme.Thornton Pak Index Encryption - Added "-encryptindex" option to unrealpak which will encrypt the pak index, making the pak file unreadable without the associated decryption key - Added "-encryptpakindex" option to UAT to force on index encryption - Added "bEncryptPakIndex" setting to project packaging settings so pak encryption can be controlled via the editor Change 3375197 on 2017/03/31 by Graeme.Thornton Enable pak index encryption in shootergame Change 3375377 on 2017/03/31 by Ben.Marsh Add build node to submit updated UnrealPak binaries for Win64, Mac and Linux. Currently has to be run via a custom build on EC, with the target set to "Submit UnrealPak Binaries". Change 3376418 on 2017/04/03 by Ben.Marsh BuildGraph: Always clear the cached node state when running locally without having to manually specify the -ClearHistory argument. The -Resume argument allows the previous behavior of continuing a previous build. Change 3376447 on 2017/04/03 by Ben.Marsh Build: Remove some unused stream settings Change 3376469 on 2017/04/03 by Ben.Marsh Build: Add a customizable field for the script to use for custom builds in every branch. Change 3376654 on 2017/04/03 by Ben.Marsh Add a fatal error message containing the module with an outstanding reference when trying to unload it. #jira UE-42423 Change 3376747 on 2017/04/03 by Gil.Gribb UE4 - Fixed crash relating to FGenericAsyncReadFileHandle when not using the EDL. Change 3377173 on 2017/04/03 by Ben.Marsh Make sure callstacks are written to stdout following a crash on a background thread. Change 3377183 on 2017/04/03 by Ben.Marsh Removing support for building VS2013 targets. Ability to generate VS2013 project files is still allowed, but unsupported (via the -2013unsupported command line argument). Change 3377280 on 2017/04/03 by Ben.Marsh Build: Post UGS badges for all UE4 development streams, with the project set to $(Branch)/... Change 3377311 on 2017/04/03 by Ben.Marsh Build: Set the 'Semaphores' parameter for any jobs started from a schedule. Change 3377326 on 2017/04/03 by Ben.Marsh UGS: Show badges which match an entire subtree if the project field ends with "...". Change 3377392 on 2017/04/03 by Ben.Marsh Add badges to UE4/Main and UE4/Release streams, and change the names of the builds in development streams to distinguish them. Change 3377895 on 2017/04/03 by Ben.Marsh EC: Send notification emails whenever UAT fails to compile. Change 3377923 on 2017/04/03 by Ben.Marsh Build: Use a different semaphore for the common editors build target to the incremental compile build target. Change 3378297 on 2017/04/04 by Graeme.Thornton Fix incorrect generation of UE_ENGINE_DIRECTORY in UBT Change 3378301 on 2017/04/04 by Ben.Marsh UBT: Try enabling bAdaptiveUnityDisablesPCH by default, to reduce the number of build failures we see due to missing includes. Change 3378460 on 2017/04/04 by Graeme.Thornton Remove dependency preloading system from sync and async loading paths Change 3378535 on 2017/04/04 by Robert.Manuszewski Fix for audio crash when launching Ocean PIE after removing the audio chunk allocation in CL #3347324 #jira UE-43544 Change 3378575 on 2017/04/04 by Robert.Manuszewski Making sure actor clusters are not created in non-cooked builds #jira UE-43617 #jira UE-43614 Change 3378589 on 2017/04/04 by Robert.Manuszewski Disabling debug GC cluster logging #jira UE-43617 Change 3379118 on 2017/04/04 by Robert.Manuszewski Disabling actor clustering by default, keeping it on in Orion and Ocean Change 3379815 on 2017/04/04 by Ben.Marsh Revert change to derive executable names from target receipts. While a better solution than making them up, Android relies on having the base executable names for supporting multiple architectures. Change 3380811 on 2017/04/05 by Gil.Gribb UE4 - Put the special boot order things into baseengine.ini so that licensees and games can add to it. Change 3383313 on 2017/04/06 by Uriel.Doyon Integrated CL 3372436 3372765 3373272 from Dev-Rendering #JIRA UE-43669 Change 3383531 on 2017/04/06 by Ben.Marsh UGS: Ignore failures when querying whether paths exist. Permissions can cause this folder to fail, even if it will succeed at a parent directory. Change 3383786 on 2017/04/06 by Ben.Zeigler Back out changelist 3382694 and replace with CL #3383757 from bob.tellez: Fix memory stomping issue caused by removing a FFortProfileSynchronizeRequest from SynchronizeRequests in UFortRegisteredPlayerInfo::UpdateSynchronizeRequest before SynchronizeProfile had finished executing Change 3385089 on 2017/04/07 by Gil.Gribb UE4 - Critical. Fixed memory leak in pak precacher. [CL 3386123 by Ben Marsh in Main branch]
2017-04-10 11:00:33 -04:00
lock(ExeToTimeInMs)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3386108) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3345860 on 2017/03/14 by Daniel.Lamb Fixed crash when building DLC #test Cook paragon. Change 3347324 on 2017/03/15 by Gil.Gribb UE4 - Removed old code relating to FAsyncArchive, FAsyncIOSubsystemBase and package level compression. The editor now uses the lowest levels on the new async IO scheme. Change 3347331 on 2017/03/15 by Robert.Manuszewski Fix for a crash caused by GC killing BP class (due to no strong references) but its CDO is being kept alive because it was in the same cluster as the class and was not marked as pending kill. #jira UE-42732 Change 3347371 on 2017/03/15 by Graeme.Thornton Fix for runtime asset cache not invalidating files with an outdated version number Change 3349161 on 2017/03/16 by Steve.Robb Generated UFUNCTION FNames no longer exported. Misc refactors of code generation. Change 3349167 on 2017/03/16 by Steve.Robb Unused TBoolConstant removed (the more general TIntegralConstant should be used instead). Change 3349274 on 2017/03/16 by Gil.Gribb UE4 - Fix loading a package that is already loaded. Change 3349534 on 2017/03/16 by Ben.Marsh UBT: Check that the SN-DBS service is running before attempting to use it. Change 3349612 on 2017/03/16 by Gil.Gribb UE4 - Increased estimate of summary size. Change 3350021 on 2017/03/16 by Gil.Gribb UE4 - Fixed crash in signature checks when mounting pak files. Change 3350052 on 2017/03/16 by Ben.Marsh Remove invalid characters from macro names before passing as macro values. Prevents compile errors for projects which have apostrophes in the name. Change 3350360 on 2017/03/16 by Ben.Marsh UAT: Fix non-threadsafe access of ExeToTimeInMs when spawning external processes. Change 3351670 on 2017/03/17 by Ben.Marsh UBT: Ignore all default libraries when creating import libs. Sometimes #pragma comment(lib, ...) directives can add force additional libraries onto the linker/librarian command line. We don't want or need these included when generating import libraries, but they can cause errors due to search paths not being able to find them. Change 3352289 on 2017/03/17 by Ben.Marsh Fix issues working with > 2GB archives caused by truncation of the return value from FArchive::Tell() down to 32-bits. Change 3352390 on 2017/03/17 by Ben.Marsh Remove unused/out of date binaries for CrashReporter. Change 3352392 on 2017/03/17 by Ben.Marsh Remove UnrealDocTool binaries. This is distributed through a Visual Studio plugin now. Change 3352410 on 2017/03/17 by Ben.Marsh Remove P4ChangeReporter. I don't believe this is used any more. Change 3352450 on 2017/03/17 by Ben.Marsh Disable including CrashReporter by default when packaging projects. This is only useful with a CrashReporter backend set up, which only usually applies to Epic internal projects. Change 3352455 on 2017/03/17 by Ben.Marsh Remove RegisterPII and TranslatedWordsCountEstimator executables. Don't believe these are used any more. Change 3352940 on 2017/03/17 by Wes.Hunt Update CRP to not send Slack queue size updates unless the waiting time is greater than 1 minute. #codereview: jin.zhang Change 3353658 on 2017/03/20 by Steve.Robb Fix for crash when importing a BP which has a populated TMap with an enum class key. Change 3354056 on 2017/03/20 by Steve.Robb TAssetPtr<T> can now be constructed from a nullptr without a full definition of T. Change 3356111 on 2017/03/21 by Graeme.Thornton Fix for UE-34131 - Support double and fname stat types in UFE stat export to CSV #jira UE-34131 Change 3358584 on 2017/03/22 by Daniel.Lamb Fixed the garbage collection keep flags when cleaning the sandbox for iterative cooking. #test Cook shootergame Change 3360379 on 2017/03/23 by Gil.Gribb UE4 - Avoid adding a linker annotation if it actually hasn't changed. Improves ConditionalBeginDestroy performance. Change 3360623 on 2017/03/23 by Gil.Gribb UE4 - Change from MarcA to avoid a redudnant removal of PrimitiveComponent from the streaming managers during ConditionalBeginDestroy. Change 3360627 on 2017/03/23 by Gil.Gribb UE4 - Optimized UObject hash tables for speed and space. Change 3361183 on 2017/03/23 by Gil.Gribb UE4 - Fixed change to NotifyPrimitiveDetached so that it works in the editor. Change 3361906 on 2017/03/23 by Steve.Robb Fix for a bad hint index when instantiating map property subobjects when the defaults has fewer but non-zero elements. #jira UE-43272 Change 3362839 on 2017/03/24 by Gil.Gribb UE4 - Fixed hash table lock optimization. Change 3367348 on 2017/03/28 by Robert.Manuszewski Making sure streamed-in SoundWaves get added to GC clusters. Change 3367386 on 2017/03/28 by Ben.Marsh EC: Pass the Semaphores property from a build type as a parameter to new build jobs. Change 3367422 on 2017/03/28 by Ben.Marsh EC: Allow limiting the number of scheduled jobs that will be automatically run at a particular time. Each build type can have a 'Semaphores' property in the branch settings file, which will be copied to newly created jobs. Before scheduling new jobs, EC is queried for the 'Semaphores' property on any running jobs, and build types with existing semaphores will be skipped. Does not prevent jobs from being run manually. Change 3367469 on 2017/03/28 by Ben.Marsh EC: Prevent multiple incremental jobs running at once. Change 3367640 on 2017/03/28 by Ben.Marsh Plugins: Add an optional EngineVersion field back into the plugin descriptor. If set, the engine will warn if the plugin is not compatible with the current engine version. Plugins will set this field by default when packaging; pass -Unversioned to override. Change 3367836 on 2017/03/28 by Uriel.Doyon Improved handled of references in the streaming manager Change 3369354 on 2017/03/29 by Graeme.Thornton Added AES encrypt/decrypt functions that take a byte array for the key Change 3369804 on 2017/03/29 by Ben.Marsh Remove incorrect "EngineVersion" settings from plugin descriptors. Change 3370462 on 2017/03/29 by Ben.Marsh Editor: Install Visual Studio 2017 by default, instead of Visual Studio 2015. Changed to use ExecElevatedProcess() to prevent installer failing to run if the current user is not already an administrator. #jira UE-43467 Change 3371598 on 2017/03/30 by Ben.Marsh UBT: Fix message for missing toolchain in VS2017. Change 3372827 on 2017/03/30 by Ben.Marsh BuildGraph: Output an error at the end of each step if any previous build products have been modified. Change 3372947 on 2017/03/30 by Ben.Marsh [Merge] Always add the host editor platform as supported in an installed build. Not doing so prevents the build platform being registered in UBT, which prevents doing any platform-specific staging operations in UAT. Change 3372958 on 2017/03/30 by Ben.Marsh [Merge] Simplify log output for cooks. Suppress additional timestamps from the editor when running through UAT. Change 3372981 on 2017/03/30 by Ben.Marsh [Merge] Modular game fixes for UAT * Store list of executable names from the receipts instead of generating them from Target/Platform/Config/Architecture combination * Get full list of staged executables from receipts instead of assuming only non-code projects are in Engine * Always pass short project name as Bootstrap argument, so that modular game exe knows which project to start Change 3373024 on 2017/03/30 by Ben.Marsh [Merge] Add an option to UAT (-CookOutputDir=...) and the cooker (-OutputDir=...) which allows overriding the output directory for cooked files, and fix situations where the directory becomes too deep. Change 3373041 on 2017/03/30 by Ben.Marsh [Merge] Added UAT script to replace assets with another source Renamed ReplaceAssetsCommandlet to GenerateAssetsManifest as it now outputs a list of files and has nothing specific about replacing files Change 3373052 on 2017/03/30 by Ben.Marsh [Merge] Changed CopyUsingDistillFileSet command so that it can use a pre-existing manifest file instead of running commandlet Change 3373092 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash attempting to load cooked static mesh in editor Change 3373112 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash caused by loading cooked StaticMesh in editor that didn't have any SourceModels Change 3373132 on 2017/03/30 by Ben.Marsh [Merge] Added Additional Maps that are always cooked to the GenerateDistillFileSetsCommandlet Change 3373138 on 2017/03/30 by Ben.Marsh [Merge] Fixed code issue with playback of cooked SoundCues Skip over code using editor only data when editor data has been stripped Change 3373143 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash when attempting to open multiple cooked assets Change 3373156 on 2017/03/30 by Ben.Marsh [Merge] Added commandlet to replace game assets with those from another source (intended for cooked asset replacement) Change 3373161 on 2017/03/30 by Ben.Marsh [Merge] Prevented crash by not attempting to Load Mips again if a package has cooked data Change 3373168 on 2017/03/30 by Ben.Marsh [Merge] Fix output path for DLC pak file, so it can be discovered by the engine and automatically mounted (and to stop it colliding with the main game pak file). Change 3373204 on 2017/03/30 by Ben.Marsh [Merge] Fix crash when switching levels in PIE, due to bulk data already having been discarded for cooked assets. Cooking sets BULKDATA_SingleUse for textures, but PIEing needs to keep bulk data around. Change 3373209 on 2017/03/30 by Ben.Marsh [Merge] Fix missing material in mod editor for cooked assets. Change 3373388 on 2017/03/30 by Ben.Marsh [Merge] Various improvements to the plugin browser and new plugin wizard from Robo Recall. Change 3374200 on 2017/03/31 by Ben.Marsh [Merge] Latest OdinEditor plugin from //Odin/Main, to fix build failures. Re-made change to OdinUnrealEdEngine to remove dependencies on analytics. Change 3374279 on 2017/03/31 by Ben.Marsh PR #3441: Invalid JSON in FeaturePacks (Contributed by projectgheist) Change 3374331 on 2017/03/31 by Ben.Marsh UBT: Disable warning pragmas on Mono; not supported on current compiler. #jira UE-43451 Change 3375108 on 2017/03/31 by Ben.Marsh Removing another plugin EngineVersion property. Change 3375126 on 2017/03/31 by Ben.Marsh Fix incorrect executable paths being generated for Windows. Change 3375159 on 2017/03/31 by Graeme.Thornton Pak Index Encryption - Added "-encryptindex" option to unrealpak which will encrypt the pak index, making the pak file unreadable without the associated decryption key - Added "-encryptpakindex" option to UAT to force on index encryption - Added "bEncryptPakIndex" setting to project packaging settings so pak encryption can be controlled via the editor Change 3375197 on 2017/03/31 by Graeme.Thornton Enable pak index encryption in shootergame Change 3375377 on 2017/03/31 by Ben.Marsh Add build node to submit updated UnrealPak binaries for Win64, Mac and Linux. Currently has to be run via a custom build on EC, with the target set to "Submit UnrealPak Binaries". Change 3376418 on 2017/04/03 by Ben.Marsh BuildGraph: Always clear the cached node state when running locally without having to manually specify the -ClearHistory argument. The -Resume argument allows the previous behavior of continuing a previous build. Change 3376447 on 2017/04/03 by Ben.Marsh Build: Remove some unused stream settings Change 3376469 on 2017/04/03 by Ben.Marsh Build: Add a customizable field for the script to use for custom builds in every branch. Change 3376654 on 2017/04/03 by Ben.Marsh Add a fatal error message containing the module with an outstanding reference when trying to unload it. #jira UE-42423 Change 3376747 on 2017/04/03 by Gil.Gribb UE4 - Fixed crash relating to FGenericAsyncReadFileHandle when not using the EDL. Change 3377173 on 2017/04/03 by Ben.Marsh Make sure callstacks are written to stdout following a crash on a background thread. Change 3377183 on 2017/04/03 by Ben.Marsh Removing support for building VS2013 targets. Ability to generate VS2013 project files is still allowed, but unsupported (via the -2013unsupported command line argument). Change 3377280 on 2017/04/03 by Ben.Marsh Build: Post UGS badges for all UE4 development streams, with the project set to $(Branch)/... Change 3377311 on 2017/04/03 by Ben.Marsh Build: Set the 'Semaphores' parameter for any jobs started from a schedule. Change 3377326 on 2017/04/03 by Ben.Marsh UGS: Show badges which match an entire subtree if the project field ends with "...". Change 3377392 on 2017/04/03 by Ben.Marsh Add badges to UE4/Main and UE4/Release streams, and change the names of the builds in development streams to distinguish them. Change 3377895 on 2017/04/03 by Ben.Marsh EC: Send notification emails whenever UAT fails to compile. Change 3377923 on 2017/04/03 by Ben.Marsh Build: Use a different semaphore for the common editors build target to the incremental compile build target. Change 3378297 on 2017/04/04 by Graeme.Thornton Fix incorrect generation of UE_ENGINE_DIRECTORY in UBT Change 3378301 on 2017/04/04 by Ben.Marsh UBT: Try enabling bAdaptiveUnityDisablesPCH by default, to reduce the number of build failures we see due to missing includes. Change 3378460 on 2017/04/04 by Graeme.Thornton Remove dependency preloading system from sync and async loading paths Change 3378535 on 2017/04/04 by Robert.Manuszewski Fix for audio crash when launching Ocean PIE after removing the audio chunk allocation in CL #3347324 #jira UE-43544 Change 3378575 on 2017/04/04 by Robert.Manuszewski Making sure actor clusters are not created in non-cooked builds #jira UE-43617 #jira UE-43614 Change 3378589 on 2017/04/04 by Robert.Manuszewski Disabling debug GC cluster logging #jira UE-43617 Change 3379118 on 2017/04/04 by Robert.Manuszewski Disabling actor clustering by default, keeping it on in Orion and Ocean Change 3379815 on 2017/04/04 by Ben.Marsh Revert change to derive executable names from target receipts. While a better solution than making them up, Android relies on having the base executable names for supporting multiple architectures. Change 3380811 on 2017/04/05 by Gil.Gribb UE4 - Put the special boot order things into baseengine.ini so that licensees and games can add to it. Change 3383313 on 2017/04/06 by Uriel.Doyon Integrated CL 3372436 3372765 3373272 from Dev-Rendering #JIRA UE-43669 Change 3383531 on 2017/04/06 by Ben.Marsh UGS: Ignore failures when querying whether paths exist. Permissions can cause this folder to fail, even if it will succeed at a parent directory. Change 3383786 on 2017/04/06 by Ben.Zeigler Back out changelist 3382694 and replace with CL #3383757 from bob.tellez: Fix memory stomping issue caused by removing a FFortProfileSynchronizeRequest from SynchronizeRequests in UFortRegisteredPlayerInfo::UpdateSynchronizeRequest before SynchronizeProfile had finished executing Change 3385089 on 2017/04/07 by Gil.Gribb UE4 - Critical. Fixed memory leak in pak precacher. [CL 3386123 by Ben Marsh in Main branch]
2017-04-10 11:00:33 -04:00
foreach (var Item in ExeToTimeInMs)
{
LogVerbose("Run: Total {0}s to run " + Item.Key, Item.Value / 1000);
}
ExeToTimeInMs.Clear();
}
}
#endregion
[Flags]
public enum ERunOptions
{
None = 0,
AllowSpew = 1 << 0,
AppMustExist = 1 << 1,
NoWaitForExit = 1 << 2,
NoStdOutRedirect = 1 << 3,
NoLoggingOfRunCommand = 1 << 4,
UTF8Output = 1 << 5,
/// When specified with AllowSpew, the output will be TraceEventType.Verbose instead of TraceEventType.Information
SpewIsVerbose = 1 << 6,
Summary: running UAT from VS is simpler and faster. UEB-261 - Ensure that compiling AutomationTool in VS will compile all other Automation Projects * Just set AutomationTool as your startup project and pass the command to execute. * VS will build the script modules at build time, instead of every time at runtime. * To make this happen, "UBT.exe -ProjectFiles" now generates a companion AutomationTool.csproj.References that make AutomationTool depend on all Automation modules. * AutomationTool.exe defaults to not building script modules at runtime. Pass -compile if you want to dynamically build them. * Without the .references file, AutomationTool will only build itself and you will need to pass -compile. * RunUAT.bat still works that same, defaulting to runtime compilation and supporting -nocompile flag. It then passes -compile (or nothing) to AutomationTool. Other * All Automation projects target .Net 4.5. Some already were and had hard dependencies on them (Rocket and SyncGithub -> Octokit). Now that AutomationTool directly depends on them, everything had to use .Net 4.5. * Decoupled logic for -NoCompile and -NoCompileEditor. The flags are still confusing, but -NoCompile is no longer linked to -NoCompileEditor. * Had to leave in stub support in UAT for -NoCompile else RunUAT.bat passes it along and UAT complains that it doesn't understand it. * Added a CommandUtils.Run option to support run command, but still output the run duration. * Reduced the verbosity when UAT.proj is run from dozens of lines per module to a single Module -> Output line. It was looking like there were problems, but it was just msbuild spew. #codereview:ben.marsh [CL 2615060 by Wes Hunt in Main branch]
2015-07-09 10:15:37 -04:00
/// <summary>
/// If NoLoggingOfRunCommand is set, it normally suppresses the run duration output. This turns it back on.
/// </summary>
LoggingOfRunDuration = 1 << 7,
Default = AllowSpew | AppMustExist,
}
/// <summary>
/// Runs external program.
/// </summary>
/// <param name="App">Program filename.</param>
/// <param name="CommandLine">Commandline</param>
/// <param name="Input">Optional Input for the program (will be provided as stdin)</param>
/// <param name="Options">Defines the options how to run. See ERunOptions.</param>
/// <param name="Env">Environment to pass to program.</param>
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
/// <param name="FilterCallback">Callback to filter log spew before output.</param>
/// <returns>Object containing the exit code of the program as well as it's stdout output.</returns>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3386108) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3345860 on 2017/03/14 by Daniel.Lamb Fixed crash when building DLC #test Cook paragon. Change 3347324 on 2017/03/15 by Gil.Gribb UE4 - Removed old code relating to FAsyncArchive, FAsyncIOSubsystemBase and package level compression. The editor now uses the lowest levels on the new async IO scheme. Change 3347331 on 2017/03/15 by Robert.Manuszewski Fix for a crash caused by GC killing BP class (due to no strong references) but its CDO is being kept alive because it was in the same cluster as the class and was not marked as pending kill. #jira UE-42732 Change 3347371 on 2017/03/15 by Graeme.Thornton Fix for runtime asset cache not invalidating files with an outdated version number Change 3349161 on 2017/03/16 by Steve.Robb Generated UFUNCTION FNames no longer exported. Misc refactors of code generation. Change 3349167 on 2017/03/16 by Steve.Robb Unused TBoolConstant removed (the more general TIntegralConstant should be used instead). Change 3349274 on 2017/03/16 by Gil.Gribb UE4 - Fix loading a package that is already loaded. Change 3349534 on 2017/03/16 by Ben.Marsh UBT: Check that the SN-DBS service is running before attempting to use it. Change 3349612 on 2017/03/16 by Gil.Gribb UE4 - Increased estimate of summary size. Change 3350021 on 2017/03/16 by Gil.Gribb UE4 - Fixed crash in signature checks when mounting pak files. Change 3350052 on 2017/03/16 by Ben.Marsh Remove invalid characters from macro names before passing as macro values. Prevents compile errors for projects which have apostrophes in the name. Change 3350360 on 2017/03/16 by Ben.Marsh UAT: Fix non-threadsafe access of ExeToTimeInMs when spawning external processes. Change 3351670 on 2017/03/17 by Ben.Marsh UBT: Ignore all default libraries when creating import libs. Sometimes #pragma comment(lib, ...) directives can add force additional libraries onto the linker/librarian command line. We don't want or need these included when generating import libraries, but they can cause errors due to search paths not being able to find them. Change 3352289 on 2017/03/17 by Ben.Marsh Fix issues working with > 2GB archives caused by truncation of the return value from FArchive::Tell() down to 32-bits. Change 3352390 on 2017/03/17 by Ben.Marsh Remove unused/out of date binaries for CrashReporter. Change 3352392 on 2017/03/17 by Ben.Marsh Remove UnrealDocTool binaries. This is distributed through a Visual Studio plugin now. Change 3352410 on 2017/03/17 by Ben.Marsh Remove P4ChangeReporter. I don't believe this is used any more. Change 3352450 on 2017/03/17 by Ben.Marsh Disable including CrashReporter by default when packaging projects. This is only useful with a CrashReporter backend set up, which only usually applies to Epic internal projects. Change 3352455 on 2017/03/17 by Ben.Marsh Remove RegisterPII and TranslatedWordsCountEstimator executables. Don't believe these are used any more. Change 3352940 on 2017/03/17 by Wes.Hunt Update CRP to not send Slack queue size updates unless the waiting time is greater than 1 minute. #codereview: jin.zhang Change 3353658 on 2017/03/20 by Steve.Robb Fix for crash when importing a BP which has a populated TMap with an enum class key. Change 3354056 on 2017/03/20 by Steve.Robb TAssetPtr<T> can now be constructed from a nullptr without a full definition of T. Change 3356111 on 2017/03/21 by Graeme.Thornton Fix for UE-34131 - Support double and fname stat types in UFE stat export to CSV #jira UE-34131 Change 3358584 on 2017/03/22 by Daniel.Lamb Fixed the garbage collection keep flags when cleaning the sandbox for iterative cooking. #test Cook shootergame Change 3360379 on 2017/03/23 by Gil.Gribb UE4 - Avoid adding a linker annotation if it actually hasn't changed. Improves ConditionalBeginDestroy performance. Change 3360623 on 2017/03/23 by Gil.Gribb UE4 - Change from MarcA to avoid a redudnant removal of PrimitiveComponent from the streaming managers during ConditionalBeginDestroy. Change 3360627 on 2017/03/23 by Gil.Gribb UE4 - Optimized UObject hash tables for speed and space. Change 3361183 on 2017/03/23 by Gil.Gribb UE4 - Fixed change to NotifyPrimitiveDetached so that it works in the editor. Change 3361906 on 2017/03/23 by Steve.Robb Fix for a bad hint index when instantiating map property subobjects when the defaults has fewer but non-zero elements. #jira UE-43272 Change 3362839 on 2017/03/24 by Gil.Gribb UE4 - Fixed hash table lock optimization. Change 3367348 on 2017/03/28 by Robert.Manuszewski Making sure streamed-in SoundWaves get added to GC clusters. Change 3367386 on 2017/03/28 by Ben.Marsh EC: Pass the Semaphores property from a build type as a parameter to new build jobs. Change 3367422 on 2017/03/28 by Ben.Marsh EC: Allow limiting the number of scheduled jobs that will be automatically run at a particular time. Each build type can have a 'Semaphores' property in the branch settings file, which will be copied to newly created jobs. Before scheduling new jobs, EC is queried for the 'Semaphores' property on any running jobs, and build types with existing semaphores will be skipped. Does not prevent jobs from being run manually. Change 3367469 on 2017/03/28 by Ben.Marsh EC: Prevent multiple incremental jobs running at once. Change 3367640 on 2017/03/28 by Ben.Marsh Plugins: Add an optional EngineVersion field back into the plugin descriptor. If set, the engine will warn if the plugin is not compatible with the current engine version. Plugins will set this field by default when packaging; pass -Unversioned to override. Change 3367836 on 2017/03/28 by Uriel.Doyon Improved handled of references in the streaming manager Change 3369354 on 2017/03/29 by Graeme.Thornton Added AES encrypt/decrypt functions that take a byte array for the key Change 3369804 on 2017/03/29 by Ben.Marsh Remove incorrect "EngineVersion" settings from plugin descriptors. Change 3370462 on 2017/03/29 by Ben.Marsh Editor: Install Visual Studio 2017 by default, instead of Visual Studio 2015. Changed to use ExecElevatedProcess() to prevent installer failing to run if the current user is not already an administrator. #jira UE-43467 Change 3371598 on 2017/03/30 by Ben.Marsh UBT: Fix message for missing toolchain in VS2017. Change 3372827 on 2017/03/30 by Ben.Marsh BuildGraph: Output an error at the end of each step if any previous build products have been modified. Change 3372947 on 2017/03/30 by Ben.Marsh [Merge] Always add the host editor platform as supported in an installed build. Not doing so prevents the build platform being registered in UBT, which prevents doing any platform-specific staging operations in UAT. Change 3372958 on 2017/03/30 by Ben.Marsh [Merge] Simplify log output for cooks. Suppress additional timestamps from the editor when running through UAT. Change 3372981 on 2017/03/30 by Ben.Marsh [Merge] Modular game fixes for UAT * Store list of executable names from the receipts instead of generating them from Target/Platform/Config/Architecture combination * Get full list of staged executables from receipts instead of assuming only non-code projects are in Engine * Always pass short project name as Bootstrap argument, so that modular game exe knows which project to start Change 3373024 on 2017/03/30 by Ben.Marsh [Merge] Add an option to UAT (-CookOutputDir=...) and the cooker (-OutputDir=...) which allows overriding the output directory for cooked files, and fix situations where the directory becomes too deep. Change 3373041 on 2017/03/30 by Ben.Marsh [Merge] Added UAT script to replace assets with another source Renamed ReplaceAssetsCommandlet to GenerateAssetsManifest as it now outputs a list of files and has nothing specific about replacing files Change 3373052 on 2017/03/30 by Ben.Marsh [Merge] Changed CopyUsingDistillFileSet command so that it can use a pre-existing manifest file instead of running commandlet Change 3373092 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash attempting to load cooked static mesh in editor Change 3373112 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash caused by loading cooked StaticMesh in editor that didn't have any SourceModels Change 3373132 on 2017/03/30 by Ben.Marsh [Merge] Added Additional Maps that are always cooked to the GenerateDistillFileSetsCommandlet Change 3373138 on 2017/03/30 by Ben.Marsh [Merge] Fixed code issue with playback of cooked SoundCues Skip over code using editor only data when editor data has been stripped Change 3373143 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash when attempting to open multiple cooked assets Change 3373156 on 2017/03/30 by Ben.Marsh [Merge] Added commandlet to replace game assets with those from another source (intended for cooked asset replacement) Change 3373161 on 2017/03/30 by Ben.Marsh [Merge] Prevented crash by not attempting to Load Mips again if a package has cooked data Change 3373168 on 2017/03/30 by Ben.Marsh [Merge] Fix output path for DLC pak file, so it can be discovered by the engine and automatically mounted (and to stop it colliding with the main game pak file). Change 3373204 on 2017/03/30 by Ben.Marsh [Merge] Fix crash when switching levels in PIE, due to bulk data already having been discarded for cooked assets. Cooking sets BULKDATA_SingleUse for textures, but PIEing needs to keep bulk data around. Change 3373209 on 2017/03/30 by Ben.Marsh [Merge] Fix missing material in mod editor for cooked assets. Change 3373388 on 2017/03/30 by Ben.Marsh [Merge] Various improvements to the plugin browser and new plugin wizard from Robo Recall. Change 3374200 on 2017/03/31 by Ben.Marsh [Merge] Latest OdinEditor plugin from //Odin/Main, to fix build failures. Re-made change to OdinUnrealEdEngine to remove dependencies on analytics. Change 3374279 on 2017/03/31 by Ben.Marsh PR #3441: Invalid JSON in FeaturePacks (Contributed by projectgheist) Change 3374331 on 2017/03/31 by Ben.Marsh UBT: Disable warning pragmas on Mono; not supported on current compiler. #jira UE-43451 Change 3375108 on 2017/03/31 by Ben.Marsh Removing another plugin EngineVersion property. Change 3375126 on 2017/03/31 by Ben.Marsh Fix incorrect executable paths being generated for Windows. Change 3375159 on 2017/03/31 by Graeme.Thornton Pak Index Encryption - Added "-encryptindex" option to unrealpak which will encrypt the pak index, making the pak file unreadable without the associated decryption key - Added "-encryptpakindex" option to UAT to force on index encryption - Added "bEncryptPakIndex" setting to project packaging settings so pak encryption can be controlled via the editor Change 3375197 on 2017/03/31 by Graeme.Thornton Enable pak index encryption in shootergame Change 3375377 on 2017/03/31 by Ben.Marsh Add build node to submit updated UnrealPak binaries for Win64, Mac and Linux. Currently has to be run via a custom build on EC, with the target set to "Submit UnrealPak Binaries". Change 3376418 on 2017/04/03 by Ben.Marsh BuildGraph: Always clear the cached node state when running locally without having to manually specify the -ClearHistory argument. The -Resume argument allows the previous behavior of continuing a previous build. Change 3376447 on 2017/04/03 by Ben.Marsh Build: Remove some unused stream settings Change 3376469 on 2017/04/03 by Ben.Marsh Build: Add a customizable field for the script to use for custom builds in every branch. Change 3376654 on 2017/04/03 by Ben.Marsh Add a fatal error message containing the module with an outstanding reference when trying to unload it. #jira UE-42423 Change 3376747 on 2017/04/03 by Gil.Gribb UE4 - Fixed crash relating to FGenericAsyncReadFileHandle when not using the EDL. Change 3377173 on 2017/04/03 by Ben.Marsh Make sure callstacks are written to stdout following a crash on a background thread. Change 3377183 on 2017/04/03 by Ben.Marsh Removing support for building VS2013 targets. Ability to generate VS2013 project files is still allowed, but unsupported (via the -2013unsupported command line argument). Change 3377280 on 2017/04/03 by Ben.Marsh Build: Post UGS badges for all UE4 development streams, with the project set to $(Branch)/... Change 3377311 on 2017/04/03 by Ben.Marsh Build: Set the 'Semaphores' parameter for any jobs started from a schedule. Change 3377326 on 2017/04/03 by Ben.Marsh UGS: Show badges which match an entire subtree if the project field ends with "...". Change 3377392 on 2017/04/03 by Ben.Marsh Add badges to UE4/Main and UE4/Release streams, and change the names of the builds in development streams to distinguish them. Change 3377895 on 2017/04/03 by Ben.Marsh EC: Send notification emails whenever UAT fails to compile. Change 3377923 on 2017/04/03 by Ben.Marsh Build: Use a different semaphore for the common editors build target to the incremental compile build target. Change 3378297 on 2017/04/04 by Graeme.Thornton Fix incorrect generation of UE_ENGINE_DIRECTORY in UBT Change 3378301 on 2017/04/04 by Ben.Marsh UBT: Try enabling bAdaptiveUnityDisablesPCH by default, to reduce the number of build failures we see due to missing includes. Change 3378460 on 2017/04/04 by Graeme.Thornton Remove dependency preloading system from sync and async loading paths Change 3378535 on 2017/04/04 by Robert.Manuszewski Fix for audio crash when launching Ocean PIE after removing the audio chunk allocation in CL #3347324 #jira UE-43544 Change 3378575 on 2017/04/04 by Robert.Manuszewski Making sure actor clusters are not created in non-cooked builds #jira UE-43617 #jira UE-43614 Change 3378589 on 2017/04/04 by Robert.Manuszewski Disabling debug GC cluster logging #jira UE-43617 Change 3379118 on 2017/04/04 by Robert.Manuszewski Disabling actor clustering by default, keeping it on in Orion and Ocean Change 3379815 on 2017/04/04 by Ben.Marsh Revert change to derive executable names from target receipts. While a better solution than making them up, Android relies on having the base executable names for supporting multiple architectures. Change 3380811 on 2017/04/05 by Gil.Gribb UE4 - Put the special boot order things into baseengine.ini so that licensees and games can add to it. Change 3383313 on 2017/04/06 by Uriel.Doyon Integrated CL 3372436 3372765 3373272 from Dev-Rendering #JIRA UE-43669 Change 3383531 on 2017/04/06 by Ben.Marsh UGS: Ignore failures when querying whether paths exist. Permissions can cause this folder to fail, even if it will succeed at a parent directory. Change 3383786 on 2017/04/06 by Ben.Zeigler Back out changelist 3382694 and replace with CL #3383757 from bob.tellez: Fix memory stomping issue caused by removing a FFortProfileSynchronizeRequest from SynchronizeRequests in UFortRegisteredPlayerInfo::UpdateSynchronizeRequest before SynchronizeProfile had finished executing Change 3385089 on 2017/04/07 by Gil.Gribb UE4 - Critical. Fixed memory leak in pak precacher. [CL 3386123 by Ben Marsh in Main branch]
2017-04-10 11:00:33 -04:00
public static IProcessResult Run(string App, string CommandLine = null, string Input = null, ERunOptions Options = ERunOptions.Default, Dictionary<string, string> Env = null, ProcessResult.SpewFilterCallbackType SpewFilterCallback = null, string Identifier = null)
{
App = ConvertSeparators(PathSeparator.Default, App);
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
// Get the log name before allowing the platform to modify the app/command-line. We want mono apps to be written to a log named after the application and appear with the application prefix rather than "mono:".
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3386108) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3345860 on 2017/03/14 by Daniel.Lamb Fixed crash when building DLC #test Cook paragon. Change 3347324 on 2017/03/15 by Gil.Gribb UE4 - Removed old code relating to FAsyncArchive, FAsyncIOSubsystemBase and package level compression. The editor now uses the lowest levels on the new async IO scheme. Change 3347331 on 2017/03/15 by Robert.Manuszewski Fix for a crash caused by GC killing BP class (due to no strong references) but its CDO is being kept alive because it was in the same cluster as the class and was not marked as pending kill. #jira UE-42732 Change 3347371 on 2017/03/15 by Graeme.Thornton Fix for runtime asset cache not invalidating files with an outdated version number Change 3349161 on 2017/03/16 by Steve.Robb Generated UFUNCTION FNames no longer exported. Misc refactors of code generation. Change 3349167 on 2017/03/16 by Steve.Robb Unused TBoolConstant removed (the more general TIntegralConstant should be used instead). Change 3349274 on 2017/03/16 by Gil.Gribb UE4 - Fix loading a package that is already loaded. Change 3349534 on 2017/03/16 by Ben.Marsh UBT: Check that the SN-DBS service is running before attempting to use it. Change 3349612 on 2017/03/16 by Gil.Gribb UE4 - Increased estimate of summary size. Change 3350021 on 2017/03/16 by Gil.Gribb UE4 - Fixed crash in signature checks when mounting pak files. Change 3350052 on 2017/03/16 by Ben.Marsh Remove invalid characters from macro names before passing as macro values. Prevents compile errors for projects which have apostrophes in the name. Change 3350360 on 2017/03/16 by Ben.Marsh UAT: Fix non-threadsafe access of ExeToTimeInMs when spawning external processes. Change 3351670 on 2017/03/17 by Ben.Marsh UBT: Ignore all default libraries when creating import libs. Sometimes #pragma comment(lib, ...) directives can add force additional libraries onto the linker/librarian command line. We don't want or need these included when generating import libraries, but they can cause errors due to search paths not being able to find them. Change 3352289 on 2017/03/17 by Ben.Marsh Fix issues working with > 2GB archives caused by truncation of the return value from FArchive::Tell() down to 32-bits. Change 3352390 on 2017/03/17 by Ben.Marsh Remove unused/out of date binaries for CrashReporter. Change 3352392 on 2017/03/17 by Ben.Marsh Remove UnrealDocTool binaries. This is distributed through a Visual Studio plugin now. Change 3352410 on 2017/03/17 by Ben.Marsh Remove P4ChangeReporter. I don't believe this is used any more. Change 3352450 on 2017/03/17 by Ben.Marsh Disable including CrashReporter by default when packaging projects. This is only useful with a CrashReporter backend set up, which only usually applies to Epic internal projects. Change 3352455 on 2017/03/17 by Ben.Marsh Remove RegisterPII and TranslatedWordsCountEstimator executables. Don't believe these are used any more. Change 3352940 on 2017/03/17 by Wes.Hunt Update CRP to not send Slack queue size updates unless the waiting time is greater than 1 minute. #codereview: jin.zhang Change 3353658 on 2017/03/20 by Steve.Robb Fix for crash when importing a BP which has a populated TMap with an enum class key. Change 3354056 on 2017/03/20 by Steve.Robb TAssetPtr<T> can now be constructed from a nullptr without a full definition of T. Change 3356111 on 2017/03/21 by Graeme.Thornton Fix for UE-34131 - Support double and fname stat types in UFE stat export to CSV #jira UE-34131 Change 3358584 on 2017/03/22 by Daniel.Lamb Fixed the garbage collection keep flags when cleaning the sandbox for iterative cooking. #test Cook shootergame Change 3360379 on 2017/03/23 by Gil.Gribb UE4 - Avoid adding a linker annotation if it actually hasn't changed. Improves ConditionalBeginDestroy performance. Change 3360623 on 2017/03/23 by Gil.Gribb UE4 - Change from MarcA to avoid a redudnant removal of PrimitiveComponent from the streaming managers during ConditionalBeginDestroy. Change 3360627 on 2017/03/23 by Gil.Gribb UE4 - Optimized UObject hash tables for speed and space. Change 3361183 on 2017/03/23 by Gil.Gribb UE4 - Fixed change to NotifyPrimitiveDetached so that it works in the editor. Change 3361906 on 2017/03/23 by Steve.Robb Fix for a bad hint index when instantiating map property subobjects when the defaults has fewer but non-zero elements. #jira UE-43272 Change 3362839 on 2017/03/24 by Gil.Gribb UE4 - Fixed hash table lock optimization. Change 3367348 on 2017/03/28 by Robert.Manuszewski Making sure streamed-in SoundWaves get added to GC clusters. Change 3367386 on 2017/03/28 by Ben.Marsh EC: Pass the Semaphores property from a build type as a parameter to new build jobs. Change 3367422 on 2017/03/28 by Ben.Marsh EC: Allow limiting the number of scheduled jobs that will be automatically run at a particular time. Each build type can have a 'Semaphores' property in the branch settings file, which will be copied to newly created jobs. Before scheduling new jobs, EC is queried for the 'Semaphores' property on any running jobs, and build types with existing semaphores will be skipped. Does not prevent jobs from being run manually. Change 3367469 on 2017/03/28 by Ben.Marsh EC: Prevent multiple incremental jobs running at once. Change 3367640 on 2017/03/28 by Ben.Marsh Plugins: Add an optional EngineVersion field back into the plugin descriptor. If set, the engine will warn if the plugin is not compatible with the current engine version. Plugins will set this field by default when packaging; pass -Unversioned to override. Change 3367836 on 2017/03/28 by Uriel.Doyon Improved handled of references in the streaming manager Change 3369354 on 2017/03/29 by Graeme.Thornton Added AES encrypt/decrypt functions that take a byte array for the key Change 3369804 on 2017/03/29 by Ben.Marsh Remove incorrect "EngineVersion" settings from plugin descriptors. Change 3370462 on 2017/03/29 by Ben.Marsh Editor: Install Visual Studio 2017 by default, instead of Visual Studio 2015. Changed to use ExecElevatedProcess() to prevent installer failing to run if the current user is not already an administrator. #jira UE-43467 Change 3371598 on 2017/03/30 by Ben.Marsh UBT: Fix message for missing toolchain in VS2017. Change 3372827 on 2017/03/30 by Ben.Marsh BuildGraph: Output an error at the end of each step if any previous build products have been modified. Change 3372947 on 2017/03/30 by Ben.Marsh [Merge] Always add the host editor platform as supported in an installed build. Not doing so prevents the build platform being registered in UBT, which prevents doing any platform-specific staging operations in UAT. Change 3372958 on 2017/03/30 by Ben.Marsh [Merge] Simplify log output for cooks. Suppress additional timestamps from the editor when running through UAT. Change 3372981 on 2017/03/30 by Ben.Marsh [Merge] Modular game fixes for UAT * Store list of executable names from the receipts instead of generating them from Target/Platform/Config/Architecture combination * Get full list of staged executables from receipts instead of assuming only non-code projects are in Engine * Always pass short project name as Bootstrap argument, so that modular game exe knows which project to start Change 3373024 on 2017/03/30 by Ben.Marsh [Merge] Add an option to UAT (-CookOutputDir=...) and the cooker (-OutputDir=...) which allows overriding the output directory for cooked files, and fix situations where the directory becomes too deep. Change 3373041 on 2017/03/30 by Ben.Marsh [Merge] Added UAT script to replace assets with another source Renamed ReplaceAssetsCommandlet to GenerateAssetsManifest as it now outputs a list of files and has nothing specific about replacing files Change 3373052 on 2017/03/30 by Ben.Marsh [Merge] Changed CopyUsingDistillFileSet command so that it can use a pre-existing manifest file instead of running commandlet Change 3373092 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash attempting to load cooked static mesh in editor Change 3373112 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash caused by loading cooked StaticMesh in editor that didn't have any SourceModels Change 3373132 on 2017/03/30 by Ben.Marsh [Merge] Added Additional Maps that are always cooked to the GenerateDistillFileSetsCommandlet Change 3373138 on 2017/03/30 by Ben.Marsh [Merge] Fixed code issue with playback of cooked SoundCues Skip over code using editor only data when editor data has been stripped Change 3373143 on 2017/03/30 by Ben.Marsh [Merge] Fixed crash when attempting to open multiple cooked assets Change 3373156 on 2017/03/30 by Ben.Marsh [Merge] Added commandlet to replace game assets with those from another source (intended for cooked asset replacement) Change 3373161 on 2017/03/30 by Ben.Marsh [Merge] Prevented crash by not attempting to Load Mips again if a package has cooked data Change 3373168 on 2017/03/30 by Ben.Marsh [Merge] Fix output path for DLC pak file, so it can be discovered by the engine and automatically mounted (and to stop it colliding with the main game pak file). Change 3373204 on 2017/03/30 by Ben.Marsh [Merge] Fix crash when switching levels in PIE, due to bulk data already having been discarded for cooked assets. Cooking sets BULKDATA_SingleUse for textures, but PIEing needs to keep bulk data around. Change 3373209 on 2017/03/30 by Ben.Marsh [Merge] Fix missing material in mod editor for cooked assets. Change 3373388 on 2017/03/30 by Ben.Marsh [Merge] Various improvements to the plugin browser and new plugin wizard from Robo Recall. Change 3374200 on 2017/03/31 by Ben.Marsh [Merge] Latest OdinEditor plugin from //Odin/Main, to fix build failures. Re-made change to OdinUnrealEdEngine to remove dependencies on analytics. Change 3374279 on 2017/03/31 by Ben.Marsh PR #3441: Invalid JSON in FeaturePacks (Contributed by projectgheist) Change 3374331 on 2017/03/31 by Ben.Marsh UBT: Disable warning pragmas on Mono; not supported on current compiler. #jira UE-43451 Change 3375108 on 2017/03/31 by Ben.Marsh Removing another plugin EngineVersion property. Change 3375126 on 2017/03/31 by Ben.Marsh Fix incorrect executable paths being generated for Windows. Change 3375159 on 2017/03/31 by Graeme.Thornton Pak Index Encryption - Added "-encryptindex" option to unrealpak which will encrypt the pak index, making the pak file unreadable without the associated decryption key - Added "-encryptpakindex" option to UAT to force on index encryption - Added "bEncryptPakIndex" setting to project packaging settings so pak encryption can be controlled via the editor Change 3375197 on 2017/03/31 by Graeme.Thornton Enable pak index encryption in shootergame Change 3375377 on 2017/03/31 by Ben.Marsh Add build node to submit updated UnrealPak binaries for Win64, Mac and Linux. Currently has to be run via a custom build on EC, with the target set to "Submit UnrealPak Binaries". Change 3376418 on 2017/04/03 by Ben.Marsh BuildGraph: Always clear the cached node state when running locally without having to manually specify the -ClearHistory argument. The -Resume argument allows the previous behavior of continuing a previous build. Change 3376447 on 2017/04/03 by Ben.Marsh Build: Remove some unused stream settings Change 3376469 on 2017/04/03 by Ben.Marsh Build: Add a customizable field for the script to use for custom builds in every branch. Change 3376654 on 2017/04/03 by Ben.Marsh Add a fatal error message containing the module with an outstanding reference when trying to unload it. #jira UE-42423 Change 3376747 on 2017/04/03 by Gil.Gribb UE4 - Fixed crash relating to FGenericAsyncReadFileHandle when not using the EDL. Change 3377173 on 2017/04/03 by Ben.Marsh Make sure callstacks are written to stdout following a crash on a background thread. Change 3377183 on 2017/04/03 by Ben.Marsh Removing support for building VS2013 targets. Ability to generate VS2013 project files is still allowed, but unsupported (via the -2013unsupported command line argument). Change 3377280 on 2017/04/03 by Ben.Marsh Build: Post UGS badges for all UE4 development streams, with the project set to $(Branch)/... Change 3377311 on 2017/04/03 by Ben.Marsh Build: Set the 'Semaphores' parameter for any jobs started from a schedule. Change 3377326 on 2017/04/03 by Ben.Marsh UGS: Show badges which match an entire subtree if the project field ends with "...". Change 3377392 on 2017/04/03 by Ben.Marsh Add badges to UE4/Main and UE4/Release streams, and change the names of the builds in development streams to distinguish them. Change 3377895 on 2017/04/03 by Ben.Marsh EC: Send notification emails whenever UAT fails to compile. Change 3377923 on 2017/04/03 by Ben.Marsh Build: Use a different semaphore for the common editors build target to the incremental compile build target. Change 3378297 on 2017/04/04 by Graeme.Thornton Fix incorrect generation of UE_ENGINE_DIRECTORY in UBT Change 3378301 on 2017/04/04 by Ben.Marsh UBT: Try enabling bAdaptiveUnityDisablesPCH by default, to reduce the number of build failures we see due to missing includes. Change 3378460 on 2017/04/04 by Graeme.Thornton Remove dependency preloading system from sync and async loading paths Change 3378535 on 2017/04/04 by Robert.Manuszewski Fix for audio crash when launching Ocean PIE after removing the audio chunk allocation in CL #3347324 #jira UE-43544 Change 3378575 on 2017/04/04 by Robert.Manuszewski Making sure actor clusters are not created in non-cooked builds #jira UE-43617 #jira UE-43614 Change 3378589 on 2017/04/04 by Robert.Manuszewski Disabling debug GC cluster logging #jira UE-43617 Change 3379118 on 2017/04/04 by Robert.Manuszewski Disabling actor clustering by default, keeping it on in Orion and Ocean Change 3379815 on 2017/04/04 by Ben.Marsh Revert change to derive executable names from target receipts. While a better solution than making them up, Android relies on having the base executable names for supporting multiple architectures. Change 3380811 on 2017/04/05 by Gil.Gribb UE4 - Put the special boot order things into baseengine.ini so that licensees and games can add to it. Change 3383313 on 2017/04/06 by Uriel.Doyon Integrated CL 3372436 3372765 3373272 from Dev-Rendering #JIRA UE-43669 Change 3383531 on 2017/04/06 by Ben.Marsh UGS: Ignore failures when querying whether paths exist. Permissions can cause this folder to fail, even if it will succeed at a parent directory. Change 3383786 on 2017/04/06 by Ben.Zeigler Back out changelist 3382694 and replace with CL #3383757 from bob.tellez: Fix memory stomping issue caused by removing a FFortProfileSynchronizeRequest from SynchronizeRequests in UFortRegisteredPlayerInfo::UpdateSynchronizeRequest before SynchronizeProfile had finished executing Change 3385089 on 2017/04/07 by Gil.Gribb UE4 - Critical. Fixed memory leak in pak precacher. [CL 3386123 by Ben Marsh in Main branch]
2017-04-10 11:00:33 -04:00
string LogName = Identifier ?? Path.GetFileNameWithoutExtension(App);
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
HostPlatform.Current.SetupOptionsForRun(ref App, ref Options, ref CommandLine);
if (App == "ectool" || App == "zip" || App == "xcodebuild")
{
Options &= ~ERunOptions.AppMustExist;
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3047776) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3021930 on 2016/06/21 by Ben.Marsh BuildGraph: Better diagnostic message if the source directory for copies does not exist. Change 3022391 on 2016/06/21 by Ben.Marsh Rework copy task slightly so that all code paths result in files being tagged. Change 3026592 on 2016/06/24 by Ben.Marsh BuildGraph: Add a ForEach element, which will assign a local property to each of a semicolon separated list of values, and expand the elements within it. Added an example in Properties.xml. Change 3028708 on 2016/06/27 by Matthew.Griffin Converting Engine build process to BuildGraph script Added Tag Receipts task to retrieve list of build products/dependencies from *.target files. Changed Pak File task so that you can specify an existing response file, rather than creating one from the file list. Changed base task so that you can resolve filespec from a list of file patterns if you already have them separated, which was the case with wildcards in runtime dependencies. Added EngineMajorVersion, EngineMinorVersion and EnginePatchVersion as default properties available to BuildGraph Added FinalizeInstalledBuild command to write out InstalledBuild.txt file and config entries for installed platforms Included .exe.config and exe.mdb files to build products of CsCompile task if they exist Added TagReferences option to CsCompile so that you can get any external references projects have that need to be included when staging Added RunOptions parameter to SpawnTask, so that you can specify these for the exe you want to run Added missing Runtime Dependency for ICU on Mac Change 3030209 on 2016/06/28 by Matthew.Griffin Renamed EngineBuild.xml to InstalledEngineBuild.xml to make its purpose more clear. Removed reference to xcodeunlock.sh from Mac Installed build dependencies as the file itself has been deleted. Added myself to list of notifiers for failures in the UE4 Binary build. Change 3034068 on 2016/06/30 by Ben.Marsh BuildGraph: Change scoping rules for properties. Local properties can no longer shadow global properties with the same name (or vice versa), and local properties are always modified in the scope that they were first declared, rather than being re-declared in a narrower scope. Change 3034070 on 2016/06/30 by Ben.Marsh BuildGraph: Warn when referencing a property which is not defined, and add new attributes to the <Property> element to set the default value for a property if it's not already set, and validating that it's one of a list of valid values if it is (eg. <Property Name="WithWin64" Restrict="true;false" Default="false"/>). Change 3034110 on 2016/06/30 by Matthew.Griffin Updated Installed Build so that properties are consistently named Exceptions and that the right versions are used Added Filter and Exception properties for each target platform to add any files that can't be figured out via dependencies Added Default values for various properties used across Engine build scripts - IsReleaseBranch, IsPreflight, OutputDir, BuildLabel, WithWin64 etc. Tagged Generated Includes from each target so that they can be included in Installed Build Added additional Android architectures to Shipping build Changed SwarmCoordinator to build for Any CPU Removed Local HostPlatform property from DDC nodes Changed Installed Build target platforms to use Do blocks so that we only have to check With... property once Reordered stripping and signing process so that we use the Exception check in less places Change 3035499 on 2016/07/01 by Ben.Marsh BuildGraph: Remove the <Local> element, and just make all <Property> declarations scoped. Also add an error if a property is later declared in a parent scope, since the earlier assignment won't be visible to the later one. Change 3035520 on 2016/07/01 by Ben.Marsh BuildGraph: Add support for <, <=, >, >= operators in condition expressions. Change 3035666 on 2016/07/01 by Matthew.Griffin Added more parameters to Chunk and Label Build tasks Updated all remaining uses of Local to Property in Installed Build script Made sure Feature Packs use paths compatible with Mac and also changed the node to use a ForEach element Change 3037020 on 2016/07/04 by Matthew.Griffin Ensured that TempStorageFileList uses forward slashes as its path separators so that it's easily used on Mac and Windows Was causing the results of the Make Feature Packs node to be tagged using Windows style paths, meaning they would throw an error if you tried to copy them on Mac Change 3037052 on 2016/07/04 by Ben.Marsh Move FJsonValue::ErrorMessage into cpp file, since it depends on the log class defined in Json.h (which includes it). Change 3037283 on 2016/07/05 by Matthew.Griffin Removed EnterScope and LeaveScope from ReadGraphBody so that included files are treated as being in the same scope (allows use of properties across files) Change 3037547 on 2016/07/05 by Ben.Marsh UAT: Allow CommandUtils.Run() to check directories listed in the PATH environment variable for the executable before failing. Change 3037552 on 2016/07/05 by Ben.Marsh BuildGraph: Add an <Unzip> task, which extracts a zip file to an output directory. Change 3039109 on 2016/07/06 by Matthew.Griffin Moved tagging of UAT build products to the Installed Build step as it's the only thing that needs them Moved Strip and Sign filters to the filters file, made sure they're used for all operations and added stripping back to UE4Editor nodes Changed BuildPatchTool to be built in shipping mode Changed all C# projects to be compiled for AnyCPU as they ended up in different output folders otherwise Added all files referenced by C# projects to avoid having to filter them manually Changed filters to get files included for Linux closer to the old pattern Changed Build DDC command to ignore empty entries in FeaturePacks list, don't want to fail the process if a list begins with a ; Changed UE4Game to use shipping PhysX libs for Shipping builds Added glut32.dll as a Runtime Dependency for PhysX Added libsteam_api.so as a Runtime Dependency for Steamworks on Linux Change 3039676 on 2016/07/06 by Ben.Marsh Core: Move definitions for FORCEINLINE'd FMath functions into UnrealMathUtility. Prevents link errors if including one without the other. Change 3039681 on 2016/07/06 by Ben.Marsh Core: Move implementation of GetTypeHash(FTimespan) into CPP file, to remove implicit dependency on the inline implementation of GetTypeHash(int64) being included. Change 3039735 on 2016/07/06 by Ben.Marsh Core: Move USE_DELEGATE_TRYGETBOUNDFUNCTIONNAME into a separate header, so delegate headers can be included separately. Change 3039878 on 2016/07/06 by Ben.Marsh Core: Move FOperatorFunctionID out of TOperatorJumpTable to allow MSVC to compile it and catch errors before the template is instantiated. Change 3040156 on 2016/07/06 by Ben.Marsh Core: Move FDateTime::GetTypeHash() into cpp file to eliminate dependency on TypeHash.h being included before it. Change 3041009 on 2016/07/07 by Matthew.Griffin Changed UE4Game to only use shipping PhysX libraries on Windows Change 3041015 on 2016/07/07 by Leigh.Swift UBT: Support creating C# programs that will be included in the UE4.sln Programs list. To have your program listed, remove the sln file that may have been created for you, and add a file named "UE4CSharp.prog" next to your csproj file. Change 3041234 on 2016/07/07 by Matthew.Griffin Added building of Launcher Samples to BuildGraph system Added Command to Build Sample projects, which distills to temp directory, builds DDC if needed and then chunks/posts to MCP Change 3041244 on 2016/07/07 by Ben.Marsh Core: Change PlatformIncludes.h to include all the individual PlatformMemory.h, PlatformTime.h, etc... headers rather than including separate per-platform headers which include them all. Makes it much easier to optimize header file usage, and eliminates redundant typedefs in the individual Platform*.h files. Also fixes some headers that previously didn't compile. Change 3042518 on 2016/07/08 by Matthew.Griffin Added content modifiers to those notified about Sample failures Throw exception if RocketPromoteBuild tries to promote all samples Throw exceptions for missing parameters in BuildLauncherSample command, corrected EngineDir parameter name. Change 3042545 on 2016/07/08 by Ben.Marsh Core: Push/Pop defines for MAX_uint8, MAX_uint16, MAX_uint32, MAX_int32 around Windows.h includes, so we don't need to be careful about the order in which we include NumericLimits.h. Change 3042546 on 2016/07/08 by Ben.Marsh Core: Put standard CRT includes into their own header, so we can include it without taking all of PlatformIncludes.h (and make any platform-specific additions as needed) Change 3042548 on 2016/07/08 by Ben.Marsh Core: Include PlatformCompilerSetup headers from Platform.h, as well as all the defaults for non-platform overriden defines. Allows including Platform.h to get all the basic types, defines and compile environment set up without having to include a large number of system headers or unnecessary functionality. Change 3044424 on 2016/07/11 by Ben.Marsh Merge fixes for QFE installer (CL 3044412) from 4.11 branch. Change 3044584 on 2016/07/11 by Ben.Marsh Core: Move FMath::FormatIntToHumanReadable() to UnrealMath.cpp, since it's a very large/expensive function to try to inline (and introduce a FString dependency for) Change 3044603 on 2016/07/11 by Matthew.Griffin Added PS4 and XboxOne to installed build as options that will always be disabled by default Standardised some of the agent names Removed logging from the Installed Build nodes as it takes a huge amount of time to write out the list for little reward Change 3044608 on 2016/07/11 by Ben.Marsh Core: Split out definition of SIMD VectorRegister class into its own header, so it's not forcibly included with UnrealMathUtility. Change 3044638 on 2016/07/11 by Matthew.Griffin Added internal build jobs for all games with compile, cook and package nodes. Added Documentation, Localization and NonUnity steps. Change 3045959 on 2016/07/12 by Matthew.Griffin Removed Aggregates from Installed Build script as they weren't used/necessary. Change 3045961 on 2016/07/12 by Matthew.Griffin Fixed various issues with Full Build Switch to build non-client/server configurations for some games Included PS4 and Xbox game targets in our internal monolithics aggregate Added Requirements for steps that need UHT, SCW etc. Added list of Packaged Game Nodes that we can build up as they're defined Added targets that were previously in the Internal Tools nodes Changed APIDocTool to build Release as that's what the solution uses and made use of the path created for it Removed -clean from the NonUnity targets as that doesn't actually build anything Changed mail notifications so that individual nodes are used for content modifiers, not every preceeding node too Change 3047068 on 2016/07/12 by Ben.Marsh BuildGraph: Reduce the amount of log output when compiling a C# project; use /verbosity:minimal and /nolog, as Visual Studio does. Change 3047298 on 2016/07/12 by Ben.Marsh EC: Add a workspace setting specifying that it should be synced incrementally. Change 3047626 on 2016/07/13 by Matthew.Griffin Added PackageToNetwork property, which will default to false, which determines whether to put staged builds on the P: drive or within the LocalBuilds folder of the root dir Also changed WorldExplorers to use P:/Builds/Friday instead of WEX, as no one is now clearing up the WEX folder regularly Change 3047762 on 2016/07/13 by Matthew.Griffin Added -nodebuginfo to all compile tasks with -precompile to reduce the size of libs produced Added plugin intermediates to list of files excluded from installed build [CL 3047809 by Ben Marsh in Main branch]
2016-07-13 09:16:28 -04:00
// Check if the application exists, including the PATH directories.
if (Options.HasFlag(ERunOptions.AppMustExist) && !FileExists(Options.HasFlag(ERunOptions.NoLoggingOfRunCommand) ? true : false, App))
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3047776) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3021930 on 2016/06/21 by Ben.Marsh BuildGraph: Better diagnostic message if the source directory for copies does not exist. Change 3022391 on 2016/06/21 by Ben.Marsh Rework copy task slightly so that all code paths result in files being tagged. Change 3026592 on 2016/06/24 by Ben.Marsh BuildGraph: Add a ForEach element, which will assign a local property to each of a semicolon separated list of values, and expand the elements within it. Added an example in Properties.xml. Change 3028708 on 2016/06/27 by Matthew.Griffin Converting Engine build process to BuildGraph script Added Tag Receipts task to retrieve list of build products/dependencies from *.target files. Changed Pak File task so that you can specify an existing response file, rather than creating one from the file list. Changed base task so that you can resolve filespec from a list of file patterns if you already have them separated, which was the case with wildcards in runtime dependencies. Added EngineMajorVersion, EngineMinorVersion and EnginePatchVersion as default properties available to BuildGraph Added FinalizeInstalledBuild command to write out InstalledBuild.txt file and config entries for installed platforms Included .exe.config and exe.mdb files to build products of CsCompile task if they exist Added TagReferences option to CsCompile so that you can get any external references projects have that need to be included when staging Added RunOptions parameter to SpawnTask, so that you can specify these for the exe you want to run Added missing Runtime Dependency for ICU on Mac Change 3030209 on 2016/06/28 by Matthew.Griffin Renamed EngineBuild.xml to InstalledEngineBuild.xml to make its purpose more clear. Removed reference to xcodeunlock.sh from Mac Installed build dependencies as the file itself has been deleted. Added myself to list of notifiers for failures in the UE4 Binary build. Change 3034068 on 2016/06/30 by Ben.Marsh BuildGraph: Change scoping rules for properties. Local properties can no longer shadow global properties with the same name (or vice versa), and local properties are always modified in the scope that they were first declared, rather than being re-declared in a narrower scope. Change 3034070 on 2016/06/30 by Ben.Marsh BuildGraph: Warn when referencing a property which is not defined, and add new attributes to the <Property> element to set the default value for a property if it's not already set, and validating that it's one of a list of valid values if it is (eg. <Property Name="WithWin64" Restrict="true;false" Default="false"/>). Change 3034110 on 2016/06/30 by Matthew.Griffin Updated Installed Build so that properties are consistently named Exceptions and that the right versions are used Added Filter and Exception properties for each target platform to add any files that can't be figured out via dependencies Added Default values for various properties used across Engine build scripts - IsReleaseBranch, IsPreflight, OutputDir, BuildLabel, WithWin64 etc. Tagged Generated Includes from each target so that they can be included in Installed Build Added additional Android architectures to Shipping build Changed SwarmCoordinator to build for Any CPU Removed Local HostPlatform property from DDC nodes Changed Installed Build target platforms to use Do blocks so that we only have to check With... property once Reordered stripping and signing process so that we use the Exception check in less places Change 3035499 on 2016/07/01 by Ben.Marsh BuildGraph: Remove the <Local> element, and just make all <Property> declarations scoped. Also add an error if a property is later declared in a parent scope, since the earlier assignment won't be visible to the later one. Change 3035520 on 2016/07/01 by Ben.Marsh BuildGraph: Add support for <, <=, >, >= operators in condition expressions. Change 3035666 on 2016/07/01 by Matthew.Griffin Added more parameters to Chunk and Label Build tasks Updated all remaining uses of Local to Property in Installed Build script Made sure Feature Packs use paths compatible with Mac and also changed the node to use a ForEach element Change 3037020 on 2016/07/04 by Matthew.Griffin Ensured that TempStorageFileList uses forward slashes as its path separators so that it's easily used on Mac and Windows Was causing the results of the Make Feature Packs node to be tagged using Windows style paths, meaning they would throw an error if you tried to copy them on Mac Change 3037052 on 2016/07/04 by Ben.Marsh Move FJsonValue::ErrorMessage into cpp file, since it depends on the log class defined in Json.h (which includes it). Change 3037283 on 2016/07/05 by Matthew.Griffin Removed EnterScope and LeaveScope from ReadGraphBody so that included files are treated as being in the same scope (allows use of properties across files) Change 3037547 on 2016/07/05 by Ben.Marsh UAT: Allow CommandUtils.Run() to check directories listed in the PATH environment variable for the executable before failing. Change 3037552 on 2016/07/05 by Ben.Marsh BuildGraph: Add an <Unzip> task, which extracts a zip file to an output directory. Change 3039109 on 2016/07/06 by Matthew.Griffin Moved tagging of UAT build products to the Installed Build step as it's the only thing that needs them Moved Strip and Sign filters to the filters file, made sure they're used for all operations and added stripping back to UE4Editor nodes Changed BuildPatchTool to be built in shipping mode Changed all C# projects to be compiled for AnyCPU as they ended up in different output folders otherwise Added all files referenced by C# projects to avoid having to filter them manually Changed filters to get files included for Linux closer to the old pattern Changed Build DDC command to ignore empty entries in FeaturePacks list, don't want to fail the process if a list begins with a ; Changed UE4Game to use shipping PhysX libs for Shipping builds Added glut32.dll as a Runtime Dependency for PhysX Added libsteam_api.so as a Runtime Dependency for Steamworks on Linux Change 3039676 on 2016/07/06 by Ben.Marsh Core: Move definitions for FORCEINLINE'd FMath functions into UnrealMathUtility. Prevents link errors if including one without the other. Change 3039681 on 2016/07/06 by Ben.Marsh Core: Move implementation of GetTypeHash(FTimespan) into CPP file, to remove implicit dependency on the inline implementation of GetTypeHash(int64) being included. Change 3039735 on 2016/07/06 by Ben.Marsh Core: Move USE_DELEGATE_TRYGETBOUNDFUNCTIONNAME into a separate header, so delegate headers can be included separately. Change 3039878 on 2016/07/06 by Ben.Marsh Core: Move FOperatorFunctionID out of TOperatorJumpTable to allow MSVC to compile it and catch errors before the template is instantiated. Change 3040156 on 2016/07/06 by Ben.Marsh Core: Move FDateTime::GetTypeHash() into cpp file to eliminate dependency on TypeHash.h being included before it. Change 3041009 on 2016/07/07 by Matthew.Griffin Changed UE4Game to only use shipping PhysX libraries on Windows Change 3041015 on 2016/07/07 by Leigh.Swift UBT: Support creating C# programs that will be included in the UE4.sln Programs list. To have your program listed, remove the sln file that may have been created for you, and add a file named "UE4CSharp.prog" next to your csproj file. Change 3041234 on 2016/07/07 by Matthew.Griffin Added building of Launcher Samples to BuildGraph system Added Command to Build Sample projects, which distills to temp directory, builds DDC if needed and then chunks/posts to MCP Change 3041244 on 2016/07/07 by Ben.Marsh Core: Change PlatformIncludes.h to include all the individual PlatformMemory.h, PlatformTime.h, etc... headers rather than including separate per-platform headers which include them all. Makes it much easier to optimize header file usage, and eliminates redundant typedefs in the individual Platform*.h files. Also fixes some headers that previously didn't compile. Change 3042518 on 2016/07/08 by Matthew.Griffin Added content modifiers to those notified about Sample failures Throw exception if RocketPromoteBuild tries to promote all samples Throw exceptions for missing parameters in BuildLauncherSample command, corrected EngineDir parameter name. Change 3042545 on 2016/07/08 by Ben.Marsh Core: Push/Pop defines for MAX_uint8, MAX_uint16, MAX_uint32, MAX_int32 around Windows.h includes, so we don't need to be careful about the order in which we include NumericLimits.h. Change 3042546 on 2016/07/08 by Ben.Marsh Core: Put standard CRT includes into their own header, so we can include it without taking all of PlatformIncludes.h (and make any platform-specific additions as needed) Change 3042548 on 2016/07/08 by Ben.Marsh Core: Include PlatformCompilerSetup headers from Platform.h, as well as all the defaults for non-platform overriden defines. Allows including Platform.h to get all the basic types, defines and compile environment set up without having to include a large number of system headers or unnecessary functionality. Change 3044424 on 2016/07/11 by Ben.Marsh Merge fixes for QFE installer (CL 3044412) from 4.11 branch. Change 3044584 on 2016/07/11 by Ben.Marsh Core: Move FMath::FormatIntToHumanReadable() to UnrealMath.cpp, since it's a very large/expensive function to try to inline (and introduce a FString dependency for) Change 3044603 on 2016/07/11 by Matthew.Griffin Added PS4 and XboxOne to installed build as options that will always be disabled by default Standardised some of the agent names Removed logging from the Installed Build nodes as it takes a huge amount of time to write out the list for little reward Change 3044608 on 2016/07/11 by Ben.Marsh Core: Split out definition of SIMD VectorRegister class into its own header, so it's not forcibly included with UnrealMathUtility. Change 3044638 on 2016/07/11 by Matthew.Griffin Added internal build jobs for all games with compile, cook and package nodes. Added Documentation, Localization and NonUnity steps. Change 3045959 on 2016/07/12 by Matthew.Griffin Removed Aggregates from Installed Build script as they weren't used/necessary. Change 3045961 on 2016/07/12 by Matthew.Griffin Fixed various issues with Full Build Switch to build non-client/server configurations for some games Included PS4 and Xbox game targets in our internal monolithics aggregate Added Requirements for steps that need UHT, SCW etc. Added list of Packaged Game Nodes that we can build up as they're defined Added targets that were previously in the Internal Tools nodes Changed APIDocTool to build Release as that's what the solution uses and made use of the path created for it Removed -clean from the NonUnity targets as that doesn't actually build anything Changed mail notifications so that individual nodes are used for content modifiers, not every preceeding node too Change 3047068 on 2016/07/12 by Ben.Marsh BuildGraph: Reduce the amount of log output when compiling a C# project; use /verbosity:minimal and /nolog, as Visual Studio does. Change 3047298 on 2016/07/12 by Ben.Marsh EC: Add a workspace setting specifying that it should be synced incrementally. Change 3047626 on 2016/07/13 by Matthew.Griffin Added PackageToNetwork property, which will default to false, which determines whether to put staged builds on the P: drive or within the LocalBuilds folder of the root dir Also changed WorldExplorers to use P:/Builds/Friday instead of WEX, as no one is now clearing up the WEX folder regularly Change 3047762 on 2016/07/13 by Matthew.Griffin Added -nodebuginfo to all compile tasks with -precompile to reduce the size of libs produced Added plugin intermediates to list of files excluded from installed build [CL 3047809 by Ben Marsh in Main branch]
2016-07-13 09:16:28 -04:00
bool bExistsInPath = false;
if(!App.Contains(Path.DirectorySeparatorChar) && !App.Contains(Path.AltDirectorySeparatorChar))
{
string[] PathDirectories = Environment.GetEnvironmentVariable("PATH").Split(Path.PathSeparator);
foreach(string PathDirectory in PathDirectories)
{
string TryApp = Path.Combine(PathDirectory, App);
if(FileExists(Options.HasFlag(ERunOptions.NoLoggingOfRunCommand), TryApp))
{
App = TryApp;
bExistsInPath = true;
break;
}
}
}
if(!bExistsInPath)
{
throw new AutomationException("BUILD FAILED: Couldn't find the executable to Run: {0}", App);
}
}
var StartTime = DateTime.UtcNow;
UnrealBuildTool.LogEventType SpewVerbosity = Options.HasFlag(ERunOptions.SpewIsVerbose) ? UnrealBuildTool.LogEventType.Verbose : UnrealBuildTool.LogEventType.Console;
if (!Options.HasFlag(ERunOptions.NoLoggingOfRunCommand))
{
LogWithVerbosity(SpewVerbosity,"Run: " + App + " " + (String.IsNullOrEmpty(CommandLine) ? "" : CommandLine));
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
IProcessResult Result = ProcessManager.CreateProcess(App, Options.HasFlag(ERunOptions.AllowSpew), LogName, Env, SpewVerbosity:SpewVerbosity, SpewFilterCallback: SpewFilterCallback);
Process Proc = Result.ProcessObject;
bool bRedirectStdOut = (Options & ERunOptions.NoStdOutRedirect) != ERunOptions.NoStdOutRedirect;
Proc.StartInfo.FileName = App;
Proc.StartInfo.Arguments = String.IsNullOrEmpty(CommandLine) ? "" : CommandLine;
Proc.StartInfo.UseShellExecute = false;
if (bRedirectStdOut)
{
Proc.StartInfo.RedirectStandardOutput = true;
Proc.StartInfo.RedirectStandardError = true;
Proc.OutputDataReceived += Result.StdOut;
Proc.ErrorDataReceived += Result.StdErr;
}
Proc.StartInfo.RedirectStandardInput = Input != null;
Proc.StartInfo.CreateNoWindow = true;
if ((Options & ERunOptions.UTF8Output) == ERunOptions.UTF8Output)
{
Proc.StartInfo.StandardOutputEncoding = new System.Text.UTF8Encoding(false, false);
}
Proc.Start();
if (bRedirectStdOut)
{
Proc.BeginOutputReadLine();
Proc.BeginErrorReadLine();
}
if (String.IsNullOrEmpty(Input) == false)
{
Proc.StandardInput.WriteLine(Input);
Proc.StandardInput.Close();
}
if (!Options.HasFlag(ERunOptions.NoWaitForExit))
{
Result.WaitForExit();
var BuildDuration = (DateTime.UtcNow - StartTime).TotalMilliseconds;
AddRunTime(App, (int)(BuildDuration));
Result.ExitCode = Proc.ExitCode;
Summary: running UAT from VS is simpler and faster. UEB-261 - Ensure that compiling AutomationTool in VS will compile all other Automation Projects * Just set AutomationTool as your startup project and pass the command to execute. * VS will build the script modules at build time, instead of every time at runtime. * To make this happen, "UBT.exe -ProjectFiles" now generates a companion AutomationTool.csproj.References that make AutomationTool depend on all Automation modules. * AutomationTool.exe defaults to not building script modules at runtime. Pass -compile if you want to dynamically build them. * Without the .references file, AutomationTool will only build itself and you will need to pass -compile. * RunUAT.bat still works that same, defaulting to runtime compilation and supporting -nocompile flag. It then passes -compile (or nothing) to AutomationTool. Other * All Automation projects target .Net 4.5. Some already were and had hard dependencies on them (Rocket and SyncGithub -> Octokit). Now that AutomationTool directly depends on them, everything had to use .Net 4.5. * Decoupled logic for -NoCompile and -NoCompileEditor. The flags are still confusing, but -NoCompile is no longer linked to -NoCompileEditor. * Had to leave in stub support in UAT for -NoCompile else RunUAT.bat passes it along and UAT complains that it doesn't understand it. * Added a CommandUtils.Run option to support run command, but still output the run duration. * Reduced the verbosity when UAT.proj is run from dozens of lines per module to a single Module -> Output line. It was looking like there were problems, but it was just msbuild spew. #codereview:ben.marsh [CL 2615060 by Wes Hunt in Main branch]
2015-07-09 10:15:37 -04:00
if (!Options.HasFlag(ERunOptions.NoLoggingOfRunCommand) || Options.HasFlag(ERunOptions.LoggingOfRunDuration))
{
LogWithVerbosity(SpewVerbosity,"Run: Took {0}s to run {1}, ExitCode={2}", BuildDuration / 1000, Path.GetFileName(App), Result.ExitCode);
}
Result.OnProcessExited();
Result.DisposeProcess();
}
else
{
Result.ExitCode = -1;
}
return Result;
}
/// <summary>
/// Gets a logfile name for a RunAndLog call
/// </summary>
/// <param name="Env">Environment to use.</param>
/// <param name="App">Executable to run</param>
/// <param name="LogName">Name of the logfile ( if null, executable name is used )</param>
/// <returns>The log file name.</returns>
public static string GetRunAndLogOnlyName(CommandEnvironment Env, string App, string LogName = null)
{
if (LogName == null)
{
LogName = Path.GetFileNameWithoutExtension(App);
}
return LogUtils.GetUniqueLogName(CombinePaths(Env.LogFolder, LogName));
}
/// <summary>
/// Runs external program and writes the output to a logfile.
/// </summary>
/// <param name="Env">Environment to use.</param>
/// <param name="App">Executable to run</param>
/// <param name="CommandLine">Commandline to pass on to the executable</param>
/// <param name="LogName">Name of the logfile ( if null, executable name is used )</param>
/// <param name="Input">Optional Input for the program (will be provided as stdin)</param>
/// <param name="Options">Defines the options how to run. See ERunOptions.</param>
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
/// <param name="FilterCallback">Callback to filter log spew before output.</param>
public static void RunAndLog(CommandEnvironment Env, string App, string CommandLine, string LogName = null, int MaxSuccessCode = 0, string Input = null, ERunOptions Options = ERunOptions.Default, Dictionary<string, string> EnvVars = null, ProcessResult.SpewFilterCallbackType SpewFilterCallback = null)
{
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
RunAndLog(App, CommandLine, GetRunAndLogOnlyName(Env, App, LogName), MaxSuccessCode, Input, Options, EnvVars, SpewFilterCallback);
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
/// <summary>
/// Exception class for child process commands failing
/// </summary>
public class CommandFailedException : AutomationException
{
public CommandFailedException(string Message) : base(Message)
{
}
public CommandFailedException(ExitCode ExitCode, string Message) : base(ExitCode, Message)
{
}
}
/// <summary>
/// Runs external program and writes the output to a logfile.
/// </summary>
/// <param name="App">Executable to run</param>
/// <param name="CommandLine">Commandline to pass on to the executable</param>
/// <param name="Logfile">Full path to the logfile, where the application output should be written to.</param>
/// <param name="Input">Optional Input for the program (will be provided as stdin)</param>
/// <param name="Options">Defines the options how to run. See ERunOptions.</param>
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
/// <param name="FilterCallback">Callback to filter log spew before output.</param>
public static string RunAndLog(string App, string CommandLine, string Logfile = null, int MaxSuccessCode = 0, string Input = null, ERunOptions Options = ERunOptions.Default, Dictionary<string, string> EnvVars = null, ProcessResult.SpewFilterCallbackType SpewFilterCallback = null)
{
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
IProcessResult Result = Run(App, CommandLine, Input, Options, EnvVars, SpewFilterCallback);
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
if (!String.IsNullOrEmpty(Result.Output) && Logfile != null)
{
WriteToFile(Logfile, Result.Output);
}
else if (Logfile == null)
{
Logfile = "[No logfile specified]";
}
else
{
Logfile = "[None!, no output produced]";
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
if (Result.ExitCode > MaxSuccessCode || Result.ExitCode < 0)
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
throw new CommandFailedException((ExitCode)Result.ExitCode, String.Format("Command failed (Result:{3}): {0} {1}. See logfile for details: '{2}' ",
App, CommandLine, Path.GetFileName(Logfile), Result.ExitCode));
}
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
if (!String.IsNullOrEmpty(Result.Output))
{
return Result.Output;
}
return "";
}
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
/// <summary>
/// Runs external program and writes the output to a logfile.
/// </summary>
/// <param name="App">Executable to run</param>
/// <param name="CommandLine">Commandline to pass on to the executable</param>
/// <param name="Logfile">Full path to the logfile, where the application output should be written to.</param>
/// <param name="FilterCallback">Callback to filter log spew before output.</param>
/// <returns>Whether the program executed successfully or not.</returns>
public static string RunAndLog(string App, string CommandLine, out int SuccessCode, string Logfile = null, Dictionary<string, string> EnvVars = null, ProcessResult.SpewFilterCallbackType SpewFilterCallback = null)
{
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
IProcessResult Result = Run(App, CommandLine, Env: EnvVars, SpewFilterCallback: SpewFilterCallback);
SuccessCode = Result.ExitCode;
if (Result.Output.Length > 0 && Logfile != null)
{
WriteToFile(Logfile, Result.Output);
}
if (!String.IsNullOrEmpty(Result.Output))
{
return Result.Output;
}
return "";
}
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
/// <summary>
/// Runs external program and writes the output to a logfile.
/// </summary>
/// <param name="Env">Environment to use.</param>
/// <param name="App">Executable to run</param>
/// <param name="CommandLine">Commandline to pass on to the executable</param>
/// <param name="LogName">Name of the logfile ( if null, executable name is used )</param>
/// <param name="FilterCallback">Callback to filter log spew before output.</param>
/// <returns>Whether the program executed successfully or not.</returns>
public static string RunAndLog(CommandEnvironment Env, string App, string CommandLine, out int SuccessCode, string LogName = null, Dictionary<string, string> EnvVars = null, ProcessResult.SpewFilterCallbackType SpewFilterCallback = null)
{
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622) #rb none #lockdown nick.penwarden Change 3046743 on 2016/07/12 by Mark.Satterthwaite Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance. #rb ben.woodhouse #jira UE-33028 Change 3046820 on 2016/07/12 by Peter.Sauerbrei PR#2594 - fix for analog input, courtesy of CleanCut #rb daniel.lamb Change 3046826 on 2016/07/12 by Peter.Sauerbrei PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet #rb daniel.lamb Change 3046835 on 2016/07/12 by Peter.Sauerbrei PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser #rb daniel.lamb Change 3046838 on 2016/07/12 by Peter.Sauerbrei PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet #rb daniel.lamb Change 3046854 on 2016/07/12 by Peter.Sauerbrei PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation #rb daniel.lamb Change 3046858 on 2016/07/12 by Peter.Sauerbrei PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston #rb daniel.lamb Change 3046862 on 2016/07/12 by Peter.Sauerbrei fix for type in tooltip #jira UE-27123 #rb daniel.lamb Change 3046919 on 2016/07/12 by Daniel.Lamb Stop texture derived data from loading it's bulk data when the linker is destoryed. #rb Peter.Sauerbrei Change 3046922 on 2016/07/12 by Daniel.Lamb Updated the default cooker gc settings so that it can have more resources. Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker. Changed the way reentry data is stored in the cooker. Cook only editor content flag in project settings now works again. #rb Josh.Adams #test cook Paragon Change 3046924 on 2016/07/12 by Daniel.Lamb Added support for encrypting ini files. Added new project setting in the editor and setting in ufe. Also added ForDistribution flag to ufe. #rb Peter.Sauerbrei Change 3046936 on 2016/07/12 by Mark.Satterthwaite Fix compute shader TLV clear for async. compute on Mac. #rb chris.babcock Change 3047207 on 2016/07/12 by Mark.Satterthwaite It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free. #rb chris.babcock Change 3047208 on 2016/07/12 by Mark.Satterthwaite When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used. #rb chris.babcock Change 3047209 on 2016/07/12 by Mark.Satterthwaite Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap. #rb chris.babcock Change 3047641 on 2016/07/13 by Lee.Clark PS4 - Improve SDK Version checking messages #rb none Change 3047663 on 2016/07/13 by Keith.Judge Orion - Various minor PS4-only things activated for XB1. #rb none Change 3047664 on 2016/07/13 by Keith.Judge XB1 - Fix analysis warning of shadowing a member variable. #rb none Change 3047784 on 2016/07/13 by Keith.Judge Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity. #rb None Change 3047834 on 2016/07/13 by Keith.Judge XB1 - Release underlying memory of 3D textures when destroying them. Oops! #rb none Change 3048190 on 2016/07/13 by Josh.Adams - Now leave around the ASTC encoder input file on error, for reproing outside of the engine #rb none Change 3048256 on 2016/07/13 by Daniel.Lamb Removed warning about missing file when using cook on the fly. #rb Peter.Sauerbrei Change 3048409 on 2016/07/13 by Daniel.Lamb Improved output for saving packages in unattended builds. #rb Jonathan.Fitzpatrick Change 3048763 on 2016/07/13 by Peter.Sauerbrei switch AppleTV to tvOS in the editor #jira UE-30532 #rb michael.trepka Change 3049608 on 2016/07/14 by Keith.Judge XB1 - Optimize vertex/index buffer dynamic memory usage. #rb none Change 3049609 on 2016/07/14 by Keith.Judge Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls. #rb None Change 3049610 on 2016/07/14 by Keith.Judge Xbox One - Reduce latency of deferred deletions to two frames. #rb None Change 3049730 on 2016/07/14 by Keith.Judge Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs. #rb None Change 3049732 on 2016/07/14 by Keith.Judge Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread. Also remove optimization pragmas accidentally left in. #rb none Change 3049791 on 2016/07/14 by Keith.Judge Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash. #rb None Change 3049968 on 2016/07/14 by Jeremiah.Waldron Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues. Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar #jira UE-24954, UE-27685, UE-20067 #rb chris.babcock Change 3050428 on 2016/07/14 by Jeremiah.Waldron Fix for application window being terminated if an AlertDialog is showing onPause Repro'd and fix tested on Samsung Galaxy Note 3 #android #jira UE-32998 #rb chris.babcock Change 3050642 on 2016/07/14 by Peter.Sauerbrei fix for invalid generated plist #rb daniel.lamb Change 3050718 on 2016/07/14 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3051327 on 2016/07/15 by Keith.Judge Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next. #rb None Change 3051346 on 2016/07/15 by Keith.Judge Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture. #rb None. Change 3051530 on 2016/07/15 by Nick.Shin github: minor typo fixes #jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging #rb none Change 3053631 on 2016/07/18 by Mark.Satterthwaite Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger. #codereview daniel.wright #rb josh.adams #jira UE-33350 Change 3053816 on 2016/07/18 by Mark.Satterthwaite Fixes for iOS Metal: - Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available. - Stencil texture views are only required on Mac. - State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA. - Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds. #rb michael.trepka Change 3053818 on 2016/07/18 by Mark.Satterthwaite Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround. #rb michael.trepka Change 3054426 on 2016/07/18 by Dmitry.Rekman Fix case-sensitive compilation problems (UE-33420). #codereview Olaf.Piesche #rb none Change 3054434 on 2016/07/18 by Mark.Satterthwaite Silence delete-non-virtual-dtor warnings on iOS as we do on Mac. #rb none Change 3054719 on 2016/07/18 by Jeremiah.Waldron Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing. Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock #jira UE-32998 #android #rb chris.babcock Change 3054742 on 2016/07/18 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3054850 on 2016/07/18 by Dmitry.Rekman Replace Fatal->Error so messagebox can be shown (UE-22818). - Incorporates PR #1714 by zaps166. #rb none #tests Tried to create an invalid context, made sure messagebox is popping up. Change 3055317 on 2016/07/19 by Lee.Clark PS4 - Fix render target memory allocation #jira UE-32988 #rb Marcus.Wassmer Change 3055682 on 2016/07/19 by Brent.Pease + Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error #rb michael.trepka Change 3056065 on 2016/07/19 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3056256 on 2016/07/19 by Chris.Babcock Add optional log spew filtering callback to Run #jira UE-33468 #ue4 #android #rb Ben.Marsh #codereview Jack.Porter Change 3056727 on 2016/07/19 by Chris.Babcock Added addition scope (plus.login) to Google Play Games builder #jira UE-33480 #ue4 #android #rb none #codereview ryan.gerleve Change 3056811 on 2016/07/19 by Jeff.Campeau Xbox One now accepts client configs. #rb none Change 3057152 on 2016/07/20 by Dmitry.Rekman Linux: use libc++ instead of libstdc++. - Needed to solve problems with third-party C++ libraries (e.g. WebRTC). - Bundled libc++ 3.8.1 (TPS cleared). - Turned off ICU compilation (needs recompile against libc++). - Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix. #rb none #tests Built and ran a number of Linux targets. Change 3057362 on 2016/07/20 by Keith.Judge XB1 - Fix busted merge from yesterday #rb None Change 3057647 on 2016/07/20 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none Change 3057655 on 2016/07/20 by Daniel.Lamb Added test cooking flag. #rb Peter.Sauerbrei #test Cook paragon. Change 3058779 on 2016/07/20 by Dmitry.Rekman Fix crash on cooker exit (UE-33583). - Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it. #rb Josh.Adams #codereview Josh.Adams, Jamie.Dale #tests Compiled and ran Linux editor. #lockdown Josh.Adams Change 3058835 on 2016/07/20 by Chris.Babcock Enable GooglePlay and GameCenter plugins by default #jira UE-33605 #ue4 #android #ios #rb mark.satterthwaite #codereview Peter.Sauerbrei #lockdown Josh.Adams Change 3058847 on 2016/07/20 by Chris.Babcock Fix Android device rule for AlcatelPixi3 #jira UE-33606 #ue4 #android #rb none #codereview Jeremiah.Walron #lockdown Josh.Adams Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) #rb none #lockdown nick.penwarden Change 3060139 on 2016/07/21 by Chris.Babcock Fix proguard entry for Android mediaplayer tracks #jira UE-33644 #ue4 #android #rb Josh.Adams #lockdown Josh.Adams Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 #rb chris.babcock #lockdown josh.adams Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission #rb none #lockdown josh.adams Change 3061436 on 2016/07/22 by Lee.Clark PS4 - Back out render target mem allocation changes and put in a temp hack #jira UE-33657 #codereview Marcus.Wassmer #lockdown josh.adams #rb none [CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
return RunAndLog(App, CommandLine, out SuccessCode, GetRunAndLogOnlyName(Env, App, LogName), EnvVars, SpewFilterCallback);
}
/// <summary>
/// Runs UAT recursively
/// </summary>
/// <param name="Env">Environment to use.</param>
/// <param name="CommandLine">Commandline to pass on to the executable</param>
public static string RunUAT(CommandEnvironment Env, string CommandLine)
{
Copying //UE4/Dev-Build to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2864843 on 2016/02/12 by Ben.Marsh Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons. Change 2865161 on 2016/02/12 by Ben.Marsh Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build. Change 2865643 on 2016/02/12 by Ben.Marsh Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution. Change 2874408 on 2016/02/19 by Ben.Marsh Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present. Change 2879572 on 2016/02/24 by Ben.Marsh Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in. Change 2883216 on 2016/02/26 by Ben.Marsh Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields. Change 2883755 on 2016/02/26 by Ben.Marsh Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line. Change 2886223 on 2016/02/29 by Ben.Marsh Ignore SignTool errors - we can recover from them. Change 2887414 on 2016/03/01 by Ben.Marsh Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac. Change 2888235 on 2016/03/01 by Ben.Marsh Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects. Change 2889602 on 2016/03/02 by Ben.Marsh Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries. Change 2889610 on 2016/03/02 by Ben.Marsh Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked. Change 2891866 on 2016/03/03 by Matthew.Griffin Removed Rocket specific batch files and made sure installed build won't try to include them Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead Change 2893349 on 2016/03/03 by Ben.Marsh Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub. Change 2894703 on 2016/03/04 by Ben.Marsh Include *.usf when looking for the last code changelist. Also update version to 1.68. Change 2897991 on 2016/03/07 by Ben.Marsh Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69. Change 2898005 on 2016/03/07 by Ben.Marsh Minor changes to support BuildGraph: * UE4Build now has a static function that can update version files. * Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils. * FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...". Change 2898095 on 2016/03/07 by Ben.Marsh UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts. Change 2898248 on 2016/03/07 by Ben.Marsh UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this. Change 2898615 on 2016/03/08 by Matthew.Griffin Removed last uses of RunningRocket function All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances. Change 2898681 on 2016/03/08 by Matthew.Griffin Removed Automation.RunningRocket function as there are no more uses Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc. #lockdown Nick.Penwarden [CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
// We want to redirect the output from recursive UAT calls into our normal log folder, but prefix everything with a unique identifier. To do so, we set the EnvVarNames.LogFolder environment
// variable to a subfolder of it, then copy its contents into the main folder with a prefix after it's finished. Start by finding a base name we can use to identify the output of this run.
string BaseLogSubdir = "Recur";
if (!String.IsNullOrEmpty(CommandLine))
{
int Space = CommandLine.IndexOf(" ");
if (Space > 0)
{
BaseLogSubdir = BaseLogSubdir + "_" + CommandLine.Substring(0, Space);
}
else if (CommandLine.Contains("-profile"))
{
string PathToProfile = CommandLine.Substring(CommandLine.IndexOf('=') + 1);
BaseLogSubdir = BaseLogSubdir + "_" + (Path.GetFileNameWithoutExtension(PathToProfile));
}
else
{
BaseLogSubdir = BaseLogSubdir + "_" + CommandLine;
}
}
BaseLogSubdir = BaseLogSubdir.Trim();
Copying //UE4/Dev-Build to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2864843 on 2016/02/12 by Ben.Marsh Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons. Change 2865161 on 2016/02/12 by Ben.Marsh Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build. Change 2865643 on 2016/02/12 by Ben.Marsh Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution. Change 2874408 on 2016/02/19 by Ben.Marsh Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present. Change 2879572 on 2016/02/24 by Ben.Marsh Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in. Change 2883216 on 2016/02/26 by Ben.Marsh Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields. Change 2883755 on 2016/02/26 by Ben.Marsh Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line. Change 2886223 on 2016/02/29 by Ben.Marsh Ignore SignTool errors - we can recover from them. Change 2887414 on 2016/03/01 by Ben.Marsh Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac. Change 2888235 on 2016/03/01 by Ben.Marsh Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects. Change 2889602 on 2016/03/02 by Ben.Marsh Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries. Change 2889610 on 2016/03/02 by Ben.Marsh Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked. Change 2891866 on 2016/03/03 by Matthew.Griffin Removed Rocket specific batch files and made sure installed build won't try to include them Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead Change 2893349 on 2016/03/03 by Ben.Marsh Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub. Change 2894703 on 2016/03/04 by Ben.Marsh Include *.usf when looking for the last code changelist. Also update version to 1.68. Change 2897991 on 2016/03/07 by Ben.Marsh Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69. Change 2898005 on 2016/03/07 by Ben.Marsh Minor changes to support BuildGraph: * UE4Build now has a static function that can update version files. * Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils. * FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...". Change 2898095 on 2016/03/07 by Ben.Marsh UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts. Change 2898248 on 2016/03/07 by Ben.Marsh UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this. Change 2898615 on 2016/03/08 by Matthew.Griffin Removed last uses of RunningRocket function All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances. Change 2898681 on 2016/03/08 by Matthew.Griffin Removed Automation.RunningRocket function as there are no more uses Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc. #lockdown Nick.Penwarden [CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
// Check if there are already log files which start with this prefix, and try to uniquify it if until there aren't.
int Index = 0;
string DirOnlyName = BaseLogSubdir;
string LogSubdir = CombinePaths(CmdEnv.LogFolder, DirOnlyName, "");
while (true)
{
var ExistingFiles = FindFiles(DirOnlyName + "*", false, CmdEnv.LogFolder);
if (ExistingFiles.Length == 0)
{
break;
}
Index++;
if (Index == 1000)
{
throw new AutomationException("Couldn't seem to create a log subdir {0}", LogSubdir);
}
DirOnlyName = String.Format("{0}_{1}_", BaseLogSubdir, Index);
LogSubdir = CombinePaths(CmdEnv.LogFolder, DirOnlyName, "");
}
Copying //UE4/Dev-Build to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2864843 on 2016/02/12 by Ben.Marsh Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons. Change 2865161 on 2016/02/12 by Ben.Marsh Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build. Change 2865643 on 2016/02/12 by Ben.Marsh Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution. Change 2874408 on 2016/02/19 by Ben.Marsh Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present. Change 2879572 on 2016/02/24 by Ben.Marsh Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in. Change 2883216 on 2016/02/26 by Ben.Marsh Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields. Change 2883755 on 2016/02/26 by Ben.Marsh Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line. Change 2886223 on 2016/02/29 by Ben.Marsh Ignore SignTool errors - we can recover from them. Change 2887414 on 2016/03/01 by Ben.Marsh Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac. Change 2888235 on 2016/03/01 by Ben.Marsh Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects. Change 2889602 on 2016/03/02 by Ben.Marsh Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries. Change 2889610 on 2016/03/02 by Ben.Marsh Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked. Change 2891866 on 2016/03/03 by Matthew.Griffin Removed Rocket specific batch files and made sure installed build won't try to include them Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead Change 2893349 on 2016/03/03 by Ben.Marsh Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub. Change 2894703 on 2016/03/04 by Ben.Marsh Include *.usf when looking for the last code changelist. Also update version to 1.68. Change 2897991 on 2016/03/07 by Ben.Marsh Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69. Change 2898005 on 2016/03/07 by Ben.Marsh Minor changes to support BuildGraph: * UE4Build now has a static function that can update version files. * Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils. * FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...". Change 2898095 on 2016/03/07 by Ben.Marsh UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts. Change 2898248 on 2016/03/07 by Ben.Marsh UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this. Change 2898615 on 2016/03/08 by Matthew.Griffin Removed last uses of RunningRocket function All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances. Change 2898681 on 2016/03/08 by Matthew.Griffin Removed Automation.RunningRocket function as there are no more uses Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc. #lockdown Nick.Penwarden [CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
// Get the stdout log file for this run, and create the subdirectory for all the other log output
string LogFile = CombinePaths(CmdEnv.LogFolder, DirOnlyName + ".log");
LogVerbose("Recursive UAT Run, in log folder {0}, main log file {1}", LogSubdir, LogFile);
CreateDirectory(LogSubdir);
Copying //UE4/Dev-Build to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2864843 on 2016/02/12 by Ben.Marsh Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons. Change 2865161 on 2016/02/12 by Ben.Marsh Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build. Change 2865643 on 2016/02/12 by Ben.Marsh Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution. Change 2874408 on 2016/02/19 by Ben.Marsh Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present. Change 2879572 on 2016/02/24 by Ben.Marsh Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in. Change 2883216 on 2016/02/26 by Ben.Marsh Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields. Change 2883755 on 2016/02/26 by Ben.Marsh Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line. Change 2886223 on 2016/02/29 by Ben.Marsh Ignore SignTool errors - we can recover from them. Change 2887414 on 2016/03/01 by Ben.Marsh Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac. Change 2888235 on 2016/03/01 by Ben.Marsh Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects. Change 2889602 on 2016/03/02 by Ben.Marsh Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries. Change 2889610 on 2016/03/02 by Ben.Marsh Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked. Change 2891866 on 2016/03/03 by Matthew.Griffin Removed Rocket specific batch files and made sure installed build won't try to include them Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead Change 2893349 on 2016/03/03 by Ben.Marsh Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub. Change 2894703 on 2016/03/04 by Ben.Marsh Include *.usf when looking for the last code changelist. Also update version to 1.68. Change 2897991 on 2016/03/07 by Ben.Marsh Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69. Change 2898005 on 2016/03/07 by Ben.Marsh Minor changes to support BuildGraph: * UE4Build now has a static function that can update version files. * Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils. * FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...". Change 2898095 on 2016/03/07 by Ben.Marsh UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts. Change 2898248 on 2016/03/07 by Ben.Marsh UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this. Change 2898615 on 2016/03/08 by Matthew.Griffin Removed last uses of RunningRocket function All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances. Change 2898681 on 2016/03/08 by Matthew.Griffin Removed Automation.RunningRocket function as there are no more uses Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc. #lockdown Nick.Penwarden [CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
// Run UAT with the log folder redirected through the environment
string App = CmdEnv.UATExe;
Log("Running {0} {1}", App, CommandLine);
var OSEnv = new Dictionary<string, string>();
OSEnv.Add(AutomationTool.EnvVarNames.LogFolder, LogSubdir);
OSEnv.Add("uebp_UATMutexNoWait", "1");
if (!IsBuildMachine)
{
OSEnv.Add(AutomationTool.EnvVarNames.LocalRoot, ""); // if we don't clear this out, it will think it is a build machine; it will rederive everything
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
IProcessResult Result = Run(App, CommandLine, null, ERunOptions.Default, OSEnv);
if (Result.Output.Length > 0)
{
WriteToFile(LogFile, Result.Output);
}
else
{
WriteToFile(LogFile, "[None!, no output produced]");
}
Copying //UE4/Dev-Build to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2864843 on 2016/02/12 by Ben.Marsh Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons. Change 2865161 on 2016/02/12 by Ben.Marsh Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build. Change 2865643 on 2016/02/12 by Ben.Marsh Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution. Change 2874408 on 2016/02/19 by Ben.Marsh Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present. Change 2879572 on 2016/02/24 by Ben.Marsh Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in. Change 2883216 on 2016/02/26 by Ben.Marsh Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields. Change 2883755 on 2016/02/26 by Ben.Marsh Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line. Change 2886223 on 2016/02/29 by Ben.Marsh Ignore SignTool errors - we can recover from them. Change 2887414 on 2016/03/01 by Ben.Marsh Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac. Change 2888235 on 2016/03/01 by Ben.Marsh Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects. Change 2889602 on 2016/03/02 by Ben.Marsh Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries. Change 2889610 on 2016/03/02 by Ben.Marsh Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked. Change 2891866 on 2016/03/03 by Matthew.Griffin Removed Rocket specific batch files and made sure installed build won't try to include them Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead Change 2893349 on 2016/03/03 by Ben.Marsh Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub. Change 2894703 on 2016/03/04 by Ben.Marsh Include *.usf when looking for the last code changelist. Also update version to 1.68. Change 2897991 on 2016/03/07 by Ben.Marsh Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69. Change 2898005 on 2016/03/07 by Ben.Marsh Minor changes to support BuildGraph: * UE4Build now has a static function that can update version files. * Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils. * FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...". Change 2898095 on 2016/03/07 by Ben.Marsh UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts. Change 2898248 on 2016/03/07 by Ben.Marsh UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this. Change 2898615 on 2016/03/08 by Matthew.Griffin Removed last uses of RunningRocket function All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances. Change 2898681 on 2016/03/08 by Matthew.Griffin Removed Automation.RunningRocket function as there are no more uses Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc. #lockdown Nick.Penwarden [CL 2898813 by Matthew Griffin in Main branch]
2016-03-08 09:00:48 -05:00
// Copy everything into the main log folder, using the prefix we decided on earlier.
LogVerbose("Flattening log folder {0}", LogSubdir);
var Files = FindFiles("*", true, LogSubdir);
string MyLogFolder = CombinePaths(CmdEnv.LogFolder, "");
foreach (var ThisFile in Files)
{
if (!ThisFile.StartsWith(MyLogFolder, StringComparison.InvariantCultureIgnoreCase))
{
throw new AutomationException("Can't rebase {0} because it doesn't start with {1}", ThisFile, MyLogFolder);
}
string NewFilename = ThisFile.Substring(MyLogFolder.Length).Replace("/", "_").Replace("\\", "_");
NewFilename = CombinePaths(CmdEnv.LogFolder, NewFilename);
if (FileExists_NoExceptions(NewFilename))
{
throw new AutomationException("Destination log file already exists? {0}", NewFilename);
}
CopyFile(ThisFile, NewFilename);
if (!FileExists_NoExceptions(NewFilename))
{
throw new AutomationException("Destination log file could not be copied {0}", NewFilename);
}
DeleteFile_NoExceptions(ThisFile);
}
DeleteDirectory_NoExceptions(LogSubdir);
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
if (Result.ExitCode != 0)
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2982165) ========================== MAJOR FEATURES + CHANGES ========================== Change 2963214 on 2016/05/02 by Ben.Marsh BuildGraph: Allow specifying optional dependencies for a node, indicating that the build products from an upstream node are desired, but should not block the node from running. Change 2972295 on 2016/05/10 by Ben.Marsh EC: Remove spacing in notification emails to reduce size, and help prevent gmail from truncating messages. Also allow mailing notification emails when doing a dry run, and reading stream settings from another branch. Change 2976096 on 2016/05/12 by Ben.Marsh EC: Store properties for the last succeeded builds, including the list of users that were notified about it. Change 2976390 on 2016/05/12 by Ben.Marsh EC: Add a separate line to the notification email summary with a link to edit settings, and pass the missing ec-update parameter to set the last build status. Change 2976441 on 2016/05/12 by Ben.Marsh UAT: Remove log file copy on builders after UAT failure. This is done outside the EC step that originally did it now. Change 2976456 on 2016/05/12 by Ben.Marsh BuildGraph: Catch exceptions thrown by child processes failing when building or running UAT commands, and return failure normally without dumping callstacks. Change 2978440 on 2016/05/16 by Ben.Marsh EC: Age out entries from the "latest builds" list after a week. There's no obvious way to tell if a node has been removed, but a periodic cleanup should keep the build notifications list in check. Change 2979446 on 2016/05/16 by Ben.Marsh Rename ambiguous headers which exist with the same name in different paths. Change 2979839 on 2016/05/16 by Ben.Marsh UE4: Renaming HTML5 SocketSubsystem files to eliminate ambiguities. Change 2979852 on 2016/05/16 by Ben.Marsh UE4: Use explicit relative paths for public headers in PortalServiceInterfaces modules which do not have unique names Change 2980113 on 2016/05/17 by Ben.Marsh UE4: Fix include paths for HTML5 SocketSubsystem files. Change 2980117 on 2016/05/17 by Ben.Marsh UE4: Remove reference to private PCH from Oculus common code. Change 2980186 on 2016/05/17 by Ben.Marsh UAT: Add a -StopOnErrors parameter to UE4Build, which is propagated to XGE. Change 2980879 on 2016/05/17 by Ben.Marsh UE4: Fixup Lightmass to use LightmassPCH.h rather than stdafx.h Change 2981117 on 2016/05/17 by Ben.Marsh Portal: Use a unique name for the Portal PCH, rather than just calling it PrivatePCH.h Change 2981839 on 2016/05/18 by Ben.Marsh Replace ambiguous D3D11/D3D12 includes with direct includes for the current platform. #lockdown Nick.Penwarden [CL 2982178 by Ben Marsh in Main branch]
2016-05-18 13:26:45 -04:00
throw new CommandFailedException(String.Format("Recursive UAT Command failed (Result:{3}): {0} {1}. See logfile for details: '{2}' ",
App, CommandLine, Path.GetFileName(LogFile), Result.ExitCode));
}
return LogFile;
}
protected delegate bool ProcessLog(string LogText);
/// <summary>
/// Keeps reading a log file as it's being written to by another process until it exits.
/// </summary>
/// <param name="LogFilename">Name of the log file.</param>
/// <param name="LogProcess">Process that writes to the log file.</param>
/// <param name="OnLogRead">Callback used to process the recently read log contents.</param>
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
protected static void LogFileReaderProcess(string LogFilename, IProcessResult LogProcess, ProcessLog OnLogRead = null)
{
while (!FileExists(LogFilename) && !LogProcess.HasExited)
{
Log("Waiting for logging process to start...");
Thread.Sleep(2000);
}
Thread.Sleep(1000);
using (FileStream ProcessLog = File.Open(LogFilename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
StreamReader LogReader = new StreamReader(ProcessLog);
bool bKeepReading = true;
// Read until the process has exited.
while (!LogProcess.HasExited && bKeepReading)
{
while (!LogReader.EndOfStream && bKeepReading)
{
string Output = LogReader.ReadToEnd();
if (Output != null && OnLogRead != null)
{
bKeepReading = OnLogRead(Output);
}
}
while (LogReader.EndOfStream && !LogProcess.HasExited && bKeepReading)
{
Thread.Sleep(250);
// Tick the callback so that it can respond to external events
if (OnLogRead != null)
{
bKeepReading = OnLogRead(null);
}
}
}
}
}
}
}