Commit Graph

45 Commits

Author SHA1 Message Date
Peter Sauerbrei
46a3007613 Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3496193)
#lockdown Nick.Penwarden
#rb none

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

Change 3385029 on 2017/04/07 by Chris.Babcock

	Remove unneeded BILLING permission for Android (it is added by enabling IAP)
	#jira UE-43583
	#ue4
	#android

Change 3388541 on 2017/04/11 by Will.Fissler

	Removed "MacNoEditor" and "WindowsNoEditor" as target platforms in the StrategyTV.uproject.

Change 3390026 on 2017/04/12 by Allan.Bentham

	Allow vertex texture reads on ES3.1 feature level
	#jira UE-43774

Change 3408788 on 2017/04/25 by Dmitriy.Dyomin

	Fixed: -iterativedeploy UAT option

Change 3418253 on 2017/05/02 by Allan.Bentham

	Enable ICF linker option in android tool chain.
	#jira UEMOB-167

Change 3426789 on 2017/05/05 by Jonathan.Fitzpatrick

	#jira UE-43518

	Fixed a missing cast to the proper game mode

Change 3427859 on 2017/05/08 by Dmitriy.Dyomin

	Avoid creating unnecessary FUniqueObjectGuid in foliage (prevents package dirty on actor deletion)

Change 3428842 on 2017/05/08 by Chris.Babcock

	Fix environment variable leakage in ant.bat patch (already in 4.16, didn't make the integration/merge)
	Fix Intermediate/Android/APK/src cleanup (already in 4.16, didn't make the integration/merge)
	#ue4
	#android

Change 3432096 on 2017/05/09 by Dmitriy.Dyomin

	Android LaunchOn improvements

Change 3433937 on 2017/05/10 by Chris.Babcock

	Enable XGE on non-build machine
	#ue4
	#android

Change 3434556 on 2017/05/11 by Dmitriy.Dyomin

	Added mobile separate translucency
	#jira UEMOB-146

Change 3436664 on 2017/05/12 by Dmitriy.Dyomin

	Fixed: missing translucent objects on mobile, fallout from separate translucency

Change 3437328 on 2017/05/12 by Allan.Bentham

	Add android versions of PRAGMA_DISABLE_OPTIMIZATION_ACTUAL and PRAGMA_ENABLE_OPTIMIZATION_ACTUAL

Change 3446874 on 2017/05/18 by Chris.Babcock

	Change FGenericPlatformMemoryConstants and FGenericPlatformMemoryStats to use uint64 instead of SIZE_T to handle >4GB Android devices running in ARMv7 mode
	#jira
	#ue4
	#android

Change 3448354 on 2017/05/19 by Dmitriy.Dyomin

	Added: Support sRGB texture sampling on Android ES 3.1 and Vulkan
	#jira UEMOB-190

Change 3451129 on 2017/05/21 by Dmitriy.Dyomin

	Added project option to limit gpu skinning to 2 bone per vertex (Rendering Settings -> Optimizations -> Limit GPU skinning to 2 bones influence)
	#jira UEMOB-154

Change 3451131 on 2017/05/21 by Dmitriy.Dyomin

	Fixed: NavMesh streaming - stable tile addressing

Change 3451141 on 2017/05/21 by Dmitriy.Dyomin

	Avoid drawing quads for clears on mobile

Change 3453549 on 2017/05/23 by Dmitriy.Dyomin

	Fixed wrong memreport for STAT_TextureMemoryCube, STAT_PrecomputedLightVolumeMemory, STAT_ReflectionCaptureMemory

Change 3458488 on 2017/05/25 by Dmitriy.Dyomin

	Added RenderDoc integration for Android

Change 3458589 on 2017/05/25 by Dmitriy.Dyomin

	Fixed foliage occlusion culling after world origin was rebased

Change 3462146 on 2017/05/26 by Nick.Shin

	HTML5 - merge from Release-4.16 to Dev-Mobile

	#jira none

	#rnx

Change 3462166 on 2017/05/26 by Nick.Shin

	HTML5 - fix viewport after returning from fullscreen

	PR: 113b9ea104

	#jira UE-44419  HTML5 - View does not redraw properly after returning from Fullscreen

	#rn fix viewport after returning from fullscreen

Change 3464093 on 2017/05/28 by Jack.Porter

	Fix for GenerateProjectFiles warnings

	#codereview: Nick.Shin

Change 3465335 on 2017/05/30 by Nick.Shin

	HTML5LaunchHelper.exe - current working directory "/" check

	#jira UE-45302  HTML5LaunchHelper.exe hosts the files in the current working directory on Linux

	#rnx

Change 3465499 on 2017/05/30 by Nick.Shin

	HTML5 - TaskGraph crash fix & compiler fix when STATS disabled

	#jira UE-44811  Projects crash when launching onto Firefox 64-bit

	#rnx

Change 3468295 on 2017/05/31 by Chris.Babcock

	Allow mediaplayer audio to be disable on Android
	#jira UE-45570
	#ue4
	#android

Change 3469099 on 2017/06/01 by Dmitriy.Dyomin

	Fixing mobile separate translucency after merge

Change 3470541 on 2017/06/01 by Chris.Babcock

	Fix Android.NewKeyboard behavior
	#jira UE-45612
	#ue4
	#android

Change 3470576 on 2017/06/01 by Chris.Babcock

	Blacklist DefaultBloomKernel on mobile platforms (unneeded and takes 32MB)
	#jira UE-45548
	#ue4
	#android

Change 3471583 on 2017/06/02 by Allan.Bentham

	#jira UEMOB-361
	Add experimental mobile PIE with device preview launch option.

Change 3471708 on 2017/06/02 by Allan.Bentham

	Fixes for no unity no pch CIS build.
	Add missing #includes

Change 3474619 on 2017/06/05 by Chris.Babcock

	Add support for optional Gradle build system
	#jira UEMOB-229
	#ue4
	#android

Change 3477357 on 2017/06/07 by Dmitriy.Dyomin

	Added GLES for RenderDoc capture on Android

	#contributed by Jimmy Lee (https://github.com/Oculus-VR/UnrealEngine/pull/7)

Change 3477953 on 2017/06/07 by Nick.Shin

	HTML5 memory/executable size pass

	these fixes contains:
	+ build shipping asmjs compressed files (remove serving non-compressed data file)
	+ phsyx updated emscripten toolchain cmake config override (i.e. removed EPIC_BUILD_FLAGS match)
	+ retired "/Script/BuildSettings.BuildSettings" config code
	+ added better verbose feedback to print optimization levels during packaging

	#jira UEMOB-382  HTML5 memory/executable size pass

	#rn a lot of stability fixes

Change 3479142 on 2017/06/07 by Chris.Babcock

	Update Clang version checks and handle 3.9
	#jira UE-45812
	#ue4
	#android

Change 3479416 on 2017/06/08 by Dmitriy.Dyomin

	Fixed UBT crash introduced in CL# 3477357

Change 3479425 on 2017/06/08 by Dmitriy.Dyomin

	Fixed: CustomDepth sampling outside of PP materials on Mobile
	#jira UE-44700

Change 3479600 on 2017/06/08 by Dmitriy.Dyomin

	Do "-skipdeploy" when packaging

Change 3481938 on 2017/06/09 by Dmitriy.Dyomin

	Fixed: LG G6, Samsung Galaxy S8 Letter box issue
	#jira UE-45164

Change 3482725 on 2017/06/09 by Chris.Babcock

	Fix out of bounds access to iChild
	#jira none

Change 3482735 on 2017/06/09 by Chris.Babcock

	Support for NDK14b and start of NDK15 support (Clang 5.0)
	#jira UEMOB-240
	#ue4
	#android

Change 3484209 on 2017/06/11 by Dmitriy.Dyomin

	fixed warning introduced in CL# 3481938

Change 3484256 on 2017/06/11 by Dmitriy.Dyomin

	Fixed: HighresShot with 'Use Customdepth as mask' in Feature level ES2 (Android preview rendering level) leads to Engine crash
	#jira UE-43655

	also requires content changes in CL# 3484255

Change 3484295 on 2017/06/12 by Dmitriy.Dyomin

	Fixed: Deferred Decals move with the camera in HTML5
	#jira UE-45606

Change 3484748 on 2017/06/12 by Chris.Babcock

	Add detection of Houdini (running on Intel Android CPU emulating ARM)
	#jira UE-45934
	#ue4
	#android

Change 3484766 on 2017/06/12 by Chris.Babcock

	Add missing log message for UsingHoudini
	#jira UE-45934
	#ue4
	#android

Change 3485762 on 2017/06/12 by Chris.Babcock

	Check in Gradle TPS
	#jira none
	#ue4
	#android

Change 3486596 on 2017/06/13 by Jack.Porter

	Fixed merge error

Change 3487559 on 2017/06/13 by Peter.Sauerbrei

	disable bEnableREmoteNotifications in binary builds

	#jira UE-44156

Change 3487875 on 2017/06/13 by Peter.Sauerbrei

	make it so we don't crash if the device isn't paired

	#jira UE-38247

Change 3487949 on 2017/06/13 by Peter.Sauerbrei

	fix for casing of DotNET in several locations from PR#3112 (portaloffreedom and Madh93)

	#jira UE-40396

Change 3488155 on 2017/06/13 by Peter.Sauerbrei

	fix for intermediate being lower cased when we want mixed case, keeps commandline txt file lower
	cased (original PR#2939 from kosz78, modified from that change)

	#jira UE-38737

Change 3488428 on 2017/06/13 by Chris.Babcock

	Fix permissions on gradlew on Mac and Linux
	#jira UE-46002
	#ue4
	#android

Change 3488735 on 2017/06/13 by Dmitriy.Dyomin

	Removed MDG note about crash on none-mali devices

Change 3488961 on 2017/06/14 by Dmitriy.Dyomin

	Fixed: scene capture component was applying only default ShowFlags in game

Change 3489162 on 2017/06/14 by Jack.Porter

	Removed checkbox "Deferred Rendering with Metal" on iOS.  This feature is no longer supported and will be replaced by a Metal 2-based renderer.

	#jira UE-41766

Change 3489192 on 2017/06/14 by Peter.Sauerbrei

	hide 32-bit and OpenGL options for IOS

	#jira none

Change 3489207 on 2017/06/14 by Peter.Sauerbrei

	make the MetalMRT setting hidden instead of removed

Change 3489593 on 2017/06/14 by Jack.Porter

	Removed the Android_All cook flavor as it's deprecated in favor of Android_Multi
	#jira UE-45469

Change 3491385 on 2017/06/15 by Dmitriy.Dyomin

	Fixed: SM_FireFX Particle not rendering for various Android texture compressions
	#jira UE-46083

Change 3491402 on 2017/06/15 by Dmitriy.Dyomin

	Fixed: Static + CSM shadows cause a crash
	#jira UE-46091

Change 3493586 on 2017/06/15 by Chris.Babcock

	Remove extra > in AndroidManifest
	#jira UE-46134
	#ue4
	#android

Change 3496193 on 2017/06/16 by Chris.Babcock

	Fix DeviceProfileManager setting in WEX
	#jira UE-46176
	#ue4
	#android

[CL 3496903 by Peter Sauerbrei in Main branch]
2017-06-16 20:17:59 -04:00
Ori Cohen
ad357b41a9 Copying //UE4/Dev-AnimPhys to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 3457157 by Ori Cohen in Main branch]
2017-05-24 14:14:53 -04:00
Rolando Caloca
f92fc1f2ad Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3274304)
#lockdown Nick.Penwarden
#rb none

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

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

	Only showing instruction count for 'Base pass shader' now

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

	DR - Async Compute PSO creation

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

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

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

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

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

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

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

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

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

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

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

	DR - Gfx async PSO creation prep

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

	Added 'Compile Unreal Lightmass' to error message

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

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

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

	Added InscatteringColorCubemapAngle to exponential height fog

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

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

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

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

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

	DR - PSO stats

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

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

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

	#jira UE-38615

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

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

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

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

	Added fastClamp to fastmath.usf

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

	Disabled bAffectDistanceFieldLighting on DefaultPawn, fixes VisualizeMeshDistanceFields in game

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

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

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

	Better distance field memory stats

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

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

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

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

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

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

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

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

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

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

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

	Added VisualizeGlobalDistanceField show flag

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

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

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

	Updating Planar Reflection example material in TM-Shadermodels

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

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

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

	Better support for static primitive becoming dynamic.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Integrate latest changes from MS-DX12 CLs 3231395-3262526

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

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

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

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

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

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

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

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

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

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

	Fix bad declaration.
	#3055

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

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

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

	Amend & integrate RCO's CL #3197085.

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

	DR - Detect duplicated shader and pipeline types

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

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

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

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

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

	D3D12 updateTexture2D crash fix

	#jira UE-41059

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

	#jira UE-40980
	#udn 325525

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

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

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

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

	DR - Update shader version

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

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

[CL 3274498 by Rolando Caloca in Main branch]
2017-01-26 19:20:49 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Ben Zeigler
24a8d60723 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None

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

Change 3173153 on 2016/10/25 by Graeme.Thornton

	Pak signing changes
	 - Integrated into EDL loader
	 - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.

Change 3173531 on 2016/10/25 by Steven.Hutton

	Removing unused j query packages.

Change 3174743 on 2016/10/26 by Gil.Gribb

	UE4 - fixed COTF with EDL

Change 3177896 on 2016/10/28 by Steve.Robb

	TSharedPtr and TSharedRef aliasing constructors.
	Removal of static_asserts for TSharedPtr<UObject>.

Change 3180343 on 2016/10/31 by Steve.Robb

	Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.

Change 3181382 on 2016/11/01 by Steve.Robb

	Visual Studio debugger visualizers for delegates.

Change 3182738 on 2016/11/02 by Graeme.Thornton

	Re-enable signed archive reader so non-pakpreacher based reads still get signature checked

Change 3183420 on 2016/11/02 by Steve.Robb

	Fix to TIsZeroConstructType for TScriptDelegate.

Change 3184872 on 2016/11/03 by Robert.Manuszewski

	Fixing memory stomps in SSL certificate initialization (found with mallocstomp)

Change 3184873 on 2016/11/03 by Robert.Manuszewski

	Adding thread safety checks to async loading code

Change 3185535 on 2016/11/03 by Ben.Zeigler

	Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.

Change 3186636 on 2016/11/04 by Graeme.Thornton

	AES encryption integrated into EDL system
	Pak signing and AES encryption now configurable by ini files rather than magical text files

Change 3186637 on 2016/11/04 by Graeme.Thornton

	Configured pak signing and encryption in ShooterGame for reference

Change 3186639 on 2016/11/04 by Graeme.Thornton

	Encryption changes for Orion
	* Move pak signing keys into new INI format
	* Add AES key and enable INI file encryption

Change 3186661 on 2016/11/04 by Graeme.Thornton

	Change unrealpak command line params to accept AES key as a separete parameter

Change 3186670 on 2016/11/04 by Robert.Manuszewski

	Adding a null check before using a package pointer in Linker code

	#jira UE-38237

Change 3186775 on 2016/11/04 by Graeme.Thornton

	Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
	 - PS4 and Mac fixes. Other platforms might need fixing too!

Change 3186823 on 2016/11/04 by Graeme.Thornton

	Fixed an incorrect size check in the EDL pak signing code

Change 3186925 on 2016/11/04 by Graeme.Thornton

	Allow UnrealPak to read encryption settings from project ini files

Change 3189885 on 2016/11/08 by Graeme.Thornton

	Static analysis warning fix

Change 3190015 on 2016/11/08 by Robert.Manuszewski

	Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread

Change 3190253 on 2016/11/08 by Chris.Wood

	Improved MDD performance for on the CR server.
	[UE-37566] - Improve MDD performance on CR server

	Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
	Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.

Change 3192993 on 2016/11/10 by Robert.Manuszewski

	Thread Heartbeat will no longer report the same hang multiple times.

Change 3193111 on 2016/11/10 by Robert.Manuszewski

	Minor change in the condition that detects the same hangs - allow the same callstacks from different threads

Change 3193168 on 2016/11/10 by Steve.Robb

	TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.

Change 3193171 on 2016/11/10 by Steve.Robb

	Easier debugging of FPendingRegistrantInfo map.

Change 3193188 on 2016/11/10 by Steve.Robb

	TAutoPointer deprecated.

Change 3193796 on 2016/11/10 by Graeme.Thornton

	Fix pak creation failure when no pak signing keys are supplied

Change 3194524 on 2016/11/11 by Graeme.Thornton

	Another static analysis warning fix

Change 3195119 on 2016/11/11 by Steve.Robb

	TAutoPtr deprecated.
	Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
	Some large headers moved into .cpp files.

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

	UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.

Change 3196878 on 2016/11/14 by Steve.Robb

	TScopedPointer deprecated.

Change 3198061 on 2016/11/15 by Steve.Robb

	Class array is no longer regenerated when saving UClasses.

Change 3198065 on 2016/11/15 by Robert.Manuszewski

	Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.

Change 3198199 on 2016/11/15 by Robert.Manuszewski

	Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.

Change 3199954 on 2016/11/16 by Graeme.Thornton

	Removing USING_SIGNED_CONTENT

Change 3200221 on 2016/11/16 by Chris.Wood

	CrashReportProcess code cleanup - removing unused using directives

Change 3200232 on 2016/11/16 by Chris.Wood

	Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
	UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives

	InvalidCrashReports now saved to S3 instead of local folder
	Removed option tosync MinidumpDiagnostics from Perforce
	Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
	Added improved logging to Slack with option to monitor MDD performance
	Added hourly log folders to MDD logs
	Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)

Change 3200382 on 2016/11/16 by Robert.Manuszewski

	Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).

