2016-01-07 08:17:16 -05:00
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
# include "IOSPlatformEditorPrivatePCH.h"
2015-01-30 10:53:52 -05:00
# include "SWidgetSwitcher.h"
2015-02-06 10:52:09 -05:00
# include "IDetailPropertyRow.h"
2014-03-14 14:13:41 -04:00
# include "IOSTargetSettingsCustomization.h"
# include "DetailLayoutBuilder.h"
# include "DetailCategoryBuilder.h"
# include "PropertyEditing.h"
2014-10-30 17:05:10 -04:00
# include "DesktopPlatformModule.h"
# include "MainFrame.h"
2014-03-14 14:13:41 -04:00
# include "ScopedTransaction.h"
# include "SExternalImageReference.h"
# include "SHyperlinkLaunchURL.h"
# include "SPlatformSetupMessage.h"
# include "PlatformIconInfo.h"
# include "SourceControlHelpers.h"
# include "ManifestUpdateHelper.h"
2014-10-14 22:50:06 -04:00
# include "SNotificationList.h"
# include "NotificationManager.h"
2014-10-30 17:05:10 -04:00
# include "TargetPlatform.h"
2014-11-20 20:11:12 -05:00
# include "GameProjectGenerationModule.h"
2015-01-29 14:25:09 -05:00
# include "SHyperlink.h"
# include "SProvisionListRow.h"
# include "SCertificateListRow.h"
2015-12-04 09:32:58 -05:00
# include "EngineBuildSettings.h"
2014-03-14 14:13:41 -04:00
# define LOCTEXT_NAMESPACE "IOSTargetSettings"
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
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 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
DEFINE_LOG_CATEGORY_STATIC ( LogIOSTargetSettings , Log , All ) ;
2014-03-14 14:13:41 -04:00
2015-01-29 14:25:09 -05:00
bool SProvisionListRow : : bInitialized = false ;
FCheckBoxStyle SProvisionListRow : : ProvisionCheckBoxStyle ;
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
const FString gProjectNameText ( " [PROJECT_NAME] " ) ;
2014-03-14 14:13:41 -04:00
//////////////////////////////////////////////////////////////////////////
// FIOSTargetSettingsCustomization
2014-12-07 13:01:11 -05:00
namespace FIOSTargetSettingsCustomizationConstants
{
const FText DisabledTip = LOCTEXT ( " GitHubSourceRequiredToolTip " , " This requires GitHub source. " ) ;
}
2014-03-14 14:13:41 -04:00
TSharedRef < IDetailCustomization > FIOSTargetSettingsCustomization : : MakeInstance ( )
{
return MakeShareable ( new FIOSTargetSettingsCustomization ) ;
}
FIOSTargetSettingsCustomization : : FIOSTargetSettingsCustomization ( )
: EngineInfoPath ( FString : : Printf ( TEXT ( " %sBuild/IOS/UE4Game-Info.plist " ) , * FPaths : : EngineDir ( ) ) )
2014-07-16 12:13:22 -04:00
, GameInfoPath ( FString : : Printf ( TEXT ( " %sBuild/IOS/Info.plist " ) , * FPaths : : GameDir ( ) ) )
2014-03-14 14:13:41 -04:00
, EngineGraphicsPath ( FString : : Printf ( TEXT ( " %sBuild/IOS/Resources/Graphics " ) , * FPaths : : EngineDir ( ) ) )
, GameGraphicsPath ( FString : : Printf ( TEXT ( " %sBuild/IOS/Resources/Graphics " ) , * FPaths : : GameDir ( ) ) )
{
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon29.png " ) , LOCTEXT ( " SettingsIcon_iPhone " , " iPhone Settings Icon " ) , FText : : GetEmpty ( ) , 29 , 29 , FPlatformIconInfo : : Optional ) ; // also iOS6 spotlight search
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon29@2x.png " ) , LOCTEXT ( " SettingsIcon_iPhoneRetina " , " iPhone Retina Settings Icon " ) , FText : : GetEmpty ( ) , 58 , 58 , FPlatformIconInfo : : Optional ) ; // also iOS6 spotlight search
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon40.png " ) , LOCTEXT ( " SpotlightIcon_iOS7 " , " iOS7 Spotlight Icon " ) , FText : : GetEmpty ( ) , 40 , 40 , FPlatformIconInfo : : Optional ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon40@2x.png " ) , LOCTEXT ( " SpotlightIcon_Retina_iOS7 " , " Retina iOS7 Spotlight Icon " ) , FText : : GetEmpty ( ) , 80 , 80 , FPlatformIconInfo : : Optional ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon50.png " ) , LOCTEXT ( " SpotlightIcon_iPad_iOS6 " , " iPad iOS6 Spotlight Icon " ) , FText : : GetEmpty ( ) , 50 , 50 , FPlatformIconInfo : : Optional ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon50@2x.png " ) , LOCTEXT ( " SpotlightIcon_iPadRetina_iOS6 " , " iPad Retina iOS6 Spotlight Icon " ) , FText : : GetEmpty ( ) , 100 , 100 , FPlatformIconInfo : : Optional ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon57.png " ) , LOCTEXT ( " AppIcon_iPhone_iOS6 " , " iPhone iOS6 App Icon " ) , FText : : GetEmpty ( ) , 57 , 57 , FPlatformIconInfo : : Required ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon57@2x.png " ) , LOCTEXT ( " AppIcon_iPhoneRetina_iOS6 " , " iPhone Retina iOS6 App Icon " ) , FText : : GetEmpty ( ) , 114 , 114 , FPlatformIconInfo : : Required ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon60@2x.png " ) , LOCTEXT ( " AppIcon_iPhoneRetina_iOS7 " , " iPhone Retina iOS7 App Icon " ) , FText : : GetEmpty ( ) , 120 , 120 , FPlatformIconInfo : : Required ) ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
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 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon60@3x.png " ) , LOCTEXT ( " AppIcon_iPhoneRetina_iOS8 " , " iPhone Plus Retina iOS8 App Icon " ) , FText : : GetEmpty ( ) , 180 , 180 , FPlatformIconInfo : : Required ) ;
2016-03-17 11:10:14 -04:00
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon72.png " ) , LOCTEXT ( " AppIcon_iPad_iOS6 " , " iPad iOS6 App Icon " ) , FText : : GetEmpty ( ) , 72 , 72 , FPlatformIconInfo : : Required ) ;
2014-03-14 14:13:41 -04:00
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon72@2x.png " ) , LOCTEXT ( " AppIcon_iPadRetina_iOS6 " , " iPad Retina iOS6 App Icon " ) , FText : : GetEmpty ( ) , 144 , 144 , FPlatformIconInfo : : Required ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon76.png " ) , LOCTEXT ( " AppIcon_iPad_iOS7 " , " iPad iOS7 App Icon " ) , FText : : GetEmpty ( ) , 76 , 76 , FPlatformIconInfo : : Required ) ;
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon76@2x.png " ) , LOCTEXT ( " AppIcon_iPadRetina_iOS7 " , " iPad Retina iOS7 App Icon " ) , FText : : GetEmpty ( ) , 152 , 152 , FPlatformIconInfo : : Required ) ;
2016-03-17 11:10:14 -04:00
new ( IconNames ) FPlatformIconInfo ( TEXT ( " Icon83.5@2x.png " ) , LOCTEXT ( " AppIcon_iPadProRetina_iOS9 " , " iPad Pro Retina iOS9 App Icon " ) , FText : : GetEmpty ( ) , 167 , 167 , FPlatformIconInfo : : Required ) ;
2014-03-14 14:13:41 -04:00
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default.png " ) , LOCTEXT ( " LaunchImage_iPhone " , " Launch iPhone 4/4S " ) , FText : : GetEmpty ( ) , 320 , 480 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default@2x.png " ) , LOCTEXT ( " LaunchImage_iPhoneRetina " , " Launch iPhone 4/4S Retina " ) , FText : : GetEmpty ( ) , 640 , 960 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-568h@2x.png " ) , LOCTEXT ( " LaunchImage_iPhone5 " , " Launch iPhone 5/5S Retina " ) , FText : : GetEmpty ( ) , 640 , 1136 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Landscape.png " ) , LOCTEXT ( " LaunchImage_iPad_Landscape " , " Launch iPad in Landscape " ) , FText : : GetEmpty ( ) , 1024 , 768 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Landscape@2x.png " ) , LOCTEXT ( " LaunchImage_iPadRetina_Landscape " , " Launch iPad Retina in Landscape " ) , FText : : GetEmpty ( ) , 2048 , 1536 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Portrait.png " ) , LOCTEXT ( " LaunchImage_iPad_Portrait " , " Launch iPad in Portrait " ) , FText : : GetEmpty ( ) , 768 , 1024 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Portrait@2x.png " ) , LOCTEXT ( " LaunchImage_iPadRetina_Portrait " , " Launch iPad Retina in Portrait " ) , FText : : GetEmpty ( ) , 1536 , 2048 , FPlatformIconInfo : : Required ) ;
2016-03-17 11:10:14 -04:00
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-IPhone6.png " ) , LOCTEXT ( " LaunchImage_iPhone6 " , " Launch iPhone 6 in Portrait " ) , FText : : GetEmpty ( ) , 750 , 1334 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-IPhone6-Landscape.png " ) , LOCTEXT ( " LaunchImage_iPhone6_Landscape " , " Launch iPhone 6 in Landscape " ) , FText : : GetEmpty ( ) , 1334 , 750 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-IPhone6Plus-Landscape.png " ) , LOCTEXT ( " LaunchImage_iPhone6Plus_Landscape " , " Launch iPhone 6 Plus in Landscape " ) , FText : : GetEmpty ( ) , 2208 , 1242 , FPlatformIconInfo : : Required ) ;
2014-09-25 15:57:29 -04:00
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-IPhone6Plus-Portrait.png " ) , LOCTEXT ( " LaunchImage_iPhone6Plus_Portrait " , " Launch iPhone 6 Plus in Portrait " ) , FText : : GetEmpty ( ) , 1242 , 2208 , FPlatformIconInfo : : Required ) ;
2016-03-17 11:10:14 -04:00
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Landscape-1336.png " ) , LOCTEXT ( " LaunchImage_iPadPro_Landscape " , " Launch iPad Pro in Landscape " ) , FText : : GetEmpty ( ) , 1336 , 1024 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Portrait-1336.png " ) , LOCTEXT ( " LaunchImage_iPadPro_Portrait " , " Launch iPad Pro in Portrait " ) , FText : : GetEmpty ( ) , 1024 , 1336 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Landscape-1336@2x.png " ) , LOCTEXT ( " LaunchImage_iPadProRetina_Landscape " , " Launch iPad Pro Retina in Landscape " ) , FText : : GetEmpty ( ) , 2732 , 2048 , FPlatformIconInfo : : Required ) ;
new ( LaunchImageNames ) FPlatformIconInfo ( TEXT ( " Default-Portrait-1336@2x.png " ) , LOCTEXT ( " LaunchImage_iPadProRetina_Portrait " , " Launch iPad Pro Retina in Portrait " ) , FText : : GetEmpty ( ) , 2048 , 2732 , FPlatformIconInfo : : Required ) ;
2015-01-29 14:25:09 -05:00
bShowAllProvisions = false ;
bShowAllCertificates = false ;
2015-09-18 13:42:25 -04:00
ProvisionList = MakeShareable ( new TArray < ProvisionPtr > ( ) ) ;
2015-10-02 14:24:38 -04:00
CertificateList = MakeShareable ( new TArray < CertificatePtr > ( ) ) ;
2014-03-14 14:13:41 -04:00
}
2015-01-12 18:30:08 -05:00
FIOSTargetSettingsCustomization : : ~ FIOSTargetSettingsCustomization ( )
{
if ( IPPProcess . IsValid ( ) )
{
IPPProcess = NULL ;
FTicker : : GetCoreTicker ( ) . RemoveTicker ( TickerHandle ) ;
}
}
2014-03-14 14:13:41 -04:00
void FIOSTargetSettingsCustomization : : CustomizeDetails ( IDetailLayoutBuilder & DetailLayout )
{
SavedLayoutBuilder = & DetailLayout ;
BuildPListSection ( DetailLayout ) ;
BuildIconSection ( DetailLayout ) ;
2014-12-07 13:01:11 -05:00
BuildRemoteBuildingSection ( DetailLayout ) ;
2015-01-30 10:53:52 -05:00
FindRequiredFiles ( ) ;
2014-03-14 14:13:41 -04:00
}
2015-01-29 14:25:09 -05:00
static FString OutputMessage ;
static void OnOutput ( FString Message )
{
OutputMessage + = Message ;
OutputMessage + = " \n " ;
UE_LOG ( LogTemp , Display , TEXT ( " %s \n " ) , * Message ) ;
}
2014-10-30 17:05:10 -04:00
void FIOSTargetSettingsCustomization : : UpdateStatus ( )
{
2015-01-29 14:25:09 -05:00
if ( OutputMessage . Len ( ) > 0 )
2014-10-30 17:05:10 -04:00
{
2015-10-14 17:29:16 -04:00
CertificateList - > Reset ( ) ;
2015-09-18 13:42:25 -04:00
ProvisionList - > Reset ( ) ;
2015-01-29 14:25:09 -05:00
// Now split up the log into multiple lines
TArray < FString > LogLines ;
2015-03-02 15:51:37 -05:00
OutputMessage . ParseIntoArray ( LogLines , LINE_TERMINATOR , true ) ;
2015-01-29 14:25:09 -05:00
// format of the line being read here!!
bool bCerts = false ;
2016-01-07 11:21:22 -05:00
bManuallySelected = false ;
2015-01-29 14:25:09 -05:00
for ( int Index = 0 ; Index < LogLines . Num ( ) ; Index + + )
{
FString & Line = LogLines [ Index ] ;
TArray < FString > Fields ;
2015-03-02 15:51:37 -05:00
Line . ParseIntoArray ( Fields , TEXT ( " , " ) , true ) ;
2015-01-29 14:25:09 -05:00
if ( Line . Contains ( TEXT ( " CERTIFICATE- " ) , ESearchCase : : CaseSensitive ) )
{
CertificatePtr Cert = MakeShareable < FCertificate > ( new FCertificate ( ) ) ;
for ( int FieldIndex = 0 ; FieldIndex < Fields . Num ( ) ; + + FieldIndex )
{
FString Key , Value ;
Fields [ FieldIndex ] . Split ( TEXT ( " : " ) , & Key , & Value ) ;
if ( Key . Contains ( " Name " ) )
{
Cert - > Name = Value ;
}
else if ( Key . Contains ( TEXT ( " Validity " ) ) )
{
Cert - > Status = Value ;
}
else if ( Key . Contains ( TEXT ( " EndDate " ) ) )
{
FString Date , Time ;
2015-02-06 13:46:21 -05:00
Value . Split ( TEXT ( " T " ) , & Date , & Time ) ;
2015-01-29 14:25:09 -05:00
Cert - > Expires = Date ;
}
}
2015-02-06 13:46:21 -05:00
CertificatePtr PrevCert = NULL ;
2015-10-02 14:24:38 -04:00
for ( int CIndex = 0 ; CIndex < CertificateList - > Num ( ) & & ! PrevCert . IsValid ( ) ; + + CIndex )
2015-02-06 13:46:21 -05:00
{
2015-10-02 14:24:38 -04:00
if ( ( * CertificateList ) [ CIndex ] - > Name = = Cert - > Name )
2015-02-06 13:46:21 -05:00
{
2015-10-02 14:24:38 -04:00
PrevCert = ( * CertificateList ) [ CIndex ] ;
2015-02-06 13:46:21 -05:00
break ;
}
}
2015-10-02 14:24:38 -04:00
// check to see if this the one selected in the ini file
FString OutString ;
SignCertificateProperty - > GetValueAsFormattedString ( OutString ) ;
Cert - > bManuallySelected = ( OutString = = Cert - > Name ) ;
2016-01-07 11:21:22 -05:00
bManuallySelected | = Cert - > bManuallySelected ;
2015-02-06 13:46:21 -05:00
if ( ! PrevCert . IsValid ( ) )
{
2015-10-02 14:24:38 -04:00
CertificateList - > Add ( Cert ) ;
2015-02-06 13:46:21 -05:00
}
else
{
FDateTime time1 , time2 ;
FDateTime : : ParseIso8601 ( * ( PrevCert - > Expires ) , time1 ) ;
FDateTime : : ParseIso8601 ( * ( Cert - > Expires ) , time2 ) ;
if ( time2 > time1 )
{
PrevCert - > Expires = Cert - > Expires ;
2016-03-11 09:55:03 -05:00
PrevCert - > Status = Cert - > Status ;
2015-02-06 13:46:21 -05:00
}
Cert = NULL ;
}
2015-01-29 14:25:09 -05:00
}
else if ( Line . Contains ( TEXT ( " PROVISION- " ) , ESearchCase : : CaseSensitive ) )
{
ProvisionPtr Prov = MakeShareable < FProvision > ( new FProvision ( ) ) ;
for ( int FieldIndex = 0 ; FieldIndex < Fields . Num ( ) ; + + FieldIndex )
{
FString Key , Value ;
Fields [ FieldIndex ] . Split ( TEXT ( " : " ) , & Key , & Value ) ;
if ( Key . Contains ( " File " ) )
{
Prov - > FileName = Value ;
}
else if ( Key . Contains ( " Name " ) )
{
Prov - > Name = Value ;
}
else if ( Key . Contains ( TEXT ( " Validity " ) ) )
{
Prov - > Status = Value ;
}
else if ( Key . Contains ( TEXT ( " Type " ) ) )
{
Prov - > bDistribution = Value . Contains ( TEXT ( " DISTRIBUTION " ) ) ;
}
}
2015-09-18 13:42:25 -04:00
// check to see if this the one selected in the ini file
FString OutString ;
MobileProvisionProperty - > GetValueAsFormattedString ( OutString ) ;
Prov - > bManuallySelected = ( OutString = = Prov - > FileName ) ;
2016-01-07 11:21:22 -05:00
bManuallySelected | = Prov - > bManuallySelected ;
2015-09-18 13:42:25 -04:00
ProvisionList - > Add ( Prov ) ;
2015-01-29 14:25:09 -05:00
}
else if ( Line . Contains ( TEXT ( " MATCHED- " ) , ESearchCase : : CaseSensitive ) )
{
for ( int FieldIndex = 0 ; FieldIndex < Fields . Num ( ) ; + + FieldIndex )
{
FString Key , Value ;
Fields [ FieldIndex ] . Split ( TEXT ( " : " ) , & Key , & Value ) ;
if ( Key . Contains ( " File " ) )
{
SelectedFile = Value ;
}
else if ( Key . Contains ( " Provision " ) )
{
SelectedProvision = Value ;
}
else if ( Key . Contains ( TEXT ( " Cert " ) ) )
{
SelectedCert = Value ;
}
}
}
}
FilterLists ( ) ;
2014-10-30 17:05:10 -04:00
}
}
2015-03-16 10:06:56 -04:00
void FIOSTargetSettingsCustomization : : UpdateSSHStatus ( )
2015-03-16 10:01:04 -04:00
{
// updated SSH key
const UIOSRuntimeSettings * Settings = GetDefault < UIOSRuntimeSettings > ( ) ;
const_cast < UIOSRuntimeSettings * > ( Settings ) - > PostInitProperties ( ) ;
}
2014-03-14 14:13:41 -04:00
void FIOSTargetSettingsCustomization : : BuildPListSection ( IDetailLayoutBuilder & DetailLayout )
{
// Info.plist category
2014-10-30 17:05:10 -04:00
IDetailCategoryBuilder & ProvisionCategory = DetailLayout . EditCategory ( TEXT ( " Mobile Provision " ) ) ;
2014-03-14 14:13:41 -04:00
IDetailCategoryBuilder & AppManifestCategory = DetailLayout . EditCategory ( TEXT ( " Info.plist " ) ) ;
2015-02-06 10:52:09 -05:00
IDetailCategoryBuilder & BundleCategory = DetailLayout . EditCategory ( TEXT ( " BundleInformation " ) ) ;
2014-08-29 15:56:24 -04:00
IDetailCategoryBuilder & OrientationCategory = DetailLayout . EditCategory ( TEXT ( " Orientation " ) ) ;
IDetailCategoryBuilder & RenderCategory = DetailLayout . EditCategory ( TEXT ( " Rendering " ) ) ;
2014-10-24 15:31:48 -04:00
IDetailCategoryBuilder & OSInfoCategory = DetailLayout . EditCategory ( TEXT ( " OS Info " ) ) ;
IDetailCategoryBuilder & DeviceCategory = DetailLayout . EditCategory ( TEXT ( " Devices " ) ) ;
2014-11-20 20:11:12 -05:00
IDetailCategoryBuilder & BuildCategory = DetailLayout . EditCategory ( TEXT ( " Build " ) ) ;
2015-01-22 00:20:01 -05:00
IDetailCategoryBuilder & ExtraCategory = DetailLayout . EditCategory ( TEXT ( " Extra PList Data " ) ) ;
2015-09-18 13:42:25 -04:00
MobileProvisionProperty = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , MobileProvision ) ) ;
BuildCategory . AddProperty ( MobileProvisionProperty )
. Visibility ( EVisibility : : Hidden ) ;
2015-10-02 14:24:38 -04:00
SignCertificateProperty = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , SigningCertificate ) ) ;
BuildCategory . AddProperty ( SignCertificateProperty )
. Visibility ( EVisibility : : Hidden ) ;
2014-03-14 14:13:41 -04:00
2014-10-30 17:05:10 -04:00
/* ProvisionCategory.AddCustomRow(TEXT("Certificate Request"), false)
. NameContent ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 , 1 , 0 , 1 ) )
. FillWidth ( 1.0f )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " RequestLabel " , " Certificate Request " ) )
. Font ( DetailLayout . GetDetailFont ( ) )
]
]
. ValueContent ( )
[
SNew ( SBox )
. HAlign ( HAlign_Center )
[
SNew ( SButton )
. HAlign ( HAlign_Center )
. OnClicked ( this , & FIOSTargetSettingsCustomization : : OnCertificateRequestClicked )
[
SNew ( STextBlock )
. Text ( FText : : FromString ( " Create Certificate Request and a Key Pair " ) )
]
]
] ; */
2014-12-01 11:19:41 -05:00
ProvisionCategory . AddCustomRow ( LOCTEXT ( " ProvisionLabel " , " Provision " ) , false )
2015-01-29 14:25:09 -05:00
. WholeRowWidget
. MinDesiredWidth ( 0.f )
. MaxDesiredWidth ( 0.f )
. HAlign ( HAlign_Fill )
2014-10-30 17:05:10 -04:00
[
2015-01-29 14:25:09 -05:00
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
2014-10-30 17:05:10 -04:00
[
2015-01-30 10:53:52 -05:00
SAssignNew ( ProvisionInfoSwitcher , SWidgetSwitcher )
. WidgetIndex ( 0 )
// searching for provisions
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
2015-01-29 14:25:09 -05:00
[
2015-01-30 10:53:52 -05:00
SNew ( SBorder )
. Padding ( 4 )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " ProvisionViewerFindingProvisions " , " Please wait while we gather information. " ) )
. AutoWrapText ( true )
]
2015-01-29 14:25:09 -05:00
]
2015-02-06 10:52:09 -05:00
// importing a provision
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
[
SNew ( SBorder )
. Padding ( 4 )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " ProvisionViewerImportingProvisions " , " Importing Provision. Please wait... " ) )
. AutoWrapText ( true )
]
]
2015-01-30 10:53:52 -05:00
// no provisions found or no valid provisions
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
2014-10-30 17:05:10 -04:00
[
2015-01-30 10:53:52 -05:00
SNew ( SBorder )
. Padding ( 4 )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " ProvisionViewerNoValidProvisions " , " No Provisions Found. Please Import a Provision. " ) )
. AutoWrapText ( true )
]
2014-10-30 17:05:10 -04:00
]
2015-01-30 10:53:52 -05:00
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
[
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. Padding ( FMargin ( 10 , 10 , 10 , 10 ) )
. AutoHeight ( )
2015-01-29 14:25:09 -05:00
[
2015-01-30 10:53:52 -05:00
SAssignNew ( ProvisionListView , SListView < ProvisionPtr > )
. ItemHeight ( 20.0f )
. ListItemsSource ( & FilteredProvisionList )
. OnGenerateRow ( this , & FIOSTargetSettingsCustomization : : HandleProvisionListGenerateRow )
. SelectionMode ( ESelectionMode : : None )
. HeaderRow
(
SNew ( SHeaderRow )
2015-09-18 13:42:25 -04:00
+ SHeaderRow : : Column ( " Selected " )
2015-10-02 14:24:38 -04:00
. DefaultLabel ( LOCTEXT ( " ProvisionListSelectColumnHeader " , " " ) )
2015-09-18 13:42:25 -04:00
. FixedWidth ( 30.0f )
2015-01-30 10:53:52 -05:00
+ SHeaderRow : : Column ( " Name " )
. DefaultLabel ( LOCTEXT ( " ProvisionListNameColumnHeader " , " Provision " ) )
. FillWidth ( 1.0f )
+ SHeaderRow : : Column ( " File " )
. DefaultLabel ( LOCTEXT ( " ProvisionListFileColumnHeader " , " File " ) )
+ SHeaderRow : : Column ( " Status " )
. DefaultLabel ( LOCTEXT ( " ProvisionListStatusColumnHeader " , " Status " ) )
+ SHeaderRow : : Column ( " Distribution " )
. DefaultLabel ( LOCTEXT ( " ProvisionListDistributionColumnHeader " , " Distribution " ) )
. FixedWidth ( 75.0f )
)
2015-01-29 14:25:09 -05:00
]
2015-01-30 10:53:52 -05:00
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
. Padding ( 0.0f , 6.0f , 0.0f , 4.0f )
[
SNew ( SSeparator )
. Orientation ( Orient_Horizontal )
]
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
SNew ( SHorizontalBox )
2015-01-29 14:25:09 -05:00
2015-01-30 10:53:52 -05:00
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
[
SNew ( SRichTextBlock )
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
. Text ( LOCTEXT ( " ProvisionMessage " , " <RichTextBlock.TextHighlight>Note</>: If no provision is selected the one in green will be used to provision the IPA. " ) )
2015-01-30 10:53:52 -05:00
. TextStyle ( FEditorStyle : : Get ( ) , " MessageLog " )
. DecoratorStyleSet ( & FEditorStyle : : Get ( ) )
. AutoWrapText ( true )
]
+ SHorizontalBox : : Slot ( )
. FillWidth ( 1.0f )
. HAlign ( HAlign_Right )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " ViewLabel " , " View: " ) )
]
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
. Padding ( 8.0f , 0.0f )
[
// all provisions hyper link
SNew ( SHyperlink )
. OnNavigate ( this , & FIOSTargetSettingsCustomization : : HandleAllProvisionsHyperlinkNavigate , true )
. Text ( LOCTEXT ( " AllProvisionsHyperLinkLabel " , " All " ) )
. ToolTipText ( LOCTEXT ( " AllProvisionsButtonTooltip " , " View all provisions. " ) )
]
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
[
// valid provisions hyper link
SNew ( SHyperlink )
. OnNavigate ( this , & FIOSTargetSettingsCustomization : : HandleAllProvisionsHyperlinkNavigate , false )
. Text ( LOCTEXT ( " ValidProvisionsHyperlinkLabel " , " Valid Only " ) )
. ToolTipText ( LOCTEXT ( " ValidProvisionsHyperlinkTooltip " , " View Valid provisions. " ) )
]
]
]
2014-10-30 17:05:10 -04:00
]
2015-01-29 14:25:09 -05:00
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
2014-10-30 17:05:10 -04:00
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
2015-01-29 14:25:09 -05:00
. Padding ( FMargin ( 0 , 5 , 0 , 10 ) )
2014-11-24 17:42:52 -05:00
. AutoWidth ( )
2014-10-30 17:05:10 -04:00
[
2014-11-24 17:42:52 -05:00
SNew ( SButton )
. HAlign ( HAlign_Center )
. VAlign ( VAlign_Center )
2015-01-29 14:25:09 -05:00
. OnClicked ( this , & FIOSTargetSettingsCustomization : : OnInstallProvisionClicked )
2015-02-06 10:52:09 -05:00
. IsEnabled ( this , & FIOSTargetSettingsCustomization : : IsImportEnabled )
2014-11-24 17:42:52 -05:00
[
SNew ( STextBlock )
2015-09-16 17:01:36 -04:00
. Text ( LOCTEXT ( " ImportProvision " , " Import Provision " ) )
2014-11-24 17:42:52 -05:00
]
2014-10-30 17:05:10 -04:00
]
2015-01-29 14:25:09 -05:00
]
] ;
ProvisionCategory . AddCustomRow ( LOCTEXT ( " CertificateLabel " , " Certificate " ) , false )
. WholeRowWidget
. MinDesiredWidth ( 0.f )
. MaxDesiredWidth ( 0.f )
. HAlign ( HAlign_Fill )
[
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
2015-01-30 10:53:52 -05:00
SAssignNew ( CertificateInfoSwitcher , SWidgetSwitcher )
. WidgetIndex ( 0 )
// searching for provisions
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
2015-01-29 14:25:09 -05:00
[
2015-01-30 10:53:52 -05:00
SNew ( SBorder )
. Padding ( 4 )
2015-01-29 14:25:09 -05:00
[
2015-01-30 10:53:52 -05:00
SNew ( STextBlock )
. Text ( LOCTEXT ( " CertificateViewerFindingProvisions " , " Please wait while we gather information. " ) )
. AutoWrapText ( true )
2015-01-29 14:25:09 -05:00
]
2015-01-30 10:53:52 -05:00
]
2015-02-06 10:52:09 -05:00
// importing certificate
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
[
SNew ( SBorder )
. Padding ( 4 )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " CertificateViewerImportingCertificate " , " Importing Certificate. Please wait... " ) )
. AutoWrapText ( true )
]
]
2015-01-30 10:53:52 -05:00
// no provisions found or no valid provisions
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
2015-01-29 14:25:09 -05:00
[
2015-01-30 10:53:52 -05:00
SNew ( SBorder )
. Padding ( 4 )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " CertificateViewerNoValidProvisions " , " No Certificates Found. Please Import a Certificate. " ) )
. AutoWrapText ( true )
]
2015-01-29 14:25:09 -05:00
]
2015-01-30 10:53:52 -05:00
+ SWidgetSwitcher : : Slot ( )
. HAlign ( HAlign_Fill )
. VAlign ( VAlign_Center )
[
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
2015-01-29 14:25:09 -05:00
[
2015-01-30 10:53:52 -05:00
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 10 , 10 , 10 , 10 ) )
. FillWidth ( 1.0f )
[
SAssignNew ( CertificateListView , SListView < CertificatePtr > )
. ItemHeight ( 20.0f )
. ListItemsSource ( & FilteredCertificateList )
. OnGenerateRow ( this , & FIOSTargetSettingsCustomization : : HandleCertificateListGenerateRow )
. SelectionMode ( ESelectionMode : : None )
. HeaderRow
(
SNew ( SHeaderRow )
2015-10-02 14:24:38 -04:00
+ SHeaderRow : : Column ( " Selected " )
. DefaultLabel ( LOCTEXT ( " CertificateListSelectColumnHeader " , " " ) )
. FixedWidth ( 30.0f )
2015-01-30 10:53:52 -05:00
+ SHeaderRow : : Column ( " Name " )
. DefaultLabel ( LOCTEXT ( " CertificateListNameColumnHeader " , " Certificate " ) )
+ SHeaderRow : : Column ( " Status " )
. DefaultLabel ( LOCTEXT ( " CertificateListStatusColumnHeader " , " Status " ) )
. FixedWidth ( 75.0f )
+ SHeaderRow : : Column ( " Expires " )
. DefaultLabel ( LOCTEXT ( " CertificateListExpiresColumnHeader " , " Expires " ) )
. FixedWidth ( 75.0f )
)
]
2015-01-29 14:25:09 -05:00
]
2015-01-30 10:53:52 -05:00
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
. Padding ( 0.0f , 6.0f , 0.0f , 4.0f )
[
SNew ( SSeparator )
. Orientation ( Orient_Horizontal )
]
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
[
SNew ( SRichTextBlock )
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
. Text ( LOCTEXT ( " CertificateMessage " , " <RichTextBlock.TextHighlight>Note</>: If no certificate is selected then the one in green will be used to sign the IPA. " ) )
2015-01-30 10:53:52 -05:00
. TextStyle ( FEditorStyle : : Get ( ) , " MessageLog " )
. DecoratorStyleSet ( & FEditorStyle : : Get ( ) )
. AutoWrapText ( true )
]
+ SHorizontalBox : : Slot ( )
. FillWidth ( 1.0f )
. HAlign ( HAlign_Right )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " ViewLabel " , " View: " ) )
]
2015-01-29 14:25:09 -05:00
2015-01-30 10:53:52 -05:00
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
. Padding ( 8.0f , 0.0f )
[
// all provisions hyper link
SNew ( SHyperlink )
. OnNavigate ( this , & FIOSTargetSettingsCustomization : : HandleAllCertificatesHyperlinkNavigate , true )
. Text ( LOCTEXT ( " AllCertificatesHyperLinkLabel " , " All " ) )
. ToolTipText ( LOCTEXT ( " AllCertificatesButtonTooltip " , " View all certificates. " ) )
]
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
[
// valid provisions hyper link
SNew ( SHyperlink )
. OnNavigate ( this , & FIOSTargetSettingsCustomization : : HandleAllCertificatesHyperlinkNavigate , false )
. Text ( LOCTEXT ( " ValidCertificatesHyperlinkLabel " , " Valid Only " ) )
. ToolTipText ( LOCTEXT ( " ValidCertificatesHyperlinkTooltip " , " View Valid certificates. " ) )
]
]
]
2015-01-29 14:25:09 -05:00
]
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 , 5 , 0 , 10 ) )
. AutoWidth ( )
[
SNew ( SButton )
. HAlign ( HAlign_Center )
. VAlign ( VAlign_Center )
. OnClicked ( this , & FIOSTargetSettingsCustomization : : OnInstallCertificateClicked )
2015-02-06 10:52:09 -05:00
. IsEnabled ( this , & FIOSTargetSettingsCustomization : : IsImportEnabled )
2015-01-29 14:25:09 -05:00
[
SNew ( STextBlock )
2015-09-16 17:01:36 -04:00
. Text ( LOCTEXT ( " ImportCertificate " , " Import Certificate " ) )
2015-01-29 14:25:09 -05:00
]
]
]
] ;
2015-01-27 10:57:03 -05:00
BundleCategory . AddCustomRow ( LOCTEXT ( " UpgradeInfo " , " Upgrade Info " ) , false )
. WholeRowWidget
[
SNew ( SBorder )
. Padding ( 1 )
2014-03-14 14:13:41 -04:00
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
2015-01-27 10:57:03 -05:00
. Padding ( FMargin ( 10 , 10 , 10 , 10 ) )
2014-03-14 14:13:41 -04:00
. FillWidth ( 1.0f )
[
2015-01-27 10:57:03 -05:00
SNew ( SRichTextBlock )
. Text ( LOCTEXT ( " IOSUpgradeInfoMessage " , " <RichTextBlock.TextHighlight>Note to users from 4.6 or earlier</>: We now <RichTextBlock.TextHighlight>GENERATE</> an Info.plist when building, so if you have customized your .plist file, you will need to put all of your changes into the below settings. Note that we don't touch the .plist file that is in your project directory, so you can use it as reference. " ) )
. TextStyle ( FEditorStyle : : Get ( ) , " MessageLog " )
. DecoratorStyleSet ( & FEditorStyle : : Get ( ) )
. AutoWrapText ( true )
// + SRichTextBlock::HyperlinkDecorator(TEXT("browser"), FSlateHyperlinkRun::FOnClick::CreateStatic(&OnBrowserLinkClicked))
]
]
] ;
2014-03-14 14:13:41 -04:00
2015-02-06 10:52:09 -05:00
// Show properties that are gated by the plist being present and writable
RunningIPPProcess = false ;
2015-12-04 09:32:58 -05:00
# define SETUP_SOURCEONLY_PROP(PropName, Category) \
2014-11-20 20:11:12 -05:00
{ \
TSharedRef < IPropertyHandle > PropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , PropName ) ) ; \
Category . AddProperty ( PropertyHandle ) \
2015-12-04 09:32:58 -05:00
. IsEnabled ( FEngineBuildSettings : : IsSourceDistribution ( ) ) \
. ToolTip ( FEngineBuildSettings : : IsSourceDistribution ( ) ? PropertyHandle - > GetToolTipText ( ) : FIOSTargetSettingsCustomizationConstants : : DisabledTip ) ; \
2014-11-20 20:11:12 -05:00
}
2014-03-14 14:13:41 -04:00
2015-02-06 10:52:09 -05:00
# define SETUP_PLIST_PROP(PropName, Category) \
{ \
TSharedRef < IPropertyHandle > PropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , PropName ) ) ; \
Category . AddProperty ( PropertyHandle ) ; \
}
2014-11-20 20:11:12 -05:00
2015-02-06 10:52:09 -05:00
# define SETUP_STATUS_PROP(PropName, Category) \
{ \
TSharedRef < IPropertyHandle > PropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , PropName ) ) ; \
Category . AddProperty ( PropertyHandle ) \
. Visibility ( EVisibility : : Hidden ) ; \
Category . AddCustomRow ( LOCTEXT ( " BundleIdentifier " , " BundleIdentifier " ) , false ) \
. NameContent ( ) \
[ \
SNew ( SHorizontalBox ) \
+ SHorizontalBox : : Slot ( ) \
. Padding ( FMargin ( 0 , 1 , 0 , 1 ) ) \
. FillWidth ( 1.0f ) \
[ \
SNew ( STextBlock ) \
. Text ( LOCTEXT ( " BundleIdentifierLabel " , " Bundle Identifier " ) ) \
. Font ( DetailLayout . GetDetailFont ( ) ) \
] \
] \
. ValueContent ( ) \
. MinDesiredWidth ( 0.0f ) \
. MaxDesiredWidth ( 0.0f ) \
[ \
SNew ( SHorizontalBox ) \
+ SHorizontalBox : : Slot ( ) \
. FillWidth ( 1.0f ) \
. HAlign ( HAlign_Fill ) \
[ \
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
SAssignNew ( BundleIdTextBox , SEditableTextBox ) \
2015-02-06 10:52:09 -05:00
. IsEnabled ( this , & FIOSTargetSettingsCustomization : : IsImportEnabled ) \
. Text ( this , & FIOSTargetSettingsCustomization : : GetBundleText , PropertyHandle ) \
. Font ( DetailLayout . GetDetailFont ( ) ) \
. SelectAllTextOnCommit ( true ) \
. SelectAllTextWhenFocused ( true ) \
. ClearKeyboardFocusOnCommit ( false ) \
. ToolTipText ( PropertyHandle - > GetToolTipText ( ) ) \
. OnTextCommitted ( this , & FIOSTargetSettingsCustomization : : OnBundleIdentifierChanged , PropertyHandle ) \
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
. OnTextChanged ( this , & FIOSTargetSettingsCustomization : : OnBundleIdentifierTextChanged , ETextCommit : : Default , PropertyHandle ) \
2015-02-06 10:52:09 -05:00
] \
] ; \
}
const UIOSRuntimeSettings & Settings = * GetDefault < UIOSRuntimeSettings > ( ) ;
SETUP_PLIST_PROP ( BundleDisplayName , BundleCategory ) ;
SETUP_PLIST_PROP ( BundleName , BundleCategory ) ;
SETUP_STATUS_PROP ( BundleIdentifier , BundleCategory ) ;
SETUP_PLIST_PROP ( VersionInfo , BundleCategory ) ;
SETUP_PLIST_PROP ( bSupportsPortraitOrientation , OrientationCategory ) ;
SETUP_PLIST_PROP ( bSupportsUpsideDownOrientation , OrientationCategory ) ;
SETUP_PLIST_PROP ( bSupportsLandscapeLeftOrientation , OrientationCategory ) ;
SETUP_PLIST_PROP ( bSupportsLandscapeRightOrientation , OrientationCategory ) ;
SETUP_PLIST_PROP ( bSupportsMetal , RenderCategory ) ;
SETUP_PLIST_PROP ( bSupportsOpenGLES2 , RenderCategory ) ;
SETUP_PLIST_PROP ( bSupportsIPad , DeviceCategory ) ;
SETUP_PLIST_PROP ( bSupportsIPhone , DeviceCategory ) ;
SETUP_PLIST_PROP ( MinimumiOSVersion , OSInfoCategory ) ;
SETUP_PLIST_PROP ( AdditionalPlistData , ExtraCategory ) ;
2015-12-04 09:32:58 -05:00
# undef SETUP_SOURCEONLY_PROP
2014-03-14 14:13:41 -04:00
}
2014-12-07 13:01:11 -05:00
void FIOSTargetSettingsCustomization : : BuildRemoteBuildingSection ( IDetailLayoutBuilder & DetailLayout )
{
2015-03-16 10:01:04 -04:00
# if PLATFORM_WINDOWS
2014-12-07 13:01:11 -05:00
IDetailCategoryBuilder & BuildCategory = DetailLayout . EditCategory ( TEXT ( " Build " ) ) ;
// Sub group we wish to add remote building options to.
FText RemoteBuildingGroupName = LOCTEXT ( " RemoteBuildingGroupName " , " Remote Build Options " ) ;
IDetailGroup & RemoteBuildingGroup = BuildCategory . AddGroup ( * RemoteBuildingGroupName . ToString ( ) , RemoteBuildingGroupName , false ) ;
2015-03-16 10:01:04 -04:00
// Remote Server Name Property
TSharedRef < IPropertyHandle > RemoteServerNamePropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , RemoteServerName ) ) ;
IDetailPropertyRow & RemoteServerNamePropertyRow = RemoteBuildingGroup . AddPropertyRow ( RemoteServerNamePropertyHandle ) ;
RemoteServerNamePropertyRow
2015-05-04 16:27:48 -04:00
. ToolTip ( LOCTEXT ( " RemoteServerNameToolTip " , " The name or ip address of the remote mac which will be used to build IOS " ) )
2015-03-16 10:01:04 -04:00
. CustomWidget ( )
. NameContent ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 , 1 , 0 , 1 ) )
. FillWidth ( 1.0f )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " RemoteServerNameLabel " , " Remote Server Name " ) )
. Font ( DetailLayout . GetDetailFont ( ) )
]
]
. ValueContent ( )
2015-04-30 08:18:31 -04:00
. MinDesiredWidth ( 150.0f )
2015-03-16 10:01:04 -04:00
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
2015-04-30 08:18:31 -04:00
. Padding ( FMargin ( 0.0f , 8.0f ) )
2015-03-16 10:01:04 -04:00
[
SNew ( SEditableTextBox )
. IsEnabled ( this , & FIOSTargetSettingsCustomization : : IsImportEnabled )
. Text ( this , & FIOSTargetSettingsCustomization : : GetBundleText , RemoteServerNamePropertyHandle )
. Font ( DetailLayout . GetDetailFont ( ) )
. SelectAllTextOnCommit ( true )
. SelectAllTextWhenFocused ( true )
. ClearKeyboardFocusOnCommit ( false )
. ToolTipText ( RemoteServerNamePropertyHandle - > GetToolTipText ( ) )
. OnTextCommitted ( this , & FIOSTargetSettingsCustomization : : OnRemoteServerChanged , RemoteServerNamePropertyHandle )
]
2015-04-30 08:18:31 -04:00
2015-03-16 10:01:04 -04:00
] ;
2015-04-30 08:18:31 -04:00
// Add Use RSync Property
TSharedRef < IPropertyHandle > UseRSyncPropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , bUseRSync ) ) ;
2015-05-04 16:27:48 -04:00
BuildCategory . AddProperty ( UseRSyncPropertyHandle )
. Visibility ( EVisibility : : Hidden ) ;
2015-04-30 08:18:31 -04:00
2014-12-07 13:01:11 -05:00
// Add RSync Username Property
TSharedRef < IPropertyHandle > RSyncUsernamePropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , RSyncUsername ) ) ;
IDetailPropertyRow & RSyncUsernamePropertyRow = RemoteBuildingGroup . AddPropertyRow ( RSyncUsernamePropertyHandle ) ;
RSyncUsernamePropertyRow
2015-05-04 16:27:48 -04:00
. ToolTip ( LOCTEXT ( " RSyncUsernameToolTip " , " The username of the mac user that matches the specified SSH Key. " ) )
2015-03-16 10:01:04 -04:00
. CustomWidget ( )
. NameContent ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 , 1 , 0 , 1 ) )
. FillWidth ( 1.0f )
[
SNew ( STextBlock )
. Text ( LOCTEXT ( " RSyncUserNameLabel " , " RSync User Name " ) )
. Font ( DetailLayout . GetDetailFont ( ) )
]
]
2015-04-30 08:18:31 -04:00
. ValueContent ( )
. MinDesiredWidth ( 150.0f )
2015-03-16 10:01:04 -04:00
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
2015-04-30 08:18:31 -04:00
. Padding ( FMargin ( 0.0f , 8.0f ) )
2015-03-16 10:01:04 -04:00
[
SNew ( SEditableTextBox )
. IsEnabled ( this , & FIOSTargetSettingsCustomization : : IsImportEnabled )
. Text ( this , & FIOSTargetSettingsCustomization : : GetBundleText , RSyncUsernamePropertyHandle )
. Font ( DetailLayout . GetDetailFont ( ) )
. SelectAllTextOnCommit ( true )
. SelectAllTextWhenFocused ( true )
. ClearKeyboardFocusOnCommit ( false )
. ToolTipText ( RSyncUsernamePropertyHandle - > GetToolTipText ( ) )
. OnTextCommitted ( this , & FIOSTargetSettingsCustomization : : OnRemoteServerChanged , RSyncUsernamePropertyHandle )
]
] ;
2014-12-07 13:01:11 -05:00
// Add existing SSH path label.
TSharedRef < IPropertyHandle > SSHPrivateKeyLocationPropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , SSHPrivateKeyLocation ) ) ;
IDetailPropertyRow & SSHPrivateKeyLocationPropertyRow = RemoteBuildingGroup . AddPropertyRow ( SSHPrivateKeyLocationPropertyHandle ) ;
SSHPrivateKeyLocationPropertyRow
2015-05-04 16:27:48 -04:00
. ToolTip ( LOCTEXT ( " SSHPrivateKeyLocationToolTip " , " The existing location of an SSH Key found by UE4. " ) ) ;
2014-12-07 13:01:11 -05:00
// Add SSH override path
TSharedRef < IPropertyHandle > SSHPrivateKeyOverridePathPropertyHandle = DetailLayout . GetProperty ( GET_MEMBER_NAME_CHECKED ( UIOSRuntimeSettings , SSHPrivateKeyOverridePath ) ) ;
IDetailPropertyRow & SSHPrivateKeyOverridePathPropertyRow = RemoteBuildingGroup . AddPropertyRow ( SSHPrivateKeyOverridePathPropertyHandle ) ;
SSHPrivateKeyOverridePathPropertyRow
2015-05-04 16:27:48 -04:00
. ToolTip ( LOCTEXT ( " SSHPrivateKeyOverridePathToolTip " , " Override the existing SSH Private Key with one from a specified location. " ) ) ;
2015-03-16 10:01:04 -04:00
2015-09-16 17:01:36 -04:00
const FText GenerateSSHText = LOCTEXT ( " GenerateSSHKey " , " Generate SSH Key " ) ;
2015-03-16 10:01:04 -04:00
// Add a generate key button
RemoteBuildingGroup . AddWidgetRow ( )
2015-09-16 17:01:36 -04:00
. FilterString ( GenerateSSHText )
2015-03-16 10:01:04 -04:00
. WholeRowWidget
. MinDesiredWidth ( 0.f )
. MaxDesiredWidth ( 0.f )
. HAlign ( HAlign_Fill )
[
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 , 5 , 0 , 10 ) )
. AutoWidth ( )
[
SNew ( SButton )
. HAlign ( HAlign_Center )
. VAlign ( VAlign_Center )
. OnClicked ( this , & FIOSTargetSettingsCustomization : : OnGenerateSSHKey )
. IsEnabled ( this , & FIOSTargetSettingsCustomization : : IsImportEnabled )
[
SNew ( STextBlock )
2015-09-16 17:01:36 -04:00
. Text ( GenerateSSHText )
2015-03-16 10:01:04 -04:00
]
]
]
] ;
# endif
2014-12-07 13:01:11 -05:00
}
2014-03-14 14:13:41 -04:00
void FIOSTargetSettingsCustomization : : BuildIconSection ( IDetailLayoutBuilder & DetailLayout )
{
IDetailCategoryBuilder & RequiredIconCategory = DetailLayout . EditCategory ( TEXT ( " Required Icons " ) ) ;
IDetailCategoryBuilder & OptionalIconCategory = DetailLayout . EditCategory ( TEXT ( " Optional Icons " ) ) ;
// Add the icons
for ( const FPlatformIconInfo & Info : IconNames )
{
const FVector2D IconImageMaxSize ( Info . IconRequiredSize ) ;
IDetailCategoryBuilder & IconCategory = ( Info . RequiredState = = FPlatformIconInfo : : Required ) ? RequiredIconCategory : OptionalIconCategory ;
BuildImageRow ( DetailLayout , IconCategory , Info , IconImageMaxSize ) ;
}
// Add the launch images
IDetailCategoryBuilder & LaunchImageCategory = DetailLayout . EditCategory ( TEXT ( " Launch Images " ) ) ;
const FVector2D LaunchImageMaxSize ( 150.0f , 150.0f ) ;
for ( const FPlatformIconInfo & Info : LaunchImageNames )
{
BuildImageRow ( DetailLayout , LaunchImageCategory , Info , LaunchImageMaxSize ) ;
}
}
FReply FIOSTargetSettingsCustomization : : OpenPlistFolder ( )
{
const FString EditPlistFolder = FPaths : : ConvertRelativePathToFull ( FPaths : : GetPath ( GameInfoPath ) ) ;
FPlatformProcess : : ExploreFolder ( * EditPlistFolder ) ;
return FReply : : Handled ( ) ;
}
void FIOSTargetSettingsCustomization : : CopySetupFilesIntoProject ( )
{
// First copy the plist, it must get copied
FText ErrorMessage ;
if ( ! SourceControlHelpers : : CopyFileUnderSourceControl ( GameInfoPath , EngineInfoPath , LOCTEXT ( " InfoPlist " , " Info.plist " ) , /*out*/ ErrorMessage ) )
{
FNotificationInfo Info ( ErrorMessage ) ;
Info . ExpireDuration = 3.0f ;
FSlateNotificationManager : : Get ( ) . AddNotification ( Info ) ;
}
else
{
// Now try to copy all of the icons, etc... (these can be ignored if the file already exists)
TArray < FPlatformIconInfo > Graphics ;
Graphics . Empty ( IconNames . Num ( ) + LaunchImageNames . Num ( ) ) ;
Graphics . Append ( IconNames ) ;
Graphics . Append ( LaunchImageNames ) ;
for ( const FPlatformIconInfo & Info : Graphics )
{
const FString EngineImagePath = EngineGraphicsPath / Info . IconPath ;
const FString ProjectImagePath = GameGraphicsPath / Info . IconPath ;
if ( ! FPaths : : FileExists ( ProjectImagePath ) )
{
SourceControlHelpers : : CopyFileUnderSourceControl ( ProjectImagePath , EngineImagePath , Info . IconName , /*out*/ ErrorMessage ) ;
}
}
}
SavedLayoutBuilder - > ForceRefreshDetails ( ) ;
}
void FIOSTargetSettingsCustomization : : BuildImageRow ( IDetailLayoutBuilder & DetailLayout , IDetailCategoryBuilder & Category , const FPlatformIconInfo & Info , const FVector2D & MaxDisplaySize )
{
const FString AutomaticImagePath = EngineGraphicsPath / Info . IconPath ;
const FString TargetImagePath = GameGraphicsPath / Info . IconPath ;
2014-12-01 11:19:41 -05:00
Category . AddCustomRow ( Info . IconName )
2014-03-14 14:13:41 -04:00
. NameContent ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 , 1 , 0 , 1 ) )
. FillWidth ( 1.0f )
[
SNew ( STextBlock )
. Text ( Info . IconName )
. Font ( DetailLayout . GetDetailFont ( ) )
]
]
. ValueContent ( )
. MaxDesiredWidth ( 400.0f )
. MinDesiredWidth ( 100.0f )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. FillWidth ( 1.0f )
. VAlign ( VAlign_Center )
[
SNew ( SExternalImageReference , AutomaticImagePath , TargetImagePath )
. FileDescription ( Info . IconDescription )
. RequiredSize ( Info . IconRequiredSize )
. MaxDisplaySize ( MaxDisplaySize )
]
] ;
}
2015-01-29 14:25:09 -05:00
void FIOSTargetSettingsCustomization : : FindRequiredFiles ( )
2014-10-30 17:05:10 -04:00
{
2015-01-29 14:25:09 -05:00
const UIOSRuntimeSettings & Settings = * GetDefault < UIOSRuntimeSettings > ( ) ;
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
FString BundleIdentifier = Settings . BundleIdentifier . Replace ( * gProjectNameText , FApp : : GetGameName ( ) ) ;
2015-01-29 14:25:09 -05:00
# if PLATFORM_MAC
FString CmdExe = TEXT ( " /bin/sh " ) ;
FString ScriptPath = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Build/BatchFiles/Mac/RunMono.sh " ) ) ;
FString IPPPath = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Binaries/DotNet/IOS/IPhonePackager.exe " ) ) ;
2015-02-04 11:01:48 -05:00
FString CommandLine = FString : : Printf ( TEXT ( " \" %s \" \" %s \" certificates Engine -bundlename \" %s \" " ) , * ScriptPath , * IPPPath , * ( BundleIdentifier ) ) ;
2015-01-29 14:25:09 -05:00
# else
FString CmdExe = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Binaries/DotNet/IOS/IPhonePackager.exe " ) ) ;
2015-02-04 11:01:48 -05:00
FString CommandLine = FString : : Printf ( TEXT ( " certificates Engine -bundlename \" %s \" " ) , * ( BundleIdentifier ) ) ;
2015-01-29 14:25:09 -05:00
# endif
IPPProcess = MakeShareable ( new FMonitoredProcess ( CmdExe , CommandLine , true ) ) ;
OutputMessage = TEXT ( " " ) ;
IPPProcess - > OnOutput ( ) . BindStatic ( & OnOutput ) ;
IPPProcess - > Launch ( ) ;
TickerHandle = FTicker : : GetCoreTicker ( ) . AddTicker ( FTickerDelegate : : CreateRaw ( this , & FIOSTargetSettingsCustomization : : UpdateStatusDelegate ) , 1.0f ) ;
2015-01-30 10:53:52 -05:00
if ( ProvisionInfoSwitcher . IsValid ( ) )
{
ProvisionInfoSwitcher - > SetActiveWidgetIndex ( 0 ) ;
}
if ( CertificateInfoSwitcher . IsValid ( ) )
{
CertificateInfoSwitcher - > SetActiveWidgetIndex ( 0 ) ;
}
2015-02-06 10:52:09 -05:00
RunningIPPProcess = true ;
2014-10-30 17:05:10 -04:00
}
FReply FIOSTargetSettingsCustomization : : OnInstallProvisionClicked ( )
{
// pass the file to IPP to install
FString ProjectPath = FPaths : : IsProjectFilePathSet ( ) ? FPaths : : ConvertRelativePathToFull ( FPaths : : GetProjectFilePath ( ) ) : FPaths : : RootDir ( ) / FApp : : GetGameName ( ) / FApp : : GetGameName ( ) + TEXT ( " .uproject " ) ;
2014-11-07 15:46:06 -05:00
FString ProvisionPath ;
2014-10-30 17:05:10 -04:00
2014-11-07 15:46:06 -05:00
// get the provision by popping up the file dialog
TArray < FString > OpenFilenames ;
IDesktopPlatform * DesktopPlatform = FDesktopPlatformModule : : Get ( ) ;
bool bOpened = false ;
int32 FilterIndex = - 1 ;
FString FileTypes = TEXT ( " Provision Files (*.mobileprovision)|*.mobileprovision " ) ;
if ( DesktopPlatform )
{
void * ParentWindowWindowHandle = NULL ;
IMainFrameModule & MainFrameModule = FModuleManager : : LoadModuleChecked < IMainFrameModule > ( TEXT ( " MainFrame " ) ) ;
const TSharedPtr < SWindow > & MainFrameParentWindow = MainFrameModule . GetParentWindow ( ) ;
if ( MainFrameParentWindow . IsValid ( ) & & MainFrameParentWindow - > GetNativeWindow ( ) . IsValid ( ) )
{
ParentWindowWindowHandle = MainFrameParentWindow - > GetNativeWindow ( ) - > GetOSWindowHandle ( ) ;
}
bOpened = DesktopPlatform - > OpenFileDialog (
ParentWindowWindowHandle ,
2016-01-07 04:39:47 -05:00
LOCTEXT ( " ImportProvisionDialogTitle " , " Import Provision " ) . ToString ( ) ,
2014-11-07 15:46:06 -05:00
FPaths : : GetProjectFilePath ( ) ,
TEXT ( " " ) ,
FileTypes ,
EFileDialogFlags : : None ,
OpenFilenames ,
FilterIndex
) ;
}
if ( bOpened )
{
2014-12-07 13:01:11 -05:00
ProvisionPath = FPaths : : ConvertRelativePathToFull ( OpenFilenames [ 0 ] ) ;
2014-11-07 15:46:06 -05:00
// see if the provision is already installed
FString DestName = FPaths : : GetBaseFilename ( ProvisionPath ) ;
TCHAR Path [ 4096 ] ;
# if PLATFORM_MAC
FPlatformMisc : : GetEnvironmentVariable ( TEXT ( " HOME " ) , Path , ARRAY_COUNT ( Path ) ) ;
FString Destination = FString : : Printf ( TEXT ( " \" %s/Library/MobileDevice/Provisioning Profiles/%s.mobileprovision \" " ) , Path , * DestName ) ;
FString Destination2 = FString : : Printf ( TEXT ( " \" %s/Library/MobileDevice/Provisioning Profiles/%s.mobileprovision \" " ) , Path , FApp : : GetGameName ( ) ) ;
# else
FPlatformMisc : : GetEnvironmentVariable ( TEXT ( " LOCALAPPDATA " ) , Path , ARRAY_COUNT ( Path ) ) ;
FString Destination = FString : : Printf ( TEXT ( " %s \\ Apple Computer \\ MobileDevice \\ Provisioning Profiles \\ %s.mobileprovision " ) , Path , * DestName ) ;
FString Destination2 = FString : : Printf ( TEXT ( " %s \\ Apple Computer \\ MobileDevice \\ Provisioning Profiles \\ %s.mobileprovision " ) , Path , FApp : : GetGameName ( ) ) ;
# endif
if ( FPaths : : FileExists ( Destination ) | | FPaths : : FileExists ( Destination2 ) )
{
FString MessagePrompt = FString : : Printf ( TEXT ( " %s mobile provision file already exists. Do you want to replace this provision? " ) , * DestName ) ;
if ( FPlatformMisc : : MessageBoxExt ( EAppMsgType : : OkCancel , * MessagePrompt , TEXT ( " File Exists " ) ) = = EAppReturnType : : Cancel )
{
return FReply : : Handled ( ) ;
}
}
2015-01-29 14:25:09 -05:00
const UIOSRuntimeSettings & Settings = * GetDefault < UIOSRuntimeSettings > ( ) ;
2014-11-07 15:46:06 -05:00
# if PLATFORM_MAC
FString CmdExe = TEXT ( " /bin/sh " ) ;
FString ScriptPath = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Build/BatchFiles/Mac/RunMono.sh " ) ) ;
FString IPPPath = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Binaries/DotNet/IOS/IPhonePackager.exe " ) ) ;
2015-01-29 14:25:09 -05:00
FString CommandLine = FString : : Printf ( TEXT ( " \" %s \" \" %s \" Install Engine -project \" %s \" -provision \" %s \" -bundlename \" %s \" " ) , * ScriptPath , * IPPPath , * ProjectPath , * ProvisionPath , * ( Settings . BundleIdentifier ) ) ;
2014-11-07 15:46:06 -05:00
# else
FString CmdExe = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Binaries/DotNet/IOS/IPhonePackager.exe " ) ) ;
2015-01-29 14:25:09 -05:00
FString CommandLine = FString : : Printf ( TEXT ( " Install Engine -project \" %s \" -provision \" %s \" -bundlename \" %s \" " ) , * ProjectPath , * ProvisionPath , * ( Settings . BundleIdentifier ) ) ;
2014-11-07 15:46:06 -05:00
# endif
2014-11-13 17:30:33 -05:00
IPPProcess = MakeShareable ( new FMonitoredProcess ( CmdExe , CommandLine , true ) ) ;
2014-11-07 15:46:06 -05:00
OutputMessage = TEXT ( " " ) ;
IPPProcess - > OnOutput ( ) . BindStatic ( & OnOutput ) ;
IPPProcess - > Launch ( ) ;
2015-01-12 18:30:08 -05:00
TickerHandle = FTicker : : GetCoreTicker ( ) . AddTicker ( FTickerDelegate : : CreateRaw ( this , & FIOSTargetSettingsCustomization : : UpdateStatusDelegate ) , 10.0f ) ;
2015-02-06 10:52:09 -05:00
if ( ProvisionInfoSwitcher . IsValid ( ) )
{
ProvisionInfoSwitcher - > SetActiveWidgetIndex ( 1 ) ;
}
RunningIPPProcess = true ;
2014-11-07 15:46:06 -05:00
}
2014-10-30 17:05:10 -04:00
return FReply : : Handled ( ) ;
}
FReply FIOSTargetSettingsCustomization : : OnInstallCertificateClicked ( )
{
// pass the file to IPP to install
FString ProjectPath = FPaths : : IsProjectFilePathSet ( ) ? FPaths : : ConvertRelativePathToFull ( FPaths : : GetProjectFilePath ( ) ) : FPaths : : RootDir ( ) / FApp : : GetGameName ( ) / FApp : : GetGameName ( ) + TEXT ( " .uproject " ) ;
2014-11-07 15:46:06 -05:00
FString CertPath ;
2014-10-30 17:05:10 -04:00
2014-11-07 15:46:06 -05:00
// get the provision by popping up the file dialog
TArray < FString > OpenFilenames ;
IDesktopPlatform * DesktopPlatform = FDesktopPlatformModule : : Get ( ) ;
bool bOpened = false ;
int32 FilterIndex = - 1 ;
FString FileTypes = TEXT ( " Code Signing Certificates (*.cer;*.p12)|*.cer;*p12 " ) ;
if ( DesktopPlatform )
{
void * ParentWindowWindowHandle = NULL ;
IMainFrameModule & MainFrameModule = FModuleManager : : LoadModuleChecked < IMainFrameModule > ( TEXT ( " MainFrame " ) ) ;
const TSharedPtr < SWindow > & MainFrameParentWindow = MainFrameModule . GetParentWindow ( ) ;
if ( MainFrameParentWindow . IsValid ( ) & & MainFrameParentWindow - > GetNativeWindow ( ) . IsValid ( ) )
{
ParentWindowWindowHandle = MainFrameParentWindow - > GetNativeWindow ( ) - > GetOSWindowHandle ( ) ;
}
bOpened = DesktopPlatform - > OpenFileDialog (
ParentWindowWindowHandle ,
2016-01-07 04:39:47 -05:00
LOCTEXT ( " ImportCertificateDialogTitle " , " Import Certificate " ) . ToString ( ) ,
2014-11-07 15:46:06 -05:00
FPaths : : GetProjectFilePath ( ) ,
TEXT ( " " ) ,
FileTypes ,
EFileDialogFlags : : None ,
OpenFilenames ,
FilterIndex
) ;
}
if ( bOpened )
{
2015-01-29 14:25:09 -05:00
const UIOSRuntimeSettings & Settings = * GetDefault < UIOSRuntimeSettings > ( ) ;
2014-12-07 13:01:11 -05:00
CertPath = FPaths : : ConvertRelativePathToFull ( OpenFilenames [ 0 ] ) ;
2014-11-07 15:46:06 -05:00
# if PLATFORM_MAC
FString CmdExe = TEXT ( " /bin/sh " ) ;
FString ScriptPath = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Build/BatchFiles/Mac/RunMono.sh " ) ) ;
FString IPPPath = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Binaries/DotNet/IOS/IPhonePackager.exe " ) ) ;
2015-01-29 14:25:09 -05:00
FString CommandLine = FString : : Printf ( TEXT ( " \" %s \" \" %s \" Install Engine -project \" %s \" -certificate \" %s \" -bundlename \" %s \" " ) , * ScriptPath , * IPPPath , * ProjectPath , * CertPath , * ( Settings . BundleIdentifier ) ) ;
2014-11-07 15:46:06 -05:00
# else
FString CmdExe = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Binaries/DotNet/IOS/IPhonePackager.exe " ) ) ;
2015-01-29 14:25:09 -05:00
FString CommandLine = FString : : Printf ( TEXT ( " Install Engine -project \" %s \" -certificate \" %s \" -bundlename \" %s \" " ) , * ProjectPath , * CertPath , * ( Settings . BundleIdentifier ) ) ;
2014-11-07 15:46:06 -05:00
# endif
2014-11-13 17:30:33 -05:00
IPPProcess = MakeShareable ( new FMonitoredProcess ( CmdExe , CommandLine , true ) ) ;
2014-11-07 15:46:06 -05:00
OutputMessage = TEXT ( " " ) ;
IPPProcess - > OnOutput ( ) . BindStatic ( & OnOutput ) ;
IPPProcess - > Launch ( ) ;
2015-01-12 18:30:08 -05:00
TickerHandle = FTicker : : GetCoreTicker ( ) . AddTicker ( FTickerDelegate : : CreateRaw ( this , & FIOSTargetSettingsCustomization : : UpdateStatusDelegate ) , 10.0f ) ;
2015-02-06 10:52:09 -05:00
if ( CertificateInfoSwitcher . IsValid ( ) )
{
CertificateInfoSwitcher - > SetActiveWidgetIndex ( 1 ) ;
}
RunningIPPProcess = true ;
2014-11-07 15:46:06 -05:00
}
2014-10-30 17:05:10 -04:00
return FReply : : Handled ( ) ;
}
FReply FIOSTargetSettingsCustomization : : OnCertificateRequestClicked ( )
{
// TODO: bring up an open file dialog and then install the provision
return FReply : : Handled ( ) ;
}
2015-03-16 10:01:04 -04:00
FReply FIOSTargetSettingsCustomization : : OnGenerateSSHKey ( )
{
// see if the key is already generated
const UIOSRuntimeSettings & Settings = * GetDefault < UIOSRuntimeSettings > ( ) ;
TCHAR Path [ 4096 ] ;
FPlatformMisc : : GetEnvironmentVariable ( TEXT ( " APPDATA " ) , Path , ARRAY_COUNT ( Path ) ) ;
FString Destination = FString : : Printf ( TEXT ( " %s \\ Unreal Engine \\ UnrealBuildTool \\ SSHKeys \\ %s \\ %s \\ RemoteToolChainPrivate.key " ) , Path , * ( Settings . RemoteServerName ) , * ( Settings . RSyncUsername ) ) ;
if ( FPaths : : FileExists ( Destination ) )
{
FString MessagePrompt = FString : : Printf ( TEXT ( " An SSH Key already exists. Do you want to replace this key? " ) ) ;
if ( FPlatformMisc : : MessageBoxExt ( EAppMsgType : : OkCancel , * MessagePrompt , TEXT ( " Key Exists " ) ) = = EAppReturnType : : Cancel )
{
return FReply : : Handled ( ) ;
}
}
FString CmdExe = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Build/BatchFiles/MakeAndInstallSSHKey.bat " ) ) ;
2015-04-30 08:18:31 -04:00
FString DeltaCopyPath = Settings . DeltaCopyInstallPath . Path ;
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
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 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
if ( DeltaCopyPath . IsEmpty ( ) | | ! FPaths : : DirectoryExists ( DeltaCopyPath ) )
2015-04-30 08:18:31 -04:00
{
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
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 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
// If no user specified directory try the UE4 bundled directory
DeltaCopyPath = FPaths : : ConvertRelativePathToFull ( FPaths : : EngineDir ( ) / TEXT ( " Extras \\ ThirdPartyNotUE \\ DeltaCopy \\ Binaries " ) ) ;
}
if ( ! FPaths : : DirectoryExists ( DeltaCopyPath ) )
{
// if no UE4 bundled version of DeltaCopy, try and use the default install location
2015-04-30 08:18:31 -04:00
TCHAR ProgramPath [ 4096 ] ;
FPlatformMisc : : GetEnvironmentVariable ( TEXT ( " PROGRAMFILES(X86) " ) , ProgramPath , ARRAY_COUNT ( ProgramPath ) ) ;
DeltaCopyPath = FPaths : : Combine ( ProgramPath , TEXT ( " DeltaCopy " ) ) ;
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
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 3020547 on 2016/06/20 by Jeff.Campeau
Support for applocal deployment of binaries
-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.
Change 3020552 on 2016/06/20 by Jeff.Campeau
Add switch to disable debug symbol cache creation
Change 3020567 on 2016/06/20 by Jeff.Campeau
constexpr enabled for Xbox One
Change 3020568 on 2016/06/20 by Jeff.Campeau
Separate setting for debug
#jira UEPLAT-1348
Change 3020628 on 2016/06/20 by Jeff.Campeau
Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).
Change 3020629 on 2016/06/20 by Jeff.Campeau
Use Slate tick to drive message processing during blocking loads (improves PLM).
Change 3020633 on 2016/06/20 by Jeff.Campeau
Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).
Change 3020873 on 2016/06/21 by Lee.Clark
PS4 - Fix missing audio when using A3D.
Change 3021225 on 2016/06/21 by Keith.Judge
Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.
Change 3021286 on 2016/06/21 by Dmitry.Rekman
Linux: symbolication for memory profiler.
- Also repaired/improved finding function name from debug info and overall callstack parsing.
#tests Ran Linux editor and TestPAL, crashed multiple times
Change 3021512 on 2016/06/21 by Mark.Satterthwaite
Compile fixes for new clang version.
Change 3021521 on 2016/06/21 by Mark.Satterthwaite
Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.
Change 3021528 on 2016/06/21 by Mark.Satterthwaite
Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.
Change 3021595 on 2016/06/21 by Mark.Satterthwaite
Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
- Implement Metal Depth-16 and stencil-texture-view support where available.
- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
- Add support to Metal for setting UAVs from a uniform buffer.
- Remove unused GlobalUniform header from MetalRHI.
- Remove unnecessary FrameCount delay from Metal resource free lists.
Change 3021702 on 2016/06/21 by Mark.Satterthwaite
Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.
Change 3022152 on 2016/06/21 by Nick.Shin
Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp
forgot to un-do this when the giant revert (CL: #2970016) was done
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 3022409 on 2016/06/21 by Dmitry.Rekman
Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).
- Contains PR #2258 (contributed by wshearn).
Change 3022541 on 2016/06/22 by Lee.Clark
PS4 - Make sure the render target masks are set correctly for disabled render targets.
Fixes a validation check for shaders expecting to write to NULL render targets.
Change 3022973 on 2016/06/22 by Michael.Trepka
Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.
Change 3023106 on 2016/06/22 by Dmitry.Rekman
Linux: enable code to catch memory stomps during async loading.
- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.
#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.
Change 3023256 on 2016/06/22 by Mark.Satterthwaite
Fix compile errors from latest Metal changes that broke iOS.
Change 3023268 on 2016/06/22 by Mark.Satterthwaite
Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.
Change 3023651 on 2016/06/22 by Mark.Satterthwaite
Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.
Change 3023777 on 2016/06/22 by Brent.Pease
+ Update config for Android and iOS
Change 3023781 on 2016/06/22 by Chris.Babcock
Use mmap/munmap for Android BinnedAllocFromOS
#ue4
#android
Change 3023947 on 2016/06/22 by Mark.Satterthwaite
Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.
Change 3024434 on 2016/06/23 by Lee.Clark
PS4 - Remove Delta Color Compression support
Change 3024735 on 2016/06/23 by Mark.Satterthwaite
Changes to MetalStatistics module initialisation.
Change 3024741 on 2016/06/23 by Mark.Satterthwaite
Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.
Change 3025477 on 2016/06/23 by Brent.Pease
+ Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
+ Change UEDeployAndroid.cs to use UnrealPluginLanguage
Change 3026085 on 2016/06/23 by Jeff.Campeau
Separate Xbox One target settings for editor only values
Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
Clean up cached ini sections for UBT/UAT
Change 3026093 on 2016/06/23 by Jeff.Campeau
Cleanup unused files
Change 3026745 on 2016/06/24 by Mark.Satterthwaite
+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.
- By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.
Change 3026831 on 2016/06/24 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3026940 on 2016/06/24 by Brent.Pease
PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)
Change 3027396 on 2016/06/24 by Brent.Pease
Add BuildGraph.csproj to get Xamarin .sln builds working again
Change 3029211 on 2016/06/27 by Michael.Trepka
Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user
Change 3029518 on 2016/06/27 by Josh.Adams
Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1
Change 3030385 on 2016/06/28 by Keith.Judge
Fix XB1 deployment issues with AppXManifest for Paragon.
Change 3030416 on 2016/06/28 by Lee.Clark
PS4 - Fix Mediaplayer IsPlaying
Change 3030922 on 2016/06/28 by Keith.Judge
XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.
Change 3030948 on 2016/06/28 by Jeff.Campeau
Revert to using constant chunk indexes instead of polling the OS.
(OS API has a bug that will not be fixed.)
Change 3031016 on 2016/06/28 by Brent.Pease
UEPLAT-1244 - Archive dSYM file
UEPLAT-1359 - Support creating dSYM bundle
Changes:
+ Added ios settings flag for dsym bundle
+ Added ios setting for creating xcode archive
+ xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is
Change 3031352 on 2016/06/28 by Bob.Tellez
Added tps file for xcodeunlock
Change 3031604 on 2016/06/28 by Mark.Satterthwaite
Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.
Change 3031879 on 2016/06/28 by Brent.Pease
+ PhysX libraries for bitcode support on tvOS.
Change 3032374 on 2016/06/29 by Keith.Judge
Enable Oodle Handler Component on Xbox One
Change 3032407 on 2016/06/29 by Keith.Judge
Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.
Change 3032432 on 2016/06/29 by Keith.Judge
XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.
Change 3033474 on 2016/06/29 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3033603 on 2016/06/29 by Brent.Pease
+ Support UnrealPluginLanguage for IOS and TVOS builds
+ Allow ios/tvos UPL files an opportunity to modify a package's info.plist file
Change 3034004 on 2016/06/30 by Lee.Clark
PS4 - Use SDK 3.508.101
Change 3034007 on 2016/06/30 by Lee.Clark
PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH
Change 3034173 on 2016/06/30 by Lee.Clark
PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure
Change 3034498 on 2016/06/30 by Jeff.Campeau
Use MSBuild version 14 when generating project files.
Change 3034943 on 2016/06/30 by Mark.Satterthwaite
For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.
Change 3035416 on 2016/07/01 by Lee.Clark
PS4 - Replace export vertex shader check with a CFLAG
Change 3036093 on 2016/07/01 by Brent.Pease
+ Fix dSYM bundle path on Windows ios builds
+ Search for DeltaCopy directory if its not found from the user settings
+ Do not build an XCArchive file when building for ios on non-mac platforms
Change 3036726 on 2016/07/02 by Brent.Pease
+ Add missing tvOS bitcode library
Change 3037455 on 2016/07/05 by Lee.Clark
PS4 - Default SmoothFrameRate to false
Change 3037470 on 2016/07/05 by Keith.Judge
Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.
Change 3038322 on 2016/07/05 by Jeremiah.Waldron
Fix for asset packages with Unicode characters in their name not being loaded on Android.
Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
- Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.
The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.
#jira UE-18643
#android
Change 3038693 on 2016/07/05 by Mark.Satterthwaite
Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.
Change 3039880 on 2016/07/06 by Mark.Satterthwaite
Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.
Change 3040407 on 2016/07/06 by Michael.Trepka
Added View->Enter Full Screen menu item for games on Mac
Change 3040550 on 2016/07/06 by Mark.Satterthwaite
Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.
Change 3041098 on 2016/07/07 by Peter.Sauerbrei
initial changes to get IOS builds from PC in launcher release of engine
Change 3041310 on 2016/07/07 by Keith.Judge
Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.
Change 3041327 on 2016/07/07 by Keith.Judge
Xbox One - Remove pointless memory barrier call in D3D11Query
Change 3041352 on 2016/07/07 by Keith.Judge
Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.
Change 3041419 on 2016/07/07 by Jeff.Campeau
Xbox One toolchain fix for VS2015 Update 3
Change 3041635 on 2016/07/07 by Jeff.Campeau
Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
#jira OR-15578
Change 3041735 on 2016/07/07 by Peter.Sauerbrei
re-enabled the build parameters for launcher release builds in IOS
Change 3041783 on 2016/07/07 by Joe.Graf
Changed bAutpApplyFailed to bAutoApplyFailed (typo)
Change 3041784 on 2016/07/07 by Joe.Graf
Fixed missing %s from a log message in UResavePackagesCommandlet
Change 3042434 on 2016/07/08 by Lee.Clark
PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.
Change 3042658 on 2016/07/08 by Lee.Clark
PS4 - Use SDK 3.508.201
Change 3042970 on 2016/07/08 by Josh.Adams
Redoing CL in 3040890 in Dev-Platform
Change 3043243 on 2016/07/08 by Chris.Babcock
clamped allowed slot range for gameplay debugger's categories
copy of CL# 3040313 from //UE4/Dev-Framework
#jira UE-32866
Change 3043500 on 2016/07/08 by Mark.Satterthwaite
Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.
Change 3044628 on 2016/07/11 by Mark.Satterthwaite
Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
#jira UE-32989
Change 3044948 on 2016/07/11 by Dmitry.Rekman
Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)
- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.
#jira UE-32973
Change 3045322 on 2016/07/11 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3046028 on 2016/07/12 by Lee.Clark
PS4 - Check for correct SDK installation
Allow use of 7th core when Morpheus is enabled
Change 3046339 on 2016/07/12 by Peter.Sauerbrei
fix for incorrect error message when iPhone Plus icon is the correct size
[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
if ( ! FPaths : : DirectoryExists ( DeltaCopyPath ) )
{
UE_LOG ( LogIOSTargetSettings , Error , TEXT ( " DeltaCopy is not installed correctly " ) ) ;
}
2015-03-16 10:01:04 -04:00
FString CygwinPath = TEXT ( " /cygdrive/ " ) + FString ( Path ) . Replace ( TEXT ( " : " ) , TEXT ( " " ) ) . Replace ( TEXT ( " \\ " ) , TEXT ( " / " ) ) ;
FString EnginePath = FPaths : : EngineDir ( ) ;
2015-04-30 08:18:31 -04:00
FString CommandLine = FString : : Printf ( TEXT ( " \" %s \\ ssh.exe \" \" %s \\ rsync.exe \" %s %s \" %s \" \" %s \" \" %s \" " ) ,
* DeltaCopyPath ,
* DeltaCopyPath ,
2015-03-16 10:01:04 -04:00
* ( Settings . RSyncUsername ) ,
* ( Settings . RemoteServerName ) ,
Path ,
* CygwinPath ,
* EnginePath ) ;
OutputMessage = TEXT ( " " ) ;
IPPProcess = MakeShareable ( new FMonitoredProcess ( CmdExe , CommandLine , false , false ) ) ;
IPPProcess - > Launch ( ) ;
TickerHandle = FTicker : : GetCoreTicker ( ) . AddTicker ( FTickerDelegate : : CreateRaw ( this , & FIOSTargetSettingsCustomization : : UpdateStatusDelegate ) , 10.0f ) ;
RunningIPPProcess = true ;
return FReply : : Handled ( ) ;
}
2014-10-30 17:05:10 -04:00
const FSlateBrush * FIOSTargetSettingsCustomization : : GetProvisionStatus ( ) const
{
if ( bProvisionInstalled )
{
return FEditorStyle : : GetBrush ( " Automation.Success " ) ;
}
else
{
return FEditorStyle : : GetBrush ( " Automation.Fail " ) ;
}
}
const FSlateBrush * FIOSTargetSettingsCustomization : : GetCertificateStatus ( ) const
{
if ( bCertificateInstalled )
{
return FEditorStyle : : GetBrush ( " Automation.Success " ) ;
}
else
{
return FEditorStyle : : GetBrush ( " Automation.Fail " ) ;
}
}
2014-11-13 17:30:33 -05:00
bool FIOSTargetSettingsCustomization : : UpdateStatusDelegate ( float DeltaTime )
{
2015-02-06 10:52:09 -05:00
if ( IPPProcess . IsValid ( ) )
2014-11-13 17:30:33 -05:00
{
2015-02-06 10:52:09 -05:00
if ( IPPProcess - > IsRunning ( ) )
{
return true ;
}
int RetCode = IPPProcess - > GetReturnCode ( ) ;
IPPProcess = NULL ;
UpdateStatus ( ) ;
2015-03-16 10:01:04 -04:00
UpdateSSHStatus ( ) ;
2014-11-13 17:30:33 -05:00
}
2015-02-06 10:52:09 -05:00
RunningIPPProcess = false ;
2014-11-13 17:30:33 -05:00
return false ;
}
2015-01-29 14:25:09 -05:00
TSharedRef < ITableRow > FIOSTargetSettingsCustomization : : HandleProvisionListGenerateRow ( ProvisionPtr InProvision , const TSharedRef < STableViewBase > & OwnerTable )
{
return SNew ( SProvisionListRow , OwnerTable )
2015-09-18 13:42:25 -04:00
. Provision ( InProvision )
. ProvisionList ( ProvisionList )
. OnProvisionChanged ( this , & FIOSTargetSettingsCustomization : : HandleProvisionChanged ) ;
}
void FIOSTargetSettingsCustomization : : HandleProvisionChanged ( FString Provision )
{
FText OutText ;
MobileProvisionProperty - > GetValueAsFormattedText ( OutText ) ;
if ( OutText . ToString ( ) ! = Provision )
{
MobileProvisionProperty - > SetValueFromFormattedString ( Provision ) ;
}
2016-01-07 11:21:22 -05:00
SignCertificateProperty - > GetValueAsFormattedText ( OutText ) ;
if ( Provision = = TEXT ( " " ) & & OutText . ToString ( ) = = TEXT ( " " ) )
{
bManuallySelected = false ;
FilterLists ( ) ;
}
else if ( ! bManuallySelected )
{
bManuallySelected = true ;
FilterLists ( ) ;
}
2015-01-29 14:25:09 -05:00
}
2015-10-02 14:24:38 -04:00
void FIOSTargetSettingsCustomization : : HandleCertificateChanged ( FString Certificate )
{
FText OutText ;
SignCertificateProperty - > GetValueAsFormattedText ( OutText ) ;
if ( OutText . ToString ( ) ! = Certificate )
{
SignCertificateProperty - > SetValueFromFormattedString ( Certificate ) ;
}
2016-01-07 11:21:22 -05:00
MobileProvisionProperty - > GetValueAsFormattedText ( OutText ) ;
if ( Certificate = = TEXT ( " " ) & & OutText . ToString ( ) = = TEXT ( " " ) )
{
bManuallySelected = false ;
FilterLists ( ) ;
}
else if ( ! bManuallySelected )
{
bManuallySelected = true ;
FilterLists ( ) ;
}
2015-10-02 14:24:38 -04:00
}
2015-01-29 14:25:09 -05:00
TSharedRef < ITableRow > FIOSTargetSettingsCustomization : : HandleCertificateListGenerateRow ( CertificatePtr InCertificate , const TSharedRef < STableViewBase > & OwnerTable )
{
return SNew ( SCertificateListRow , OwnerTable )
2015-10-02 14:24:38 -04:00
. Certificate ( InCertificate )
. CertificateList ( CertificateList )
. OnCertificateChanged ( this , & FIOSTargetSettingsCustomization : : HandleCertificateChanged ) ;
2015-01-29 14:25:09 -05:00
}
void FIOSTargetSettingsCustomization : : HandleAllProvisionsHyperlinkNavigate ( bool AllProvisions )
{
bShowAllProvisions = AllProvisions ;
FilterLists ( ) ;
}
void FIOSTargetSettingsCustomization : : HandleAllCertificatesHyperlinkNavigate ( bool AllCertificates )
{
bShowAllCertificates = AllCertificates ;
FilterLists ( ) ;
}
void FIOSTargetSettingsCustomization : : FilterLists ( )
{
FilteredProvisionList . Reset ( ) ;
FilteredCertificateList . Reset ( ) ;
2015-09-18 13:42:25 -04:00
for ( int Index = 0 ; Index < ProvisionList - > Num ( ) ; + + Index )
2015-01-29 14:25:09 -05:00
{
2016-01-07 11:21:22 -05:00
if ( SelectedProvision . Contains ( ( * ProvisionList ) [ Index ] - > Name ) & & SelectedFile . Contains ( ( * ProvisionList ) [ Index ] - > FileName ) & & ! bManuallySelected )
2015-01-29 14:25:09 -05:00
{
2015-09-18 13:42:25 -04:00
( * ProvisionList ) [ Index ] - > bSelected = true ;
2015-01-29 14:25:09 -05:00
}
else
{
2015-09-18 13:42:25 -04:00
( * ProvisionList ) [ Index ] - > bSelected = false ;
2015-01-29 14:25:09 -05:00
}
2015-09-18 13:42:25 -04:00
if ( bShowAllProvisions | | ( * ProvisionList ) [ Index ] - > Status . Contains ( " VALID " ) )
2015-01-29 14:25:09 -05:00
{
2015-09-18 13:42:25 -04:00
FilteredProvisionList . Add ( ( * ProvisionList ) [ Index ] ) ;
2015-01-29 14:25:09 -05:00
}
}
2015-09-18 13:42:25 -04:00
if ( ProvisionList - > Num ( ) > 0 )
2015-01-30 10:53:52 -05:00
{
if ( ProvisionInfoSwitcher . IsValid ( ) )
{
2015-02-06 10:52:09 -05:00
ProvisionInfoSwitcher - > SetActiveWidgetIndex ( 3 ) ;
2015-01-30 10:53:52 -05:00
}
if ( FilteredProvisionList . Num ( ) = = 0 & & ! bShowAllProvisions )
{
2015-09-18 13:42:25 -04:00
FilteredProvisionList . Append ( * ProvisionList ) ;
2015-01-30 10:53:52 -05:00
}
}
else
{
if ( ProvisionInfoSwitcher . IsValid ( ) )
{
2015-02-06 10:52:09 -05:00
ProvisionInfoSwitcher - > SetActiveWidgetIndex ( 2 ) ;
2015-01-30 10:53:52 -05:00
}
}
2015-10-02 14:24:38 -04:00
for ( int Index = 0 ; Index < CertificateList - > Num ( ) ; + + Index )
2015-01-29 14:25:09 -05:00
{
2016-01-07 11:21:22 -05:00
if ( SelectedCert . Contains ( ( * CertificateList ) [ Index ] - > Name ) & & ! bManuallySelected )
2015-01-29 14:25:09 -05:00
{
2015-10-02 14:24:38 -04:00
( * CertificateList ) [ Index ] - > bSelected = true ;
2015-01-29 14:25:09 -05:00
}
else
{
2015-10-02 14:24:38 -04:00
( * CertificateList ) [ Index ] - > bSelected = false ;
2015-01-29 14:25:09 -05:00
}
2015-10-02 14:24:38 -04:00
if ( bShowAllCertificates | | ( * CertificateList ) [ Index ] - > Status . Contains ( " VALID " ) )
2015-01-29 14:25:09 -05:00
{
2015-10-02 14:24:38 -04:00
FilteredCertificateList . Add ( ( * CertificateList ) [ Index ] ) ;
2015-01-29 14:25:09 -05:00
}
}
2015-10-02 14:24:38 -04:00
if ( CertificateList - > Num ( ) > 0 )
2015-01-30 10:53:52 -05:00
{
if ( CertificateInfoSwitcher . IsValid ( ) )
{
2015-02-06 10:52:09 -05:00
CertificateInfoSwitcher - > SetActiveWidgetIndex ( 3 ) ;
2015-01-30 10:53:52 -05:00
}
if ( FilteredCertificateList . Num ( ) = = 0 & & ! bShowAllCertificates )
{
2015-10-02 14:24:38 -04:00
FilteredCertificateList . Append ( * CertificateList ) ;
2015-01-30 10:53:52 -05:00
}
}
else
{
if ( CertificateInfoSwitcher . IsValid ( ) )
{
2015-02-06 10:52:09 -05:00
CertificateInfoSwitcher - > SetActiveWidgetIndex ( 2 ) ;
2015-01-30 10:53:52 -05:00
}
}
2015-01-29 14:25:09 -05:00
CertificateListView - > RequestListRefresh ( ) ;
ProvisionListView - > RequestListRefresh ( ) ;
}
2015-02-06 10:52:09 -05:00
bool FIOSTargetSettingsCustomization : : IsImportEnabled ( ) const
{
return ! RunningIPPProcess . Get ( ) ;
}
void FIOSTargetSettingsCustomization : : OnBundleIdentifierChanged ( const FText & NewText , ETextCommit : : Type CommitType , TSharedRef < IPropertyHandle > InPropertyHandle )
{
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
if ( ! IsBundleIdentifierValid ( NewText . ToString ( ) ) )
2015-02-06 10:52:09 -05:00
{
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
BundleIdTextBox - > SetError ( LOCTEXT ( " NameContainsInvalidCharacters " , " Identifier may only contain the characters 0-9, A-Z, a-z, period, hyphen, or [PROJECT_NAME] " ) ) ;
2015-02-06 10:52:09 -05:00
}
Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 3008177)
==========================
MAJOR FEATURES + CHANGES
==========================
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
#lockdown josh.adams
Change 2970373 on 2016/05/09 by Lee.Clark
PS4 - Fix NumInstances not getting reset after DrawIndirect calls
Change 2972873 on 2016/05/10 by Michael.Trepka
Correct initial position for SlateViewer windows on Mac
Change 2974363 on 2016/05/11 by Mark.Satterthwaite
Fix invoking buils using distcc from UFE - the command-line executed to access the number of parallel tasks was incorrect.
Change 2975921 on 2016/05/12 by Michael.Trepka
Removed unused AdjustWindowRegion declaration from LinuxWindow.h
#codereview Dmitry.Rekman
Change 2977002 on 2016/05/13 by Michael.Trepka
Make sure dSYM generation action in UBT on Mac does not start before the source dylib is ready
#codereview Ben.Marsh
Change 2977337 on 2016/05/13 by Brent.Pease
UE-27805 - Adding special characters into the BundleDisplayName or BundleName causes packaging error
+ Prevent illegal characters from being entered in the packaging UI
+ Report an error from iPhonePackager if a illegal bundle id is specified
+ Convert special characters to XML equivalents
- Correctly check for the presence of iTunes 12 when packaging iOS games on Windows
- Improve ios certificate and provision message in package settings UI
#codereview peter.sauerbrei
Change 2977509 on 2016/05/13 by Brent.Pease
+ Fix mac compile error
Change 2978036 on 2016/05/14 by Mark.Satterthwaite
One-line tweak that resolves incorrect rendering of the colour LUT because float imprecision allows -ve values to be passed into a call to pow which then generates NaN.
#jira UE-30777
Change 2978037 on 2016/05/14 by Mark.Satterthwaite
Fix a heap-use-after-free bug spotted by AddressSanitizer - you can't assume that the UObject system will be available in ShutdownModule() - on OS X it may have been killed a long time ago.
Change 2978333 on 2016/05/16 by Lee.Clark
Fix packaging of non-code projects when plugins are enabled
#codereview Peter.Sauerbrei
Change 2978780 on 2016/05/16 by Mark.Satterthwaite
Reduce temporary allocations required to set uniform parameters in Metal.
Change 2979680 on 2016/05/16 by Nick.Shin
editor's HTML5 platform settings was missing due to the emscripten SDK move
should have been included with CL: #2946251
Change 2979681 on 2016/05/16 by Nick.Shin
cleaned up websocket processing for HTML5
#jira UE-13657 - HTML5 plugin OnRawRecieve overflow
Change 2979701 on 2016/05/16 by Brent.Pease
UE-28421 - Message box cannot be closed after accessing the home screen on iOS
+ Implement a timeout when waiting for a reply after sending background/foreground/suspend events from the main thread to the game thread. This solves the immediate problem presented in the jira bug report, however, there are deeper issues with the consequences of blocking the game thread that are not addressed. Perhaps structuring the game thread loop to know about modal dialogs so that it can receive these events even when a modal dialog is up could be a better longer term solution
Change 2980766 on 2016/05/17 by Jeremiah.Waldron
Adding Android build support for HarfBuzz
- using a combination of android-cmake (from https://github.com/taka-no-me/android-cmake) to create the build files and Visual Studio 2015 to compile them
- Adding Debug and RelWithDebInfo compiled binaries to harfbuzz-1.2.4/Android/<arch>/<config>
Tested armv7 with TextShapingTest project on a GalaxyNote3 and text showed up correctly
#jira UE-28586
#codereview chris.babcock
Change 2980953 on 2016/05/17 by Jeremiah.Waldron
Changing HarfBuzz build script and libs to use Release instead of RelWithDebInfo
#jira UE-28586
Change 2981039 on 2016/05/17 by Jeff.Campeau
ICMP support disabled for Xbox One and basic address processing wrappers provided (needed for Oodle support)
Change 2981054 on 2016/05/17 by Jeff.Campeau
Enable Live OSS for Orion on Xbox One
Change 2981553 on 2016/05/18 by Jeff.Campeau
Enable Oodle for Xbox One
Change 2981555 on 2016/05/18 by Jeff.Campeau
Scalability settings for Xbox One
Change 2981774 on 2016/05/18 by Keith.Judge
Xbox One - Duplicating Movie Player fix from 4.12.
Change 2981789 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate fast semantics rendertarget unbind/clear/rebind fix from 4.12.
Change 2981802 on 2016/05/18 by Keith.Judge
Xbox One - Duplicate of distance field AO/Shadow fixes from 4.12.
Change 2981875 on 2016/05/18 by Keith.Judge
Xbox One - Dynamic VB/IB refactor. Duplicated from 4.12.
Change 2981900 on 2016/05/18 by Keith.Judge
Xbox One - D3D11Query refactor. Duplicated from 4.12
Change 2981945 on 2016/05/18 by Nick.Shin
filled out response headers for HTML5 platform
#jira UE-26047 - HTML5 HTTP Response Headers not implemented
Change 2981981 on 2016/05/18 by Lee.Clark
PS4 - Fix COTF not updating files
#codereview Daniel.Lamb
Change 2982246 on 2016/05/18 by Michael.Trepka
Fixed Mono compile errors in UT build scripts
Change 2983869 on 2016/05/19 by Mark.Satterthwaite
Explicitly retain/release all the MTLTexture objects in FMetalSurface without the assumptions about them being the same object - the recent stencil & SRV related changes make those assumptions invalid and could lead to over-releasing some textures.
#jira UE-29557
Change 2983871 on 2016/05/19 by Mark.Satterthwaite
Pool Metal texture update buffers to reduce churn.
Change 2983892 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2972885: Enable Metal resource lifetime delay on all platforms, not just iOS to try and address intermittent invalid resource errors.
Change 2983898 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2982825: Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
Change 2983911 on 2016/05/19 by Mark.Satterthwaite
Change Metal SubmitCommandsHint to use an enum of flags rather than boolean variables to control behaviour so that its clearer to the reader what is going to happen.
Change 2983916 on 2016/05/19 by Mark.Satterthwaite
Duplicate 4.12 CL #2974765: Workaround for UE-30069 - on Nvidia Macs we are breaking the GMux swap the second time we run the engine and it isn't clear why, so instead explicitly select the Metal device ourselves and don't allow the OS to swap the GPU driving the display. This will potentially reduce performance a little if the discrete GPU isn't already driving the display but until we know how we are clobbering the GMux/driver it is all we can do. This only applies to 10.11.5 with the default OS X drivers where there is more than one GPU in the system, earlier versions of OS X and the Nvidia WebDrivers are unaffected.
Change 2984874 on 2016/05/20 by Keith.Judge
Xbox One - Re-enable shader DXBC intermediate bytecode stripping, except for geometry and hull shaders where there's a possibility of runtime recompilation in certain combinations. Saves ~2MB in TM-ShaderModels, will save more in larger maps.
#jira UEPLAT-1295
Change 2985446 on 2016/05/20 by Mark.Satterthwaite
Remove the non-functional -metaldebug option from MetalRHI.
Change 2985827 on 2016/05/20 by Nick.Shin
call EndSession() onbeforeunload()
note: API CHANGE
- HTML5JavaScripteFx.{js,h}
- UE_MakeHTTPDataRequest()
#jira UE-22285 - Session End events are not generated for HTML5
Change 2986013 on 2016/05/20 by Jeremiah.Waldron
PR #2387: In-App Purchases - parameters needed for Receipt Validation (Contributed by gameDNAstudio)
Also touches IOS because of added RawPrice member in FInAppPurchaseProductInfo
Pulled from Release-4.12 CL
#jira UE-30782
#codereview chris.babcock, Peter.Sauerbrei
Change 2986057 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
Change 2986059 on 2016/05/20 by Mark.Satterthwaite
Move the Metal uniform buffers into the same resource pool as all the other buffers and add stats for how many buffers are in the pool, how much memory is in use, free and wasted (due to aligned-buffer sizes).
Change 2986060 on 2016/05/20 by Mark.Satterthwaite
Disable tiled-reflections on Nvidia & Intel Metal until they sort out the sample command on cube-arrays ignoring the lod level.
Change 2986063 on 2016/05/20 by Mark.Satterthwaite
Missing change from previous CL.
Change 2986066 on 2016/05/20 by Mark.Satterthwaite
More Metal stats tracking the number & memory size of id<MTLBuffer>'s allocated/released each frame.
Change 2986455 on 2016/05/23 by Keith.Judge
Xbox One - Fix precompile promise in shader compiler to not stop subsequent defines from being parsed by D3DCompiler.
Change 2986886 on 2016/05/23 by Mark.Satterthwaite
Duplicate 4.12 CL #2986880: Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
Change 2986955 on 2016/05/23 by Brent.Pease
+ Do not error out if "[PROJECT_NAME]" is in the bundle ID
#codereview peter.sauerbrei
Change 2987304 on 2016/05/23 by Chris.Babcock
Remove old Android platforms
#ue4
#android
#codeview Josh.Adams
Change 2987571 on 2016/05/23 by Mark.Satterthwaite
Duplicate CL #2967998: Integrate - MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
#jira UE-31111
Change 2987591 on 2016/05/23 by Mark.Satterthwaite
Remove usage of MTLRender/ComputeEncoder setSamplerState/s calls that take Min & Max Lod overrides - they currently don't work as expected on some GPU drivers and as we don't use them anywhere and I can't see that we will removing them costs us nothing and fixes tiled reflections on Nvidia with Metal SM5.
Change 2987679 on 2016/05/23 by Mark.Satterthwaite
Re-enable tiled reflections on Nvidia by default now that they work.
Change 2987799 on 2016/05/24 by Mark.Satterthwaite
Add a shader compile option "r.Shaders.ZeroInitialise" that we can turn on to force explicit zero-initialisation of local & temporary variables in hlslcc - so far only implemented for Metal. The default behaviour remains to omit zero-initialisation but the option is helpful to eliminate or track down uninitialised access in shaders that are causing real bugs (e.g. POM material relying on zero-initialised loop counters causing hangs/bad rendering on Mac).
Change 2989395 on 2016/05/25 by Lee.Clark
PS4 - Fix shader output / render target format mismatch for sparse MRT.
Change 2990003 on 2016/05/25 by Jeremiah.Waldron
When creating our own ConfigCacheIni in GetConfigCacheIni_APL, do not assume that the Engine ini was requested. Instead use the baseIniName passed to the function.
Change 2990393 on 2016/05/25 by Mark.Satterthwaite
Back out changelist 2961310 - causes more problems than it solves. DistanceField rendering will still work on Intel Metal SM5 and may work on AMD but will be broken on Nvidia due to a bad access within the compute shader - there's no bounds checking in Metal...
Change 2990516 on 2016/05/25 by Brent.Pease
+ UEPLAT-1294 - Support for local notifications
+ UEPLAT-1254 - Add BP event for device orientation change
+ Added a new class based on UGameInstance for mobile device callbacks
+ Ensured IOSAppDelegate.cpp follows convention for lambda functions
Change 2991361 on 2016/05/26 by Jeremiah.Waldron
Move InAppPurchase class to StoreHelper.java so GooglePlay and Amazon store helpers can use it
Change 2992450 on 2016/05/27 by Mark.Satterthwaite
Optional r.Shaders.BoundsChecking flag to control whether shader platforms should manually enforce buffer access bounds - HLSL returns zero or ignores invalid reads & writes but Metal leaves the behaviour undefined and some drivers then fail. By default this is off and its whatever the native platform behaviour is, enabling it will cost some amount of performance as the shader translator inserts additional instructions to try and match D3D as accurately as possible. This is required to fix GPU restart errors on some Metal drivers when using SM5 rendering features including DistanceField shaders.
Change 2993027 on 2016/05/27 by Mark.Satterthwaite
Fix typo for new CFLAG_BoundsChecking enumeration value.
Change 2993594 on 2016/05/27 by Mark.Satterthwaite
Build fix - check not assert...
Change 2993595 on 2016/05/27 by Mark.Satterthwaite
Fix typo from Xcode hang...
Change 2993614 on 2016/05/28 by Mark.Satterthwaite
At least for now enable shader zero-initialisation and bounds-checking on Mac to ensure that Metal shaders are compiled with semantics that approximate those HLSL assumes. This may cost some performance but will avoid a few GPU restarts on some vendor drivers.
Change 2993747 on 2016/05/28 by Mark.Satterthwaite
Separate texture & buffer references in the Metal backend as they bind to separate arrays in the runtime to avoid giving the side-table buffer an innaccessible binding index. Also the side-table doesn't need to be emitted if no buffer SRV or UAV is used.
Change 2994256 on 2016/05/31 by Lee.Clark
PS4 - Fix unitialized Head Position from HMD tracker when tracking fails. Fixes a problem with A3D audio not working.
#codereview Chad.Taylor,Aaron.McLeran
Change 2994281 on 2016/05/31 by Rolando.Caloca
DP - Allow hlslcc to process type casts containing the 'const' keyword
- it isn't strictly complete as it will simply omit the type qualifier from the cast in the AST but it is sufficient for FortniteFoliage_MasterMaterial to compile.
#codereview Mark.Satterthwaite, Dmitry.Rekman
#jira UE-31411
Change 2994467 on 2016/05/31 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2994493 on 2016/05/31 by Daniel.Lamb
Fixed issue with DDC commandlet not caching things from the startup packages list.
Change 2994644 on 2016/05/31 by Mark.Satterthwaite
Updated hlslcc Mac binaries with fix for UE-31411 which RCO accepted and submitted + script for building parsers on POSIX OSes hooked up to an Xcode scheme in the project.
Change 2996074 on 2016/06/01 by Lee.Clark
PS4 - Fix GS mode not getting disabled when using parallel contexts.
#codereview Marcus.Wassmer
Change 2996129 on 2016/06/01 by Brent.Pease
Manual merge of Pete's dsym generation fix (CL#2996089) from the 4.12 branch.
Change 2996130 on 2016/06/01 by Jeremiah.Waldron
PR #2387 part 2 (Contributed by gameDNAstudio)
Adding ability to consume purchases during GooglePlay RestorePurchases
This also touches IOS due to changes to base classes and function signatures
#codereview chris.babcock, Peter.Sauerbrei
Change 2996441 on 2016/06/01 by Jeremiah.Waldron
Relates to PR #2387: Adding ability to consume purchases during GooglePlay RestorePurchases (Contributed by gameDNAstudio)
Missing changes from part 2 reworked so that there is still only one RestorePurchases function which takes the product IDs and consumable flags. I reflected this in StoreHelper so no casting is necessary in GameActivity and the soon-to-be-added AmazonStoreHelper in the GameCircle plugin will still work dynamically with GameActivity since it will call StoreHelper functionality rather than a GooglePlayStoreHelper specific function.
#codereview chris.babcock
Change 2996514 on 2016/06/01 by Jeff.Campeau
Fix merge issue from main
#jira UE-31502
Change 2996740 on 2016/06/01 by Jonathan.Fitzpatrick
https://jira.ol.epicgames.net/browse/UE-31446
Two PS4 source files fail during unity builds due to name conflict with handleReserveFailed.
Renamed handleReserveFailed to handleReserveFailedLightweight
Change 2997235 on 2016/06/01 by Jeremiah.Waldron
RestorePurchases fix up in Match3 since the new Restore consumable stuff adds an additional pin to the Restore node.
The IAP product in Match3 is non-consumable so just passing an empty array where necessary
Change 2997241 on 2016/06/01 by Jeremiah.Waldron
OnlineSubsystemGameCircle Plugin
- Leaderboards
- Achievements
- Friends
- IAP
- External UI Interface
- Runtime Settings in Project Settings Plugin section when plugin is enabled
- Disabled by default
#jira UEPLAT-105
#codereview chris.babcock
Change 2997618 on 2016/06/02 by Lee.Clark
#UE4Docs: Removed PS4MapFileUtil info
Change 2997840 on 2016/06/02 by Jeremiah.Waldron
Removing trace logging from OnlineSubsystemGameCircle_APL
Change 2998754 on 2016/06/02 by Brent.Pease
Change BlueprintMobileLibrary to BlueprintPlatformLibrary
Change 3000762 on 2016/06/03 by Jeff.Campeau
Add example rating info to ShooterGame
Change 3001037 on 2016/06/04 by Brent.Pease
+ Add ui screens for delegate test, local notification test, and iap test
+ Implement delegate test
Change 3001250 on 2016/06/05 by Brent.Pease
+ Initial pass at IAP test screen
Change 3001639 on 2016/06/06 by Jeff.Campeau
Fix Xbox One build issue with DX12
#codereview Zabir.Hoque
Change 3002574 on 2016/06/06 by Jeremiah.Waldron
Adding Android Install Location to Android platform runtime settings and manifest generation
Change 3002780 on 2016/06/06 by Brent.Pease
+ Initial implementation of local notification test
Change 3003005 on 2016/06/06 by Jeremiah.Waldron
OnlineSubsystemGameCircle plugin - adding setting for Fire TV support. Using that specification in the APL to Add/Update android.hardware.touchscreen feature required attribute
Change 3004392 on 2016/06/07 by Jeremiah.Waldron
Fixing typo in APL comment :)
Change 3005768 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3005929 on 2016/06/08 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3006151 on 2016/06/08 by Peter.Sauerbrei
fix for LocalNotifications not available on TVOS
#lockdown josh.adams
Change 3006183 on 2016/06/08 by Brent.Pease
Manual merge CL#3000242 from Release-4.12 into Dev-Platform
#lockdown josh.adams
Change 3006296 on 2016/06/08 by Peter.Sauerbrei
submit an updated iPhonePackager and support DLLs
#lockdown josh.adams
Change 3006378 on 2016/06/08 by Peter.Sauerbrei
fix for API update to RestorePurchases
#codereview brent.pease
#lockdown josh.adams
#lockdown nick.penwarden
[CL 3008183 by Josh Adams in Main branch]
2016-06-09 17:45:44 -04:00
else
{
BundleIdTextBox - > SetError ( FText : : GetEmpty ( ) ) ;
FText OutText ;
InPropertyHandle - > GetValueAsFormattedText ( OutText ) ;
if ( OutText . ToString ( ) ! = NewText . ToString ( ) )
{
InPropertyHandle - > SetValueFromFormattedString ( NewText . ToString ( ) ) ;
FindRequiredFiles ( ) ;
}
}
}
void FIOSTargetSettingsCustomization : : OnBundleIdentifierTextChanged ( const FText & NewText , ETextCommit : : Type CommitType , TSharedRef < IPropertyHandle > InPropertyHandle )
{
if ( ! IsBundleIdentifierValid ( NewText . ToString ( ) ) )
{
BundleIdTextBox - > SetError ( LOCTEXT ( " NameContainsInvalidCharacters " , " Identifier may only contain the characters 0-9, A-Z, a-z, period, hyphen, or [PROJECT_NAME] " ) ) ;
}
else
{
BundleIdTextBox - > SetError ( FText : : GetEmpty ( ) ) ;
}
}
bool FIOSTargetSettingsCustomization : : IsBundleIdentifierValid ( const FString & inIdentifier )
{
for ( int32 i = 0 ; i < inIdentifier . Len ( ) ; + + i )
{
TCHAR c = inIdentifier [ i ] ;
if ( c = = ' [ ' )
{
if ( inIdentifier . Find ( gProjectNameText , ESearchCase : : CaseSensitive , ESearchDir : : FromStart , i ) ! = i )
{
return false ;
}
i + = gProjectNameText . Len ( ) ;
}
else if ( ( c < ' 0 ' | | c > ' 9 ' ) & & ( c < ' a ' | | c > ' z ' ) & & ( c < ' A ' | | c > ' Z ' ) & & c ! = ' . ' & & c ! = ' - ' )
{
return false ;
}
}
return true ;
2015-02-06 10:52:09 -05:00
}
2015-03-16 10:01:04 -04:00
void FIOSTargetSettingsCustomization : : OnRemoteServerChanged ( const FText & NewText , ETextCommit : : Type CommitType , TSharedRef < IPropertyHandle > InPropertyHandle )
{
FText OutText ;
InPropertyHandle - > GetValueAsFormattedText ( OutText ) ;
if ( OutText . ToString ( ) ! = NewText . ToString ( ) )
{
InPropertyHandle - > SetValueFromFormattedString ( NewText . ToString ( ) ) ;
OutputMessage = TEXT ( " " ) ;
UpdateSSHStatus ( ) ;
}
}
2015-02-06 10:52:09 -05:00
FText FIOSTargetSettingsCustomization : : GetBundleText ( TSharedRef < IPropertyHandle > InPropertyHandle ) const
{
FText OutText ;
InPropertyHandle - > GetValueAsFormattedText ( OutText ) ;
return OutText ;
}
2014-03-14 14:13:41 -04:00
//////////////////////////////////////////////////////////////////////////
2015-02-06 10:52:09 -05:00
# undef LOCTEXT_NAMESPACE