Change 3200562 on 2016/11/16 by Gil.Gribb

	UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.

Change 3201093 on 2016/11/16 by Ben.Zeigler

	#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
	Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.

Change 3201736 on 2016/11/17 by Steve.Robb

	Strtoi64 platform and TCString functions.

	#fyi robert.manuszewski

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

	Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.

	Commandline:
	p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp

	#fyi robert.manuszewski

Change 3203757 on 2016/11/18 by Robert.Manuszewski

	Removing debug code from async loading code.

Change 3203927 on 2016/11/18 by Robert.Manuszewski

	Fixing comments in the async loading code.

Change 3204851 on 2016/11/18 by Steve.Robb

	Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.

Change 3204854 on 2016/11/18 by Steve.Robb

	UEnumProperty.

Change 3205027 on 2016/11/18 by Ben.Zeigler

	Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
	Add Get() to TSubclassOf so it matches our other wrappers
	Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
	Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf

Change 3206334 on 2016/11/21 by Ben.Zeigler

	#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
	#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
	Cook finishes but game is still crashing in some cases, so I might adjust this after other testing

Change 3206353 on 2016/11/21 by Ben.Zeigler

	Fix EnumProperty to handle EDL preload dependencies properly

Change 3206625 on 2016/11/21 by Ben.Zeigler

	Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient

Change 3206937 on 2016/11/21 by Ben.Zeigler

	#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
	Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
	Correctly save enum tag for enum properties, it was being set but not serialized

Change 3207002 on 2016/11/21 by Ben.Zeigler

	#jira UE-38799
	Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
	Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
	If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
	We should generally outlaw non-transient objects with transient outers, it does not do what people expect.

Change 3207032 on 2016/11/21 by Ben.Zeigler

	#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do

[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Josh Adams
8d2561486c Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3206916)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

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

	- Minor comment change

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

	Linux: default to GL4.

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

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

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

	Enable multithreaded lightmap encoding.

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

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

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

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

	- Fixed by CengizT.

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

	Moved new file to peoper spot

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

	- Fixed crash on audio free for Wolf

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

	- Fixed ShooterGame cooking after sync from main

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

	- test/shipping build wolf fixes

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

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

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

	- Fixed wrong path in JunkManifest.txt

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

	Linux: add AArch64 (ARM64) libs.

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

	Linux: add more files for AArch64.

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

	Linux: Add missed AArch64 libpng.

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

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

	#jira UE-36365

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

	Linux: fix PhysX on AArch64.

	(Edigrating 3184484 from Wombat to Dev-Platform).

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

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

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

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

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

	- Removed deprecated functions in NVN window creation

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

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

	#jira UE-37672

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

	Fix incorrect local platform identification in device manager.

	#jira UE-38312

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

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

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

	- Fixed default and Shooter App Ids for Switch

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

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

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

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

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

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

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

	Fixing issues with iOS remote notifications

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

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

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

	(Josh's suggestion worked out of the box)

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

	Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame

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

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

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

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

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

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

	#jira UE-38049

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

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

	#jira UE-38053

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

	fix for ios build from PC

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

	implement iOS device logs on windows

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

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

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

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

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

	- Enabled Switch for ShooterGame project

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

	Add warning for anyone still using XP

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

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

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

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

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

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

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

	- Updating editor icon for Switch
	#jira UE-38295

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

	Linux: put correct OpenAL lib per architecture.

	(Edigrating CL 3185947 from Wombat to Dev-Platform)

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

	- Fixed a shadow variable warning
	#jira UE-38408

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

	XP option removed

	#jira UEPLAT-1542

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

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

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

	- Fixed a crash in DeploymentServer

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

	Fix WinXP message spamming

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

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

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

	Linux: add support for touch events.

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

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

	HarfBuzz implementation for Xbox One

	#jira UE-28590

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

	Pump Xbox One messaging during slow startup tasks

	#jira UEPLAT-1276

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

	Use response files when building for Xbox One

	#jira UEPLAT-1296

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

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

	#1852
	#jira UE-24425

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

	Deduplicate Xbox One build.cs setup for several modules

	#jira UE-37540

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

	Linux: do not apply mouse workaround unnecessarily.

	- Only matters when there is more than one window.

	(Edigrating 3194399 from Wombat to Dev-Platform).

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

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

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

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

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

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

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

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

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

	Reworked a warning for the cooker.

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

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

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

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

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

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

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

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

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

	- Removed the crash with unknown socket error code, left in the warning

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

	Linux: repair launch on.

	(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)

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

	Linux: support selecting architectures per project.

	(Edigrating 3192783 from Wombat to Dev-Platform).

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

	Linux: fix code to determine number of cores.

	- ARM topology seems not to be in line with the assumptions made by x86-centric code.

	(Merging 3184632 from Wombat to Dev-Platform).

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

	- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
	#jira UE-38394

Change 3195151 on 2016/11/11 by Bart.Hawthorne

	- Add game server settings to project settings to connect to the actual game server, instead of the debug login
	- Use the system software dialog box to show error codes for login failures

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

	- Fixed copy and paste logs errors

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

	- Fixed some default values, especially for save games (uses their default of 4MB size)
	- Added some LotCheck write tracking

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

	Fix HarfBuzz warning on Xbox One

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

	- Fixed up some IsGameOnly calls
	#jira UE-37575

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

	UAT: fix CIS (removed old variables).

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

	- Final fix for name of .nsp (content only projects in Shipping config, etc)
	#jira UE-38394

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

	- Made translucent Switch icons

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

	- Fixed some Switch "space in path" issues
	#jira UE-38393

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

	- Handle making sure the save is completed before we shutdown
	#jira UE-38215

Change 3196593 on 2016/11/14 by Michael.Trepka

	Implemented Info string in AvfMedia for display in Media Player Editor

	#jira UE-35386

Change 3196782 on 2016/11/14 by Josh.Adams

	- Added a comment for a workaround

Change 3196784 on 2016/11/14 by Michael.Trepka

	Alembic importer for Mac

	#jira UE-37708

Change 3196901 on 2016/11/14 by Alicia.Cano

	ADB over wifi fails to deploy on Launch on.
	#jira UE-37957
	#android

Change 3197055 on 2016/11/14 by Josh.Adams

	- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment

Change 3197059 on 2016/11/14 by Josh.Adams

	- Removed some stat code with  no STATS

Change 3197066 on 2016/11/14 by Josh.Adams

	- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things

Change 3197176 on 2016/11/14 by Josh.Adams

	- Added some helper scripts to switch in and out of debug mode on Switch

Change 3197183 on 2016/11/14 by Bart.Hawthorne

	Error dialog fixes based on peer review feedback from JoshA

Change 3197339 on 2016/11/14 by Josh.Adams

	Allow -htcs on the commandline now to override disabling Htcs in packaged builds

Change 3197401 on 2016/11/14 by Josh.Adams

	- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
	#jira UE-38556

Change 3197691 on 2016/11/14 by Dmitry.Rekman

	Linux: save added devices.

	(Edigrating 3196529 from Wombat to Dev-Platform).

Change 3197854 on 2016/11/15 by Dan.Mahashin

	- MemoryProfiler2: fixed Switch parser file path in the csproj

Change 3197960 on 2016/11/15 by Dan.Mahashin

	- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)

Change 3198488 on 2016/11/15 by Bart.Hawthorne

	Submit missing NoRedist/DefaultEngine.ini file

Change 3198970 on 2016/11/15 by Michael.Trepka

	Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)

Change 3199050 on 2016/11/15 by Daniel.Lamb

	Some more output to help track down iterative cooking scenarios
	#test Cook paragon

Change 3199097 on 2016/11/15 by Josh.Adams

	- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
	- Fixed default Program Id in code
	- Fixed a problem with Run with a space in the path
	#jira UE-38608

Change 3199181 on 2016/11/15 by Dmitry.Rekman

	Fix CIS (compiling LinuxTargetDevice without engine).

Change 3199253 on 2016/11/15 by Dmitry.Rekman

	Hopeful fix for a static analysis warning.

Change 3199325 on 2016/11/15 by Joe.Barnes

	Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.

Change 3199814 on 2016/11/15 by Dmitry.Rekman

	Linux: remove forced -windowed when launching.

	(Merging CL 3199789 from Wombat to Dev-Platform)

Change 3200580 on 2016/11/16 by Josh.Adams

	Updasted DeploymentServer

Change 3200595 on 2016/11/16 by Joe.Barnes

	Removed inadvertent SleepThread() when starting movie playback.

Change 3200604 on 2016/11/16 by Josh.Adams

	- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware

Change 3200632 on 2016/11/16 by Brent.Pease

	Update PlatformShowcase with latest tests

Change 3200704 on 2016/11/16 by Dmitry.Rekman

	Linux: fix native compilation.

Change 3200711 on 2016/11/16 by Brent.Pease

	 - Support ios audio streaming from disk
	 - Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
	   + Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
	 - IOS audio implementation simplified to use new ADPCMAudioInfo functionality
	 - Fixed adpcm seamless looping

	NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...

Change 3201015 on 2016/11/16 by Josh.Adams

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

Change 3201023 on 2016/11/16 by Josh.Stoddard

	Fix splash screen assignment for iPad

	#jira UE-38623

Change 3201215 on 2016/11/16 by Brent.Pease

	Hopefully final fix for build breakage

Change 3201259 on 2016/11/16 by Josh.Adams

	- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
	- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
	- Reduced audio pool alignment to not waste massive memory from it

Change 3202332 on 2016/11/17 by Daniel.Lamb

	Changed build scripts to support iterative cooking
	#test Ran new build scripts

Change 3202371 on 2016/11/17 by Michael.Trepka

	Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations

	#jira UE-38392

Change 3202421 on 2016/11/17 by Michael.Trepka

	Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa

	#jira UE-18343

Change 3202462 on 2016/11/17 by Michael.Trepka

	Fixed HTTP If-None-Match response code on Mac and iOS

	Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html

	#jira UE-36317

Change 3202620 on 2016/11/17 by Daniel.Lamb

	Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
	Commandlets now do not always have  GIsRequestingExit true.
	Made crash handler check for commandlets running and exit appropriately.
	#test Rebuild lighting QAGame

Change 3202955 on 2016/11/17 by Daniel.Lamb

	Add support for clearing all the cached cooked platform data for a platform when requested.
	#test cook QA game
	#jira UE-38361

Change 3202983 on 2016/11/17 by Daniel.Lamb

	Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
	#test rebuild lighting Custom QAGame maps.
	#jira OR-31907

Change 3203128 on 2016/11/17 by Josh.Adams

	- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)

Change 3203537 on 2016/11/18 by Dmitry.Rekman

	Fix ProjectWorldToScreen node for letterboxed viewports.

	(Merging CL 3201546 from Wombat to Dev-Platform).

Change 3203540 on 2016/11/18 by Dmitry.Rekman

	Linux: be more verbose when setting vblank sync.

	(Merging CL 3199633 from Private-Wombat to Dev-Platform).

Change 3203599 on 2016/11/18 by Dmitry.Rekman

	Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).

	- PR #2849: Contributed by slonopotamus.

Change 3203610 on 2016/11/18 by Dmitry.Rekman

	Add CEF support for Linux (UE-6743).

Change 3203615 on 2016/11/18 by Dmitry.Rekman

	Linux: fix bootstrap script so it is independent of working dir (UE-37016).

	- PR #2842 contributed by slonopotamus

Change 3203645 on 2016/11/18 by Dmitry.Rekman

	Linux: fix UnrealCEFSubProcess.

Change 3203658 on 2016/11/18 by Dmitry.Rekman

	Remove hard-coded paths to mono binary (UE-35228).

	- Another way to implement pull request #2741.

Change 3203770 on 2016/11/18 by Josh.Adams

	- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code

Change 3204244 on 2016/11/18 by Dmitry.Rekman

	Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).

Change 3204277 on 2016/11/18 by Brent.Pease

	 + Fix seamless looping bug found on Dan's QAGame test
	 + Fix static analyzer warning (which was a real bug with uncompressed streaming)
	 + Code review feedback from Aaron
	 + Small addition from channel sync ios bug fix

Change 3204576 on 2016/11/18 by Omar.Rodriguez

	Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.

Change 3204629 on 2016/11/18 by Chris.Babcock

	Fix case of VulkanSwapChain.h #include
	#jira UE-38843
	#ue4
	#vulkan

Change 3204708 on 2016/11/18 by Josh.Adams

	- Set SwitchMoviePlayer to include the libs from the proper directory

Change 3204730 on 2016/11/18 by Josh.Adams

	- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS

Change 3204865 on 2016/11/18 by Brent.Pease

	 + Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.

Change 3204883 on 2016/11/18 by Dmitry.Rekman

	Linux: fix native LaunchOn (UE-38616).

Change 3204914 on 2016/11/18 by Brent.Pease

	 + Turn off the device check to prevent it from conflicting with remote packaging/launch-on

Change 3204940 on 2016/11/18 by Josh.Adams

	Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke

Change 3204952 on 2016/11/18 by Dmitry.Rekman

	Linux: fix bootstrap script (UE-38851).

	- Caused by UE-37016.

Change 3205630 on 2016/11/21 by Brent.Pease

	 + Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
	 + Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
	 + Cleaned up memory tracking and freeing.

	#jira ue-38846

Change 3205787 on 2016/11/21 by Josh.Adams

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

[CL 3206922 by Josh Adams in Main branch]
2016-11-21 20:27:58 -05:00
Robert Manuszewski
f4fb4b8596 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 2996057)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2975196 on 2016/05/12 by Robert.Manuszewski

	Garbage Collector will no longer be responsible for generating class token stream, instead the token stream will be generated on startup or when a class has finished loading.

	- This way we can avoid very long GC times after new blueprints have been loaded.
	- Temporarily enabled CLASS_TokenStreamAssembled check in development builds (for testing purposes)

Change 2993960 on 2016/05/30 by Robert.Manuszewski

	Fixing leaked linkers created by blocking load requests during async loading.

Change 2959398 on 2016/04/28 by Steve.Robb

	TMap references are strong and cannot be nulled by pending kill.  This makes references in values strong too, even though we only really care about keys, which will corrupt the map when nulled.

	#jira UE-20828

Change 2960723 on 2016/04/29 by Graeme.Thornton

	Fix for texture asset import data being ignored when async loaded

Change 2960938 on 2016/04/29 by Robert.Manuszewski

	Nulling out sql db handle after closing it.

Change 2967127 on 2016/05/05 by Steve.Robb

	Move constructors explicitly disabled in generated code.

Change 2967143 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2967164 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer

Change 2968650 on 2016/05/06 by Steve.Robb

	Fix for HotReload copying module manager.

Change 2968915 on 2016/05/06 by Robert.Manuszewski

	Fixing spelling of SetImageIntegrityStatus function name.

Change 2970406 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	Function uses '...' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.

Change 2970419 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.
	warning C6011: Dereferencing NULL pointer '...'.
	warning C6385: Reading invalid data from '...':  the readable size is '...' bytes, but '...' bytes may be read.
	warning C6386: Buffer overrun while writing to '...':  the writable size is '...' bytes, but '...' bytes might be written.

Change 2970431 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6299: Explicitly comparing a bit field to a Boolean type will yield unexpected results.

Change 2972032 on 2016/05/10 by Steven.Hutton

	Workflow fixes to bugg / crashgroup filtering. Filters should now correctly persist across queries.

Change 2972085 on 2016/05/10 by Steve.Robb

	Const-correctness fix for FLogCategoryBase::IsSuppressed.

Change 2972087 on 2016/05/10 by Steve.Robb

	ELogVerbosity moved into its own header.

Change 2972090 on 2016/05/10 by Steve.Robb

	Redundant ensure removed.

Change 2972103 on 2016/05/10 by Steve.Robb

	Removal of redundant use of USING_CODE_ANALYSIS.

Change 2972139 on 2016/05/10 by Steve.Robb

	Fix for ensure macros throwing C6326 warnings during static analysis.

Change 2972147 on 2016/05/10 by Steve.Robb

	Fix for UE_LOG_ACTIVE macro throwing C6326 warnings during static analysis.

Change 2972162 on 2016/05/10 by Steve.Robb

	SCOPE_CYCLE_COUNTER_GUARD removed.

Change 2972168 on 2016/05/10 by Steve.Robb

	Compile error fix for logOrEnsureNanError in static analysis builds.

Change 2973084 on 2016/05/10 by Chris.Wood

	Crash Report Server performance tweak

Change 2974030 on 2016/05/11 by Steve.Robb

	Fix for IPropertyHandle::SetValue - used to take a non-const reference to a const UObject*, now it takes const references to both non-const and const UObject*.

Change 2974053 on 2016/05/11 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2974191 on 2016/05/11 by Steve.Robb

	Fix for template instantiation error in VS2013.

Change 2975298 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2975318 on 2016/05/12 by Steve.Robb

	Fix for hot reload info being reported as warnings.

	#jira UE-30586

Change 2975447 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant.  Did you intend to use the bitwise-and operator?
	warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant.  <expression> is never evaluated and might have side effects.
	warning C6289: Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?
	warning C6316: Incorrect operator:  tested expression is constant and non-zero.  Use bitwise-and to determine whether bits are set.

Change 2975478 on 2016/05/12 by Steve.Robb

	Static analysis fixes for lots of redundant <zero constant> and <non-zero constant> warnings.

Change 2975538 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'StaticResource'

Change 2976640 on 2016/05/13 by Robert.Manuszewski

	Fixing crashes caused by token stream generation changes. Making sure the token stream gets re-generated when a class gets re-linked.

	#jira UE-30675

Change 2978320 on 2016/05/16 by Steve.Robb

	Fix for static analysis warnings in XNA headers.

Change 2978329 on 2016/05/16 by Steve.Robb

	Static analysis fixes:

	warning C6334: sizeof operator applied to an expression with an operator might yield unexpected results:  Parentheses can be used to disambiguate certain usages.

Change 2980222 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2980458 on 2016/05/17 by Chris.Wood

	Attempt to fix crash report submission problems from CRP to CR website
	[UE-30257] - Crashreports are sometimes missing file attachments

	Passing crash GUID so that website can easily check for duplicates in future
	Increased request timeout for AddCrash to be longer than website database timeout
	Logging retries for future visibility
	CRP v.1.1.6

Change 2980639 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2981750 on 2016/05/18 by Steve.Robb

	check()s in ContainerAllocationPolicies.h changed to checkSlow()s, as they only exist to check that the container has been written correctly.

Change 2982106 on 2016/05/18 by John.Mahoney

	Fixed a crash caused by loading two stat capture files simultaneously in the profiler.
	If the user tries to load a capture file while another load is in progress, the previous load is now cancelled and cleaned up before proceeding with the new load.
	Made the delegates in FNewStatsReader explicitly specify which profiler instance they are loading data for, instead of relying on the current value of LoadConnection->InstanceId.
	This also fixes a crash that occurs when selecting a different capture file in the "Stats dump browser" pane of the profiler (after using Load Folder) while another file is still loading.
	Cleaned up some weak pointer usage in the profiler window.

	#jira UE-30741

Change 2983366 on 2016/05/19 by Steven.Hutton

	Changes for passing crash type directly from CRP to CRW.

Change 2983394 on 2016/05/19 by Steven.Hutton

	Minor changes to add crash with more error reporting

Change 2984685 on 2016/05/20 by Robert.Manuszewski

	Merging //UE4/Dev-Main @ 2984626 to Dev-Core (//UE4/Dev-Core)

Change 2985143 on 2016/05/20 by Steve.Robb

	Missing semi-colons.

Change 2986463 on 2016/05/23 by Steve.Robb

	CopyTemp added to make it clear that you want to make a copy (rather than a move, or an accidental copy) at the call site of a function taking rvalue refs.

Change 2986475 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986476 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986480 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant

Change 2986515 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6340: Mismatch on sign: 'X' passed as _Param_(N) when some unsigned type is required in call to 'Func'

Change 2986680 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'Ptr':  the writable size is 'X' bytes, but 'Y' bytes might be written.
	warning C6387: 'Ptr' could be '0':  this does not adhere to the specification for the function 'Func'
	warning C6031: Return value ignored: 'snprintf'.
	warning C6340: Mismatch on sign: 'const unsigned int' passed as _Param_(4) when some signed type is required in call to 'snprintf'.

Change 2986865 on 2016/05/23 by Robert.Manuszewski

	Removing redundand AddReferencedObjects functions

Change 2987968 on 2016/05/24 by Robert.Manuszewski

	Removing redundant UPROPERTY macros from intrinsic classes.

Change 2987979 on 2016/05/24 by Steve.Robb

	Optimization of some FString and FPaths operations to produce fewer temporaries.

Change 2988297 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2988430 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6385: Reading invalid data from 'var':  the readable size is 'X' bytes, but 'Y' bytes may be read.

Change 2988461 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.

Change 2988464 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6262: Function uses 'X' bytes of stack:  exceeds /analyze:stacksize 'Y'.  Consider moving some data to heap.

Change 2988494 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 2989411 on 2016/05/25 by Robert.Manuszewski

	Splitting GC cluster index and intenral object flags to allow more UObjects in editor builds.

Change 2989429 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6387: '_Param_(X)' could be '0':  this does not adhere to the specification for the function 'Func'.

Change 2989982 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory 'LODPlanesMin'.

Change 2990018 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'X'

Change 2990077 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.
	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2990114 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.

Change 2990125 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.

Change 2990162 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6294: Ill-defined for-loop:  initial condition does not satisfy test.  Loop body not executed.

Change 2990193 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'type' contains the same NULL value as 'type->base_type' did.
	warning C6011: Dereferencing NULL pointer 'Semantic'.

Change 2991006 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28113: Accessing a local variable dummy via an Interlocked function:  This is an unusual usage which could be reconsidered.

Change 2991012 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6031: Return value ignored: 'InitializeCriticalSectionAndSpinCount'.

Change 2991013 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2991016 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2991017 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2991019 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6292: Ill-defined for-loop:  counts up from maximum.

Change 2991023 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6322: Empty _except block.
	warning C28251: Inconsistent annotation for 'WinMain': this instance has no annotations.

Change 2991070 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'Ptr1' contains the same NULL value as 'Ptr2' did.

Change 2991416 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992738 on 2016/05/27 by Steve.Robb

	Revert changes to FString::MatchesWildcard.

Change 2992916 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992960 on 2016/05/27 by Chris.Wood

	Optimized P4 access in Crash Report Process and MinidumpDiagostics.

Change 2992964 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2993956 on 2016/05/30 by Robert.Manuszewski

	Fixing a crash after adding a new C++ class in the editor - made sure new classes have the token stream assembled after hot-reload.

	#jira UE-31309

Change 2993977 on 2016/05/30 by Robert.Manuszewski

	Don't wait for all packages to finish loading before PostLoading those which already have.

Change 2994206 on 2016/05/31 by Robert.Manuszewski

	PR #2429: Three bug fixes required for script support to work properly (Contributed by pluranium)

#lockdown Nick.Penwarden

[CL 2996251 by Robert Manuszewski in Main branch]
2016-06-01 12:08:56 -04:00
Josh Adams
b9b38fe97b Copying //UE4/Dev-Platform to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2816560 on 2016/01/05 by Jeff.Campeau

	Remove duplicate CEF binaries

Change 2835599 on 2016/01/20 by Lee.Clark

	PS4 - Added pragma optimization macros

Change 2841103 on 2016/01/23 by Mark.Satterthwaite

	Integrate Git PR #1958: Fixed typo in EMetalFeatures enum
	#jira UE-25721

Change 2841369 on 2016/01/24 by Mark.Satterthwaite

	Fix for Metal crash due to attempt to set a null uniform & null SRV to a shader which requires both exist.
	#jira UE-25910

Change 2841795 on 2016/01/25 by Lee.Clark

	PS4 - MovieStreamer improvements

	* Use GPU for YUV conversion
	* Use new Software2 Decoder

Change 2842261 on 2016/01/25 by Mark.Satterthwaite

	Fix some memory leaks.

Change 2842831 on 2016/01/25 by Mark.Satterthwaite

	Metal implementation for RHIBlockUntilGPUIdle.

Change 2842838 on 2016/01/25 by Mark.Satterthwaite

	When using parallel command contexts in Metal we must ensure that the FRingBuffer is still valid, which means some smart/weak pointers are in order. We should also ensure that functions that may return auto-released objects are appropriately wrapped with scoped autorelease pools. Texture creation failures should also be fatal as we never expect that to occur.

Change 2842914 on 2016/01/25 by Mark.Satterthwaite

	Change assert in MetalTexture's format-shifting SRV constructor to enforce the Metal textureView limits:
	1. No format shifting for MSAA color buffers.
	2. No access to stencil in MSAA packed depth/stencil surface.

	This will allow Metal MSAA support to work on iOS when using separate depth & stencil textures since there's no format shifting involved there.
	#codereview peter.sauerbrei

Change 2843028 on 2016/01/25 by Mark.Satterthwaite

	In Metal wwitch to blit on the correct context when copying out the stencil data into the stencil SRV copy.

Change 2845531 on 2016/01/27 by Lee.Clark

	PS4 - Fix memory alignment  for back buffers
	* Fix memory alignment for MapLargeBlock
	* Fix available direct memory tracking

Change 2846491 on 2016/01/27 by Jeff.Campeau

	2015 compile fixes for Orion

Change 2847395 on 2016/01/28 by Mark.Satterthwaite

	Clear the stencil-SRV copy to 0 in Metal using a blit when created to avoid artefacts if used prior to the parent texture being rendered.
	#jira UE-25834

Change 2847419 on 2016/01/28 by Mark.Satterthwaite

	Apply the same fix to OpenGL's Stencil SRV logic as CL #2847395 applies to Metal.

Change 2848093 on 2016/01/28 by Mark.Satterthwaite

	Cache parallel encoding Metal contexts & reuse them rather than creating a new one each time in order to massively improve parallel encoding performance. This required adding a reset function to Metal's internal state-cache which calls the CommandEncoder wrapper's reset so we don't accidently retain previous state.

Change 2849469 on 2016/01/29 by Mark.Satterthwaite

	Defer render & compute command encoder construction to draw/dispatch etc to eliminate redundant encoders that then perform unnecessary driver & GPU synchronisation work. Currently Clear loadActions force an encoder even if it would then be empty as otherwise we see incorrect rendering. This needs to be tracked and optimised away too in order to achieve the same performance as D3D11.

Change 2849820 on 2016/01/29 by Daniel.Lamb

	Fixed issue where a single DDC back end would not create a hierarchy.
	#codereview Peter.Sauerbrei

Change 2850762 on 2016/02/01 by Jeff.Campeau

	System-wide critical section support for Xbox One

Change 2850763 on 2016/02/01 by Jeff.Campeau

	Network and product config for Orion

Change 2852459 on 2016/02/02 by Mark.Satterthwaite

	Temporarily disable the lazy render command-encoder construction while investigating why it turns some samples black in Metal SM5 mode.

Change 2853947 on 2016/02/03 by Mark.Satterthwaite

	Fix some lazy encoder construction fallout which also means we don't need to recreate render encoder state when performing profiling - the next draw/clear will do that as required.

Change 2854015 on 2016/02/03 by Mark.Satterthwaite

	Move Stencil SRV blitting into FMetalSurface::UpdateSRV called when binding the texture SRV instead of having it done immediately post-rendering. This should avoid paying for the blit when stencil SRV sampling is never used or multiple blits when render-encoders that write stencil are split up due to query buffer overflow or similar. The cost will be a blit per-bind instead which should be more predictable.

Change 2854142 on 2016/02/03 by Mark.Satterthwaite

	Implemented GetTextureBaseRHI (brought over from Dev-Rendering CL #2853948) for Metal to avoid unnecessary virtual function call chain to resolve the FMetalSurface* from an RHI texture.

Change 2854222 on 2016/02/03 by Mark.Satterthwaite

	Remove the uniform buffer resource caching from Metal to match Dev-Rendering CL #2853948.

Change 2854246 on 2016/02/03 by Mark.Satterthwaite

	Removed the uniform buffer resource caching from OpenGLDrv & implemented GetTextureBaseRHI to avoid unnecessary virtual function calls to match Dev-Rendering CL #2853948.

Change 2854279 on 2016/02/03 by Mark.Satterthwaite

	Remove direct access to the MTLCommandQueue, for parallel rendering to work we're going to need to do a bit of management that means its more sensible to keep it private.

Change 2855524 on 2016/02/04 by Lee.Clark

	PS4 - Fix Grayscale SRGB support

[CL 2898161 by Josh Adams in Main branch]
2016-03-07 20:55:29 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Ori Cohen
a2e6a388de Copying //UE4/Dev-Framework to //UE4/Main
#lockdown Nick.Penwarden

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

Change 2786974 on 2015/12/02 by Aaron.McLeran

	UE-23930 Fix for concatenator node's not working correctly when it has child nodes that are mixer nodes.

	- Fix was to track the number of sounds a sound a node can simultaneously play. In concatenator node, when a sound is notified as finishing, it tracks the sound index in the current child node before incrementing the child node index.

	#codereview marc.audy

Change 2787015 on 2015/12/02 by Lukasz.Furman

	changed color of root level decorator nodes in behavikor tree editor
	#ue UE-23957
	#rb Mieszko.Zielinski

Change 2787249 on 2015/12/02 by Ori.Cohen

	Make scene queries thread safe by ensuring that any data that is not thread safe is not returned. This is for the benefit of the user, but also we cannot access these pointers off the game thread.

	#rb Zak.Middleton

Change 2788469 on 2015/12/03 by Marc.Audy

	Ability system cleanup:
	Pass parameters around by const ref instead of value (FGameplayAbilityTargetDataHandle , TArray, FHitResult)
	Eliminate unnecessary multiple derferences of weak pointers in a single function
	Remove uses of auto, switch to using nullptr
	Reorganize booleans to properly pack them
	Const functions
	Properly mark functions virtual and override
	#rb Dave.Ratti, James.Golding

Change 2788787 on 2015/12/03 by Laurent.Delayen

	Reinitialize top level state machines when they become relevant, to match behavior of nested state machines.

	#rb lina.halper
	#codereview lina.halper

Change 2789417 on 2015/12/03 by Aaron.McLeran

	UE-19482 Fixing error in reporting audio asset memory usage for PS4 (and other platforms)

	- Issue was that USoundWave::GetResourceSize() was incorrectly summing uncompressed PCM data size alongside compressed data size for PS4
	- Added check using same condition in FAudioDevice::Precache which determines if compressed asset is fully decompressed into memory (and other decompression modes/types).

	#codereview marc.audy, marcus.wassmer
	#tests Tested loading maps in PS4 and confirming the uncompressed PCM data is not counted in audio asset resource size checks. Tested cooking assets in a map.

Change 2790152 on 2015/12/04 by Marc.Audy

	Avoid unnecessary TArray and FHitResult copies

Change 2790182 on 2015/12/04 by Laurent.Delayen

	Fixed notifies not being triggered when server calls Montage_JumpToSection.

	#rb lina.halper
	#tests Agora60p golden path, hyperbreach ultimate networked

Change 2790325 on 2015/12/04 by Zak.Middleton

	#ue4 - Optimized USceneComponent::SetWorldTransform() to avoid unnecessary copies and avoid unaligned SIMD reads and writes.

	#rb James.Golding, Chad.Taylor

Change 2792284 on 2015/12/06 by Marc.Audy

	Avoid unnecessary FGameplayTagContainer copies

Change 2792305 on 2015/12/06 by Marc.Audy

	Avoid unnecessary FGameplayAbilitySpec copies

Change 2792592 on 2015/12/07 by Martin.Wilson

	Remove component reregistering logic from SetSkeletalMesh

	#rb James.Goldng

Change 2792652 on 2015/12/07 by Ori.Cohen

	Add a way to opt out of ignoring trigger volumes. This makes it possible to run collision module off the game thread.

	#rb Gil.Gribb

Change 2793378 on 2015/12/07 by Lukasz.Furman

	fixed resetting path data between repaths
	#ue4 UE-22624
	#rb Mieszko.Zielinski

Change 2794690 on 2015/12/08 by Lina.Halper

	#ANIM: Skeleton
	- fix crash when retargeting source that has been edited in editor
	- make sure to copy sockets when retarget skeleton

	#RB: Martin.Wilson
	#Code review: Martin.Wilson

Change 2794694 on 2015/12/08 by Benn.Gallagher

	Fixed duplicate slot names in anim slot groups. This was caused by not building the slot->group mapping at serialize time. COL would then re-add all the used slots to the group for a second time as the mapping wasn't built until postload.
	#rb Lina.Halper

Change 2795241 on 2015/12/08 by Lukasz.Furman

	fixed potential division by zero in acceleration driven path following
	#ue4
	#rb Mieszko.Zielinski

Change 2796109 on 2015/12/09 by James.Golding

	Pass FGameplayCueParameters by const ref in more places (avoids malloc allocations due to containing 2 FGameplayTagContainers)
	#rb marc.audy
	#codereview david.ratti

Change 2796110 on 2015/12/09 by James.Golding
2015-12-17 12:11:11 -05:00
Daniel Lamb
36568c0f27 Added support for multiprocess cooking into unreal frontend.
Fixes for multiprocesscooking.

[CL 2611006 by Daniel Lamb in Main branch]
2015-07-06 10:03:34 -04:00
Bob Tellez
de3873b978 [AUTOMERGE]
#UE4 Reduced verbosity on expected case where a platform SDK might not be available.

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2601577 by Bob.Tellez on 2015/06/25 19:06:12.

[CL 2601580 by Bob Tellez in Main branch]
2015-06-25 19:07:10 -04:00
Daniel Lamb
c7ab70a799 Added initial support for multiprocess cooking.
[CL 2588827 by Daniel Lamb in Main branch]
2015-06-16 12:43:26 -04:00
Daniel Lamb
54efc7da37 Added additional error information for commandline users when entering incorrect targetplatform.
[CL 2520276 by Daniel Lamb in Main branch]
2015-04-21 18:57:46 -04:00
Gil Gribb
af0013893b UE4 - merged fix to eliminate redundant target platform loads
[CL 2508292 by Gil Gribb in Main branch]
2015-04-10 09:30:29 -04:00
Jaroslaw Surowiec
bfd53d64ac Stats - Added a few stats to track ini loading
[CL 2506614 by Jaroslaw Surowiec in Main branch]
2015-04-09 05:54:05 -04:00
Josh Adams
86f2e08a55 - Added support for DesktopPlatform to package content and executables together (editor's File | Package)
- This is a first pass
  - Mac uses data outside the .app so that there's only one copy of the content. This should get a bootstrap executable like Windows has
  - Only tested on Mac so far, although it doesn't handle D3D11 shaders, or some of the icon updating for the bootstrap working
- Added Desktop platform icons

[CL 2505866 by Josh Adams in Main branch]
2015-04-08 16:59:20 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Dmitry Rekman
bca67426e2 Fix SDK setup check for Linux.
#codereview Peter.Sauerbrei, Robert.Jones

[CL 2454437 by Dmitry Rekman in Main branch]
2015-02-20 23:37:46 -05:00
Robert Jones
f018da7ec4 - Fixing variable case in SDKSetup function
[CL 2413702 by Robert Jones in Main branch]
2015-01-21 09:13:13 -05:00
Robert Jones
b5a273a278 SDK path editing in editor.
- Added class to hold values (AndroidSDKSettings)
- Added code to Android editor module to setup the values on load
- Changed device detection so that the thread is always started and the SDK path can be changed on the fly
- Changed Platform Target Management Module so that a single platform can be checked via UBT
- Settings can now be sourced from an ini file via temp direct reading code (auto seralisation is disabled until later changes are made)
-- Settings currently not exposed in editor

- Added Mac Environment var setting support

Unreleated
- Envars can now be passed down to process start points in tools

#codereview michael.trepka

[CL 2412194 by Robert Jones in Main branch]
2015-01-20 10:05:42 -05:00
Richard TalbotWatkin
7510a0ba0f Improved splash screen and initialization process.
[CL 2390837 by Richard TalbotWatkin in Main branch]
2014-12-17 02:15:23 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00