- Added support for compression plugins
- Removed the Custom compression concept, now using plugins properly
- Modified UnrealPak to use FNames, and allow for multiple compression methods (fallbacks on error or unavailability, etc)
- Added project settings for compression method selection for UnrealPak, and additional settings to be passed to UnrealPak (for instance, to control compression size/speed, etc)
- Deprecated a bunch of old function calls
- Improved pak file "old format" reading ability
- Brought over some changes from Fortnite for pak file encryption and memory savings
- Implemented a parallel compression pull request (#4129) to speed up pak file compression
#jira UE-51294
#rb ben.marsh
[CL 4480944 by Josh Adams in Dev-Core branch]
#lockdown Nick.Penwarden
#rb None
============================
MAJOR FEATURES & CHANGES
============================
Change 3600639 by Nick.Shin
HTML5 remove old emscripten toolchain
forgot to remove this (was checked out in another changelist)
#jira UE-47813
Change 3600641 by Nick.Shin
HTML5 TM-Core crash fixes
new PhysX HTML5 libs
#jira UE-47813 Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox
Change 3600644 by Nick.Shin
HTML5 TM-Core crash fixes
emscripten doesn't seem to know how to look at <PxRigidActor> from the PxActor class...
#jira UE-47813 Index Out Of Bounds crash running "GC and Level Load Stress Test" in TM-Core on Firefox
Change 3600647 by Nick.Shin
HTML5 UInterpTrackInst::GetGroupActor()
pre-null check
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
Change 3601439 by Dmitriy.Dyomin
Fixed: Protostar leads to device reboot in Galaxy S7 Adreno device. (SM-G930V)
#jira UE-48323
Change 3601440 by Dmitriy.Dyomin
Fixed: Texture streaming after world origin was rebased
Change 3601456 by Dmitriy.Dyomin
Added: Async loading bytecode from shader library
- Shader library will be packed into single file
- Shader library will be created only when packaging project by the book
#jira UEMOB-381
Change 3601624 by Jack.Porter
Fix landscape crash on HTML5 Exception !IsInRenderingThread() failed.
#jira UE-48527
Change 3603890 by Dmitriy.Dyomin
GitHub 3905 : Engine crash in LandscapeComponent when streaming levels
#3905
#jira UE-48422
Change 3603933 by Dmitriy.Dyomin
Fixed: Crash after Splash Screen on Android (ETC2) when Adding r.UseShaderCaching and r.UseShaderPredraw
- Added r.SaveShaderCache command to save current cache on demand
- Removed support for caching multiple platfroms at the same time, each platform now uses separate cache/file
- Significantly reduced size of draw log on disk
- Mobile platfroms support only basic caching, logging shaders and bound shader states without full gfx state
#jira UE-47553
Change 3604050 by Sorin.Gradinaru
#jira UE-47428 Android virtual keyboard polishing
Done:
Multiline should be disabled when not needed
Hide suggestions and autocorrect
"Done" / back button behavior to make it feel natural - Done/Enter and the Back key event sent to the engine
If the keyboard is up and you click on the same control you're currently inputting into, it will hide the keyboard.
Look into animation - not critical.
S6 with Swiftkey. The numbers don't show up in our textedit but the string is updated (we see dots in the Slate control) with the password entry
Could not reproduce/test:
Make sure we don't use negative coords for the input box if the keyboard is at the top of the screen
Change 3604081 by Allan.Bentham
Reduce redundant log spam from SustainedPerformanceMode on android.
Change 3604152 by Allan.Bentham
Improved vulkanRHI availability and selection reporting.
Change 3604186 by Dmitriy.Dyomin
Vulkan: Write to buffers directly on UMA devices (no staging)
Change 3604396 by Nick.Shin
HTML5 - stats and multi-threading checks
more null & multi-threading - and some functions flat out disabled for HTML5 platform
the big "don't use on HTML5" is TLockFreeFixedSizeAllocator_TLSCacheBase's manual TLS.PartialBundle memory handler... i'm not sure it's working properly... switched on USE_NIEVE_TLockFreeFixedSizeAllocator_TLSCacheBase sections of code (i.e. basic malloc and free) for PLATFORM_HTML5
- it seems only the stats function was exacerbating the memory bug ... but, shutting this completely out for HTML5... don't know if it's an emscripten compiler/corruption that's causing this...
- will send this to emscripten makers as another test case for them to help see what's going on...
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
Change 3604752 by Allan.Bentham
Reduce battery status log spam.
Change 3604825 by Nick.Shin
HTML5 emscripten 1.37.19 updated license file
#jira UE-47813
Change 3606486 by Jack.Porter
Enabled refraction on tvOS
#jira UE-47229
Change 3606546 by Dmitriy.Dyomin
Vulkan: Missed null check from CL# 3601439
Change 3606654 by Allan.Bentham
mobile post process shaders will not attempt depth buffer fetch, instead they will always read from the depth texture.
#jira UE-41919
Change 3606672 by Dmitriy.Dyomin
Fixed: Vulkan mode crashes without error on Tegra K1 Nvidia Shield due to OOM
- fixed r.MobileReduceLoadedMips has no effect
- added r.MobileMaxLoadedMips to set a limit to a number of mips
- reduced size of vulkan allocation pages on android
#jira UE-42838
Change 3607204 by Allan.Bentham
Do not attempt getprocaddress for GL_EXT_DEBUG_LABEL functions when the extension is not declared.
Change 3607214 by Nick.Shin
HTML5 - stats font crash fix
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
Change 3609164 by Chris.Babcock
More informative Android SDK license requirements and errors
#jra UE-48837
#ue4
#android
Change 3609175 by Chris.Babcock
Linux build fix
#jira none
Change 3609516 by Dmitriy.Dyomin
Fixed: Decals in TM-ShaderModels appearing and disappearing when viewed at certain angles on Android
#jira UE-45342
Change 3609618 by Dmitriy.Dyomin
Back out changelist 3603933, to help merge from main
Change 3610979 by Peter.Sauerbrei
addition of asset catalogs for icons on Xcode 9 for iOS 11
Change 3612145 by Dmitriy.Dyomin
Resubmitting CL #3603933 (shader cache fixes)
Change 3613981 by Chris.Babcock
Fix issue with Android password keyboard input
#jira WEX-7343
#ue4
#android
Change 3614375 by Sorin.Gradinaru
#jira UE-44656 StrategyGame Crashes on launch on KindleFire 5th Gen.
Kindle Fire HD7 5th (CPU Mali 450) seems to have problems with thread rendering, crashing when returning to the main thread.
Added new device profile [Android_Mali_4xx_KindleFire] with a new cvar r.AndroidDisableThreadedRenderingFirstLoad=1, disabling movie player rendering on the intial screen. For subsequent loading screens, the (same) code apparently runs Ok.
A warning "Initial loading screen disabled from BaseDeviceProfiles.ini: r.AndroidDisableThreadedRenderingFirstLoad=1" should appear when the thread rendering is disabled
Change 3614971 by Cosmin.Sulea
UE-46769 - GitHub 3745 : bForcePVRTC4 was ignored.
#jira UE-46769
Change 3616431 by Peter.Sauerbrei
PR3657,3658 - fixes for InApp purchase bugs courtesy of nverenik
Change 3617306 by Jack.Porter
Fix issue where undocked tabs had no way to be made visible again when hidden
#jira UE-12044
Change 3617312 by Jack.Porter
Find a new best MobileDirectionalLights[channel] when then current one is removed from the world (eg by a level streaming operation)
#jira UE-47135
#3785
Change 3617383 by Dmitriy.Dyomin
Vk - only dynamic buffers in HostVisible on UMA devices
Change 3617437 by Dmitriy.Dyomin
Vk - SRV allocates one BufferView for each buffer in FVulkanResourceMultiBuffer, so they can be reused (contributed by Samsung)
Change 3617474 by Dmitriy.Dyomin
Vk - Don't use fences on image acquire on Android
Change 3617483 by Dmitriy.Dyomin
Vk - Remove redundant dynamic state setup (viewport, scissor, stencilref) (contributed by Samsung)
Change 3617521 by Dmitriy.Dyomin
Fix CIS warnings
Change 3617574 by Dmitriy.Dyomin
Vk - Optimized RenderPass pool and Framebuffer pool (reduced vkObject count) (contributed by Samsung)
ProtoStar: Framebuffer count : 133 -> 108, Renderpass count : 21 -> 18
Change 3617585 by Dmitriy.Dyomin
compile fix for CL# 3617574
Change 3617849 by Allan.Bentham
Log UnsatisfiedLinkError's content when loadlibrary fails.
Change 3617945 by Chris.Babcock
Allow UPL variable expansion in addPermission, addFeature, and addLibrary
#jira UE-47421
#ue4
#android
Change 3618097 by Allan.Bentham
Fix Y axis switch with android GLES when rendering triangles to canvas.
#jira UE-44510
Change 3618733 by Peter.Sauerbrei
fix from Dev-Rendering for tvOS shader compilation
Change 3618761 by Peter.Sauerbrei
fix for shader crash on startup on iOS
Change 3618769 by Peter.Sauerbrei
bump metal shader guid to force a rebuild of shaders
Change 3620061 by Peter.Sauerbrei
fix for resource directory on Asset catalogs
#jira UE-49074
Change 3620520 by Peter.Sauerbrei
remove the texture warning, the logic was incorrect and in the end we don't need the warning
#jira UE-49057
Change 3621811 by Allan.Bentham
Add mipindex and array slice index to framebuffer hashing code.
#jira UE-49171
Change 3624410 by Jack.Porter
Fix issue where the Shared Material Native Libraries checkbox causes packaging for Android to fail
#jira UE-49105
Change 3627361 by Jack.Porter
Fixing case on iOS files
#jira None
Change 3627362 by Jack.Porter
Fixed case on IOS files
#jira None
[CL 3627373 by Jack Porter in Main branch]
#rb none
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3292215 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and wbegl2 support
- emscripten toolchain
#jira UEPLAT-1437 Switch [to] web assembly
#rb none
Change 3293994 on 2017/02/09 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- OSX toolchain
#jira UEPLAT-1437 Switch [to] web assembly
#rb none
Change 3317951 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rb none
Change 3318669 on 2017/02/23 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rb none
Change 3462146 on 2017/05/26 by Nick.Shin
HTML5 - merge from Release-4.16 to Dev-Mobile
#jira none
#rb none
#rnx
Change 3504996 on 2017/06/22 by Cosmin.Sulea
UEMOB-362 - Add per-texture and per-format compression quality override settings
#rb Dmitriy.Dyomin
#jira UEMOB-362
#codereview Dmitriy.Dyomin
#codereview Jack.Porter
Change 3505056 on 2017/06/22 by Cosmin.Sulea
Back out changelist 3504996 - due to errors generated in xboxOne, PS4 and Switch versions
#rb none
Change 3508049 on 2017/06/23 by Nick.Shin
HTML5 toolchain notes corrections
#jira none
#rb none
#rnx
Change 3508663 on 2017/06/24 by Nick.Shin
HTML5LaunchHelper.exe on linux - redo
- it seems that i need to also check-in the exe and pdb file instead of having CIS make and checking-in them itself...
- modified c# program to output a version number to help track which version of HTML5LaunchHelper is running...
#jira UE-45302 HTML5LaunchHelper.exe hosts the files in the current working directory on Linux
#rnx
#rb none
Change 3509210 on 2017/06/26 by Dmitriy.Dyomin
ExposureScale will be applied during tonemap pass when MobileHDR is on
#rb jack.porter
#codereview Allan.Bentham
Change 3511058 on 2017/06/27 by Cosmin.Sulea
UEMOB-362 - Add per-texture and per-format compression quality override settings - resubmitted
#rb Dmitriy.Dyomin
#jira UEMOB-362
#codereview Dmitriy.Dyomin
Change 3511069 on 2017/06/27 by Jack.Porter
PS4, XboxOne and Switch fixes for changes to ITextureFormat interface
#rb Dmitriy.Dyomin
#jira UEMOB-362
Change 3513028 on 2017/06/28 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
#rb None
Change 3517409 on 2017/06/30 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
#rb None
Change 3517730 on 2017/06/30 by Cosmin.Sulea
UEMOB-328 - Improve handling of iOS signing key on remote Mac system keychain when using remote toolchain
#rb Jack.Porter
#jira UEMOB-328
#codereview: peter.sauerbrei
Change 3517757 on 2017/06/30 by Cosmin.Sulea
UE-46245 - Building with remote toolchain does not use Project Setting for iOS signing identity which can cause signing errors
#rb Jack.Porter
#jira UE-46245
#codereview: peter.sauerbrei
Change 3518149 on 2017/06/30 by Adrian.Chelu
UE-43035 Tilt axis for X and Z are not consistent between Android and iOS devices
#rb Jack.Porter
#jira UE-46245
#codereview: Chris Babcock <chris.babcock@epicgames.com>
Change 3524242 on 2017/07/06 by Nick.Shin
HTML5 - refraction shader
note: this CL also contains fixes to webgl2 [float4 vs half2] and a [% vs Mod()] material custom function changes to some TM-ShaderModels shaders
specifically: fixes to and similar with: DitherTemporalAA
#jria UE-46434 No Refraction in QA Game TM-Shadermodels HTML5
#rb none
#rn
#codereview jack.porter dmitriy.dyomin
Change 3535295 on 2017/07/13 by Allan.Bentham
#jira UEMOB-390
Add Android cpu stats.
add 'stat AndroidCPU' to android's console spinner UI.
increase GetCPUState's core count support to 16.
#jira UE-45888
Use cvar value to limit android cpu stat update rate.
#rb none
Change 3535306 on 2017/07/13 by Allan.Bentham
Add missing pragma once
#rb none
Change 3537047 on 2017/07/13 by Ben.Marsh
Fixing case of iOS directories, pt1
#rb none
Change 3537051 on 2017/07/13 by Ben.Marsh
Fixing case of iOS directories, pt2
#rb none
Change 3537373 on 2017/07/14 by Allan.Bentham
Add scope level android egl error verification.
work around minor issue with invalid egl config property.
#rb chris.babcock
Change 3541735 on 2017/07/18 by Allan.Bentham
Add 'sustained performance mode' support for API 24+ devices.
#jira UEMOB-386
#rb chris.babcock
Change 3543001 on 2017/07/18 by Sorin.Gradinaru
#jira UE-45766 Improved Virtual Keyboard cannot receive non-English characters.
- for Android, add an native EditBox above the virtual keyboard to receive the text and pass it to the object from the slate
#rb Chris.Babcock
Change 3554399 on 2017/07/25 by Nick.Shin
STATS disabled for non multi-threaded platforms
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
#rnx
#rb none
Change 3554402 on 2017/07/25 by Nick.Shin
STATS TaskGraph disabled for non multi-threaded platforms
#jira UE-47486 ( Pri:1 - 4.18 ) QAGame hard locks on Firefox when triggering Task Graph Benchmark test
#rb none
#rnx
Change 3556957 on 2017/07/26 by Nick.Shin
HTML5 - WASM enabled by default - part 1 -- commenting out asmjs stuff
begin sunsetting ASM.JS
note to self: CL#3462146 "backout" asmjs
#jira UEMOB-416 WASM enabled by default
#rnx
#rb none
Change 3557654 on 2017/07/26 by Nick.Shin
HTML5 - WASM enabled by default - part 2 -- remove asmjs code
sunsetting ASM.JS
note to self: CL#3462146 "backout" asmjs
#jira UEMOB-416 WASM enabled by default
#rn
#rb none
Change 3557910 on 2017/07/27 by Jack.Porter
Support Client configuration when packaging in the editor
#jira UE-39973
#rb Dmitriy.Dyomin
Change 3557917 on 2017/07/27 by Jack.Porter
Missing file from CL 3557910
#rb trivial
Change 3559642 on 2017/07/27 by Nick.Shin
STATS TaskGraph disabled for non multi-threaded platforms
- both "LockFree stress test" and "task graph benchmark" are disabled - no multi-threading for WASM exist yet (note: ASM.JS has been sunsetted)
- stat command crash "fixed" - but, font size are totally broken - i can look at this (much) later...
- new bug: physx will crash on "gc and level load stress test" -- please bug this as a new jira
#jira UE-47486 ( Pri:1 - 4.18 ) QAGame hard locks on Firefox when triggering Task Graph Benchmark test
#rb none
#rnx
Change 3565656 on 2017/07/31 by Dmitriy.Dyomin
Added a way to lock level position in Word Composition
#jira UE-47713
#rb none
Change 3565757 on 2017/08/01 by Dmitriy.Dyomin
compile fix
#rb none
Change 3567446 on 2017/08/01 by Chris.Babcock
Allow addElement and addElements to only insert once with once="true" attribute in UPL
#jira UE-47951
#ue4
#android
#rb Peter.Sauerbrei
Change 3567592 on 2017/08/01 by Chris.Babcock
Use absolute path for repositories for Gradle
#jira UE-47952
#ue4
#android
#rb Tim.Lincoln
Change 3568690 on 2017/08/02 by Chris.Babcock
Removed warnings for once attribute in UPL
#ue4
#android
#rb none
Change 3569975 on 2017/08/02 by Chris.Babcock
Add <baseBuildGradleAdditions> to UPL to allow additions to the root-level build.gradle
#jira UE-47995
#ue4
#android
#rb Tim.Lincoln
Change 3570117 on 2017/08/02 by Chris.Babcock
Add <setBoolFromPropertyContains> to UPL
- sets bool to true if string list in ini matches contains attribute
#jira UE-47996
#ue4
#android
#rb Jack.Porter
Change 3571552 on 2017/08/03 by Chris.Babcock
Removed unneeded settings.gradle file (generated)
#jira UE-48041
#ue4
#android
#rb none
Change 3572224 on 2017/08/04 by Dmitriy.Dyomin
Better selection tracking in world composition
#rb none
Change 3573662 on 2017/08/04 by Nick.Shin
HTML5 remove PreLoadMap "feature" (was only available/used with HTML5)
- asyncronous loads are not allowed during UEngine::LoadMap()
- the files/code will be repurposed for pakfile CHUNK support
#jira UEMOB-425 HTML5 streaming content investigation (part 1 of 2)
#rn
#rb none
Change 3574471 on 2017/08/07 by Dmitriy.Dyomin
Export ULevelStreamingKismet::LoadLevelInstance function
#rb none
Change 3576262 on 2017/08/08 by Dmitriy.Dyomin
Fixed: widget clipping issues in world composition
#rb none
Change 3576845 on 2017/08/08 by Nick.Shin
set HTML5LaunchHelper application's icon to UE4.ico
#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
#rb none
#rnx
Change 3578313 on 2017/08/09 by Dmitriy.Dyomin
Added: an RHI call to invalidate/clear cached state, RHIInvalidateCachedState
#jira UEMOB-435
#rb jack.porter
Change 3578364 on 2017/08/09 by Dmitriy.Dyomin
Vertex Fog is disabled on mobile by default. If scene uses vertex fog - Mobile preview and device will show on screen message: PROJECT HAS VERTEX FOG ON MOBILE DISABLED
This saves about 90 instructions in VS and a few in PS
#jira UEMOB-166
#rb jack.porter
Change 3578703 on 2017/08/09 by Nick.Shin
set HTML5LaunchHelper application's icon to UE4.ico
forgot to check in exe and pdb file
#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
#rb none
#rnx
Change 3578961 on 2017/08/09 by Peter.Sauerbrei
deprecate IOS 8 as the minimum OS supported.
#jira UEMOB-429
#rb chris.babcock
Change 3579319 on 2017/08/09 by Peter.Sauerbrei
fixes for compile errors with Xcode 9 beta 4
#rb none
Change 3579356 on 2017/08/09 by Peter.Sauerbrei
modified minimum IOS to build with
#rb chris.babcock
Change 3579687 on 2017/08/09 by Chris.Babcock
Fix GoogleVR Gradle packaging
#jira UE-48239
#ue4
#android
#rb none
Change 3579921 on 2017/08/10 by Dmitriy.Dyomin
GitHub 3670 : More zoom levels for World Composition (300)
#contributedby: user37337
#jira UE-45977
#3670
#rb none
Change 3580576 on 2017/08/10 by Peter.Sauerbrei
detection of iPad Pro 10.5 and IPad Pro 12.9 (2nd Gen)
#rb chris.babcock
Change 3580611 on 2017/08/10 by Chris.Babcock
Set online provider back to GooglePlay and remove forcing IAP permission (contributed by umerov1999)
#jira UE-48185
#PR #3876
#ue4
#android
#rb Peter.Sauerbrei
Change 3582166 on 2017/08/11 by Nick.Shin
nuke PLATFORM_HTML5_WIN32
PLATFORM_HTML5_WIN32 code removal tested successfully with (force rebuild and repackaging):
* Win64 server (WindowsServer)
* Win64 client (WindowsNoEditor)
* HTML5 client
all playing together via websocket net driver (i've attached a screen shot of this in jira)
code changes touches: physics, audio and main build files
#jira UEMOB-433 Remove Win32 SDL "HTML5 Simulator" code
#rb ben.marsh
#rnx
#codereview josh.adams
#fyi ori.cohen, aaron.mclera
Change 3582474 on 2017/08/11 by Chris.Babcock
Don't use V2 signing for Gear VR APKs
#jira UE-48354
#ue4
#android
#rb Peter.Sauerbrei
Change 3582614 on 2017/08/11 by Chris.Babcock
Filter out unneeded architectures from APK for Gradle builds
#jira UE-48355
#ue4
#android
#rb Peter.Sauerbrei
Change 3582923 on 2017/08/11 by Nick.Shin
backport release 4.17 to dev-mobile
#jira none
#rb none
#rnx
Change 3582924 on 2017/08/11 by Nick.Shin
FNetworkFileServerHttp - error gracefully when port is already in use
#jira UE-46409 [CrashReport] Assertion on Mac: Could not create a libwebsocket - FNetworkFileServerHttp::Init()
#rnx
#rb none
Change 3582925 on 2017/08/11 by Nick.Shin
HTML5 - turn off pak file compression in favor of gzip packages
#jira UE-46729 HTML5 - on shipping builds - turn off pak file compression in favor of gzip packages
#rn
#rb none
Change 3583943 on 2017/08/14 by Cosmin.Sulea
UEMOB-363 - second iteration - Project wide texture quality control by texture group
#rb Dmitriy Dyomin
#jira UEMOB-363
Change 3583967 on 2017/08/14 by Cosmin.Sulea
Back out changelist 3583943
#rb none
Change 3584121 on 2017/08/14 by Peter.Sauerbrei
fix for mac compile failure
#rb none
Change 3587877 on 2017/08/15 by Peter.Sauerbrei
josh's suggested fix is not working for Xcode 8.3, so brute forcing for now
#rb none
Change 3588612 on 2017/08/15 by Peter.Sauerbrei
Xcode 9 project compatbility updates
#rb chris.babcock
#codereview michael.trepka
Change 3589223 on 2017/08/15 by Dmitriy.Dyomin
Fixed: bNavigationAutoUpdateEnabled was not always working when reopeinig the map
Fixed: Navigation Build was not clearing some mesh tiles when bNavigationAutoUpdateEnabled is enabled
Fixed: Streaming out a level in editor was not always updating NavMesh debug draw
#rb lukasz.furman
Change 3589900 on 2017/08/16 by Dmitriy.Dyomin
Support vulkan validation layers on Android, only in Debug and Development configuration (requires r.Vulkan.EnableValidation=1)
#codereview chris.babcock, rolando.caloca
#rb none
Change 3590592 on 2017/08/16 by Nick.Shin
HTML5 emscripten 1.37.19 OSX
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 OSX
Change 3590597 on 2017/08/16 by Nick.Shin
HTML5 emscripten 1.37.19 Linux
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 Linux
Change 3590624 on 2017/08/16 by Nick.Shin
HTML5 emscripten 1.37.19 toolchain
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 toolchain
Change 3591720 on 2017/08/16 by Chris.Babcock
Enable Gradle by default and add button to accept Android SDK license to project settings
#jira UE-48519
#ue4
#android
#rb Tim.Lincoln
#fyi Peter.Sauerbrei
Change 3591998 on 2017/08/16 by Chris.Babcock
Fix nonunity build
#ue4
#android
#rb none
Change 3592407 on 2017/08/17 by Nick.Shin
HTML5 emscripten 1.37.19 Win64
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 Win64
Change 3592479 on 2017/08/17 by Nick.Shin
HTML5 3rd Party Libs - compiled with emscripten 1.37.19
#jira UE-47813
#rb none
#rn HTML5 3rd Party Libs - compiled with emscripten 1.37.19 toolchain
Change 3592480 on 2017/08/17 by Nick.Shin
HTML5 emscripten 1.37.19 toolchain Epic edits
as well as setting UE4 HTML c# scripts to use new toolchain
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 toolchain Epic edits
Change 3592481 on 2017/08/17 by Nick.Shin
HTML5 remove old emscripten toolchain
#jira UE-47813
#rb none
#rn HTML5 remove old emscripten toolchain
Change 3592485 on 2017/08/17 by Nick.Shin
HTML5 undo CanUseXGE - this might be breaking CIS for HTML5 builds...
#jira UE-47813
#rb none
#rnx
Change 3592549 on 2017/08/17 by Dmitriy.Dyomin
Added GetDiskTotalAndFreeSpace for IOS and Android
#jira UE-46479
#codereview chris.babcock, peter.sauerbrei
#rb none
Change 3594045 on 2017/08/17 by Peter.Sauerbrei
comment about potential failure case in the remote tool chain
#rb none
Change 3594342 on 2017/08/17 by Peter.Sauerbrei
Merging
//UE4/Main/...
to //UE4/Dev-Mobile/...
#rb none
Change 3594920 on 2017/08/17 by Peter.Sauerbrei
fix for non-unity builds (accidentally merged something incorrectly)
#rb none
Change 3595347 on 2017/08/17 by Chris.Babcock
merge fixes for Android
#ue4
#android
#rb Peter.Sauerbrei
#lockdown Peter.Sauerbrei
Change 3595752 on 2017/08/17 by Chris.Babcock
Update Facebook plugin to support Gradle
#jira UE-48569
#ue4
#android
#fyi Josh.Markiewicz
#rb none
#lockdown Peter.Sauerbrei
Change 3595849 on 2017/08/17 by Chris.Babcock
Fix issue with libovrplatformloader.so for non armv7 targets
#jira UE-48533
#ue4
#android
#rb none
#lockdown Peter.Sauerbrei
Change 3596419 on 2017/08/18 by Peter.Sauerbrei
fix for Mac Editor build failure
#rb none
Change 3597023 on 2017/08/18 by Peter.Sauerbrei
fix for game editor build failure
#rb none
Change 3597032 on 2017/08/18 by Peter.Sauerbrei
fix for app bundle id in Info-Editor.plist
#rb none
Change 3597034 on 2017/08/18 by Peter.Sauerbrei
put back the info.plist, found the real problem
#rb none
Change 3597197 on 2017/08/18 by Peter.Sauerbrei
pull Info.plist from the build products
#rb none
[CL 3600450 by Chris Babcock in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3372740 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3374187 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454636 by Uriel.Doyon
Fixed point light having an extra scale of 16 in mobile
#jira UE-45272
Change 3454844 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3461206 by Guillaume.Abadie
Adds possibility to scene captures and player controller to render no primitives at all.
Change 3461207 by Guillaume.Abadie
Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline.
#jira UE-6810
Change 3461233 by Chris.Bunner
Added Log10 material expression.
Added tooltip for Log2 and Log10.
Change 3461434 by Michael.Trepka
Copy of CL 3456118
In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads.
#jira UE-44961
Change 3461770 by Benjamin.Hyder
Submitting TM-RayTracedDistanceField map
Change 3461929 by Marc.Olano
Add Sobol blueprint and material node test maps to RenderTest project
Change 3462249 by Uriel.Doyon
Translucency after DoF is now disabled when showflag postprocess is disabled.
Change 3462371 by Brian.Karis
VT addressing is now 64bit to support huge sparse virtualized volumes
16bit page tables working.
Change 3462936 by Marc.Olano
Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions
Change 3464394 by Uriel.Doyon
Improved synchronization for texture streaming commands.
This fixes an issue when accessing FStreamingTexture for pending textures.
Change 3464743 by Guillaume.Abadie
Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time.
Change 3464818 by Guillaume.Abadie
Fixes compilation error in FindShaderRelativePath
Change 3465184 by Daniel.Wright
r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings
Change 3465283 by Marc.Olano
Update Sobol Gray code tables to match random order tables
Change 3465976 by Arne.Schober
DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas.
#RB none
Change 3467513 by Guillaume.Abadie
Fixes an issue where primitives would no longer draw in gameplay.
#jira UE-45550
Change 3471116 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms. Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes.
- Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error. HLSL register binds not implemented in metal backend.
#jira UE-39108
Change 3471117 by Richard.Wallis
Drop down menus clip on 27" Screen iMacs. Disable viewport HDR rendering on macOS 10.12.x when in editor.
#jira UE-43026
Change 3471130 by Richard.Wallis
Mac GPU hang causes editor output log to be written to the wrong file. Try to emulate windows behaviour when opening a file for reading or writing. Tested against behaviour of windows log file with multiple instances running.
- Only defined in for Mac and non shipping.
#jira UE-44934
Change 3471224 by Guillaume.Abadie
Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects.
Change 3471646 by Daniel.Wright
Fixed ensure opening UT system settings
Change 3471862 by Arne.Schober
DR - revert accidently checked in changes.
#RB Chris.Bunner
Change 3472249 by Guillaume.Abadie
Implements virtual shader source directory mapping.
- /Engine/... maps to Engine/Shaders/...
- /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory
- /Project/... maps to project's Shaders/ directory
Change 3472443 by Daniel.Wright
Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible
Change 3474537 by Uriel.Doyon
Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)
Change 3475192 by Guillaume.Abadie
Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475209 by Guillaume.Abadie
Back out changelist 3475192
Change 3475252 by Guillaume.Abadie
Reland: Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475389 by Guillaume.Abadie
Adds LensDistortion plugin's feature tests.
Change 3475538 by Guillaume.Abadie
Adds the /Engine/* prefix on all of the renderer's USF file references.
Change 3475568 by Guillaume.Abadie
Adds a check for virtual shader source file path format in FShaderType::FShaderType()
Change 3475871 by Guillaume.Abadie
Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath
Change 3475997 by Yujiang.Wang
Workaround for a compiler optimization bug introduced in VS2015 Update 3.
* The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark.
* Debug builds don't exhibit this bug.
* Semantics are exactly the same as the original code.
Change 3476203 by David.Hill
Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes. Only seen when Levels >=2
#jira UE-45741
Change 3476536 by Benjamin.Hyder
adding player start to Ray Traced Distance Field Shadows Map
Change 3478298 by Benjamin.Hyder
disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map
Change 3478948 by Rolando.Caloca
DR - Nicer check
Change 3478949 by Rolando.Caloca
DR - Default GPU morphs to enabled
Change 3478950 by Rolando.Caloca
DR - By default -vulkan will launch SM5
Change 3478984 by Rolando.Caloca
DR - Pass down -vulkan
Change 3479655 by Richard.Wallis
Video track does not switch in AVF Media Player. Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track.
- Minimal change to allow video track changes/selection.
- Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput. Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to...
- Flush the audio sink sample buffers so we get instant audio track changes
#jira UE-39750, UE-39749
Change 3479834 by Rolando.Caloca
DR - Fix issue with bad vertex colors (per licensee)
Change 3480376 by Guillaume.Abadie
Disables ComputeLightGrid() if no volumetric fog and no lighting.
#jira UE-45377
Change 3480596 by Yujiang.Wang
Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection
* Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection
* Fixed by taking View.bReverseCulling into account
#jira UE-34452
Change 3480600 by Yujiang.Wang
Fix for UE-42376
* The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently.
* This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap
* If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed.
#jira UE-42376
Change 3480784 by Rolando.Caloca
DR - hlslcc - Initial support for [RW]StructuredBuffer
Change 3481690 by Uriel.Doyon
Attempt to fix static analysis warning
Change 3482012 by Simon.Tovey
Fixed issue when building distribution lookup tables where the final sample fell short of the max input time.
As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT.
#tests constant interpolation now works.
#jira UE-45614
Change 3482965 by Yujiang.Wang
Some quality of life changes for UE-42757
* The UV overlay in static mesh editor now has a darker background
* Selected edges are getting highlighted and bolder
* When some edges are selected others turn grey
#jira UE-42757
Change 3483014 by David.Hill
Change labels on bloom boost from x,y,z to min, max, mult.
#jira UE-43904
a PropertyRedirect in BaseEngine.ini allows this to work with older version.
Change 3484573 by Yujiang.Wang
Fix for shadow color not updated after light build when a texture is changed and reimported
* Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter
* Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed
#jira UE-45647
Change 3484969 by Yujiang.Wang
Fix for UE-39929 inconsistent type between C++ and shader code
* MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp
* Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp
#jira UE-39929
Change 3485012 by Yujiang.Wang
Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT
#jira UE-39929
Change 3485146 by Guillaume.Abadie
Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround.
#jira UE-43455
Change 3486602 by Joe.Conley
Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph.
Change 3487471 by Yujiang.Wang
Github #3659: Improved performance of DumpUnbuiltLightInteractions
* Replaced TArrays with TSets
#jira UE-45783
Change 3487641 by Guillaume.Abadie
Fixes some shader file name casing issues in LPV.
Change 3488014 by Uriel.Doyon
New AllowAsyncLoading flag for UTexture::CachePlatformData().
It allows to load the source texture data in the async task if the source bulk data was not yet loaded.
Data loaded that way is not sharable between tasks and will be discarded.
This is required because updating the source data is not thread safe.
#jira UERNDR-190
#jira UE-33401
Change 3488249 by Uriel.Doyon
Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore.
Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change.
#jira UE-46004
Change 3490228 by Mark.Satterthwaite
Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type).
#jira UE-46067
Change 3490538 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3490551 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3491828 by Guillaume.Abadie
Fixes another USf file reference casing issue in C++.
Change 3491924 by Yujiang.Wang
Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level
* Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp
* We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black
#jira UE-43302
Change 3492359 by Guillaume.Abadie
Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping().
Change 3492367 by Marc.Olano
Change Sobol texture size to 32x16, tweak distribution
Change 3492599 by Marcus.Wassmer
PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01)
Change 3493473 by Uriel.Doyon
Back out changelist 3490538
Change 3493590 by Uriel.Doyon
Back out changelist 3490551
Fixed missing #pragma once
Change 3493911 by Marcus.Wassmer
Fix potential GPU crash/hang caused by out of bound subresource updates.
Added checks at cross-platform level to catch any instance earlier.
Change 3494139 by Uriel.Doyon
Fixed shadow variable issue on UE4Editor Linux.
Change 3494364 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt. Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4.
OpenGL left in the following areas:
- OpenGLShaderCompiler
- StandaloneRenderer
The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made:
- OpenGLTexture.cpp
#jira UE-39108
Change 3494413 by Guillaume.Abadie
Updates r.InvalidateCachedShader and bump ShaderVersion.ush.
Change 3494422 by Guillaume.Abadie
Adds LensDistortion plugin's Private shader directory.
Change 3494717 by Guillaume.Abadie
Strengthens shader compiler with checks on generated file names and shader type file names.
Change 3494763 by Guillaume.Abadie
Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path.
Change 3494985 by Rolando.Caloca
DR - Integrate Vulkan Rewrite
Change 3495031 by Rolando.Caloca
DR - Delete file as it moved
Change 3495032 by Rolando.Caloca
DR - Show Vulkan SM5 instead of SM4 on windows packaging
- Also added support for Vulkan SM5_UB
Change 3495202 by Uriel.Doyon
Fixed static analysis warning with pointer dereferencing.
Change 3495342 by Rolando.Caloca
DR - clang compile fix
Change 3495354 by Rolando.Caloca
DR - clang compile fixes
Change 3495420 by Marc.Olano
Use Sobol sampling for PCSS
Change 3495799 by Rolando.Caloca
DR - Delete old dev assets
Change 3496202 by Mark.Satterthwaite
Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass.
#jira UE-46070
Change 3496253 by Uriel.Doyon
Fixed static analysis warning for IncludeTool
Change 3496631 by Guillaume.Abadie
Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable.
Change 3496851 by Guillaume.Abadie
Fixes back slash issues in Platform.usf.
Change 3496852 by Guillaume.Abadie
Fixes other back slashes includes in PS4 specific usf files.
Change 3496941 by Guillaume.Abadie
Adds a check() for no backslash in virtual shader file paths.
Change 3497661 by Guillaume.Abadie
Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform.
Change 3497969 by Richard.Wallis
Fix for start Up Movies Are not Playing for iOS Devices. Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies.
- Tested on iOS and Mac.
#jira UE-39585
Change 3498035 by Guillaume.Abadie
Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts.
Change 3498101 by Rolando.Caloca
DR - Compile fix
Change 3498254 by Guillaume.Abadie
Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching.
Change 3498264 by Guillaume.Abadie
Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame
Change 3498371 by Yujiang.Wang
Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2
* Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews
* Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures)
#jira UE-46149
Change 3498409 by Rolando.Caloca
DR - Swap resolves
Change 3498410 by Guillaume.Abadie
Adds support for opacity output alpha for post process material when doing a draw material to render target.
Change 3498705 by Rolando.Caloca
DR - Add UID for debugging mem allocations
Change 3498759 by Marcus.Wassmer
No post processing in vertexcolor view mode
#jira UE-44704
Change 3498891 by Rolando.Caloca
DR - Minor Vulkan per frame allocator refactor in prep for changes
Change 3499206 by Rolando.Caloca
DR - Fix temp frame allocator OOM on Vulkan
#jira UE-45913
Change 3499319 by Rolando.Caloca
DR - Vulkan support for StorageBuffer
Change 3499339 by Rolando.Caloca
DR - Remove deprecated typedef
Change 3499400 by Rolando.Caloca
DR - Remove some RHICmdList deprecated functions
Change 3499422 by Rolando.Caloca
DR - Allow buffer transitions inside render passes
Change 3500370 by Rolando.Caloca
DR - Compile fix
Change 3500474 by Rolando.Caloca
DR - Fix static analysis
Change 3500517 by Guillaume.Abadie
Exposes r.PostProcessing.PropagateAlpha to the renderer settings.
Change 3500537 by Guillaume.Abadie
Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world.
#jira UE-39389
Change 3501069 by Mark.Satterthwaite
Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18.
temporary fix for skewed textures on IOS 9
#jira UE-44468
Change 3501164 by Michael.Lentine
PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist)
Change 3501222 by Benjamin.Hyder
Checking in Tm_SobolNoise map
Change 3501612 by zachary.wilson
Adding testing content for RTDF shadows on planar reflections
Change 3501708 by Guillaume.Abadie
Break FPostProcessSettings into smallers structs.
Change 3501830 by Olaf.Piesche
#jira UE-39628; using fix proposed in UDN, will investigate further
Change 3501954 by Marcus.Wassmer
Duplicate 3480903
Light culling safety measures.
Change 3502032 by Mark.Satterthwaite
Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9.
Change 3502118 by Uriel.Doyon
Fixed shader compilation issues.
Change 3502191 by Guillaume.Abadie
Implements Composure plugin to make compositing in UE4 easier.
Change 3502192 by Guillaume.Abadie
Implements Composure feature testing in EngineTests
Change 3502196 by Guillaume.Abadie
Creates a dependency of Composure plugin over LensDistortion plugin.
Change 3502213 by Arciel.Rekman
Fix for loading shaders on Linux (UE-46276).
Change 3502243 by Brian.Karis
Bent normal map support.
Multibounce AO.
Spherical Gaussian based specular occlusion.
Change 3502506 by Guillaume.Abadie
Fixes compilation failure in Composure with unity build.
Change 3502507 by Guillaume.Abadie
Fixes composure Set Pass with Render Target blueprint helper.
Change 3502510 by Guillaume.Abadie
Attempts to fix ComposureUtils.cpp compile errors.
Change 3502515 by Guillaume.Abadie
Some other composure failure fixes.
Change 3502545 by Guillaume.Abadie
Fixes some unity build related error in Composure.
Change 3502548 by Guillaume.Abadie
Fixes last missing includes in ComposurePostProcessPass.cpp
Change 3502672 by Guillaume.Abadie
Fixes linux warning in Composure.
Change 3502790 by Ryan.Brucks
float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break.
Change 3502836 by Guillaume.Abadie
Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances.
#jira UE-6810
Change 3503096 by Guillaume.Abadie
Resave a unversioned asset.
Change 3503228 by Yujiang.Wang
Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry
* Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass
* Replaced the true with bReflectiveShadowmap
#jira UE-45646
Change 3503284 by Rolando.Caloca
DR - Fixed initial clear on rendertargets
- Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4
- Dump the vulkan log into VS output log
- Added validation for layouts when using dump log
Change 3503545 by Arciel.Rekman
Fix black UI on Linux (UE-46333)
- Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist.
#jira UE-46333
Change 3503638 by Daniel.Wright
[Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding
Change 3503787 by Marcus.Wassmer
Fix difference between gpu/cpu morph target application
Change 3503902 by Marcus.Wassmer
Roll back TAA refactor until we have time to look into the bad interaction with DOF.
Change 3503953 by Arne.Schober
DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources.
#RB Marcus.Wassmer
Change 3504131 by Rolando.Caloca
DR - Maintain a cache of pipeline and descriptor set layouts
- Fix marker dump
Change 3504462 by Guillaume.Abadie
Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results.
#jira UE-46277
Change 3504779 by Chris.Bunner
Potential static analysis fix.
#jira UE-46360
Change 3504950 by Marc.Olano
Allow Sobol material nodes & textures only if feature level is at least ES3.1
#jira UE-46334
#jira UE-46317
Change 3505035 by Daniel.Wright
Increased MaxSearchCount in GetShaderIncludes. The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously.
Change 3505386 by Daniel.Wright
GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf
Change 3505491 by Rolando.Caloca
DR - Fix crash on first frame of particles on modern APIs
Change 3505557 by Chris.Bunner
[Duplicate] Workaround for outdated shader map crash.
#jira UE-46061
Change 3506071 by Rolando.Caloca
DR - Vulkan fixes
- Fix copy out of bounds reading textures to CPU
- Defer event deletion
- Split validation for errors and warnings
- Skip validation error about attachment not used
Change 3506698 by Guillaume.Abadie
Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge.
Change 3506797 by Rolando.Caloca
DR - Fix static analysis
#jira UE-46428
Change 3506861 by Rolando.Caloca
DR - Fix crash due to layering violation
#jira UE-46424
#jira UE-46431
Change 3508098 by Rolando.Caloca
DR - Fix for Vulkan ES31 crash
- Fix for AMD ensure
Change 3508123 by Rolando.Caloca
DR - Disable occlusion queries on Vulkan to avoid flickering
- Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips)
- Fix for decal blending
#jira UE-46376
Change 3509064 by Uriel.Doyon
Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found.
#jira UE-46427
Change 3509854 by Marc.Olano
Fix 2D Sobol gray code numbers.
Just changes some numbers in initialization tables, so no effect on existing tests or content.
Change 3509920 by Marcus.Wassmer
Fix LPV fastvram ensure
Change 3509937 by Rolando.Caloca
DR - Fix crash due to deleted viewport
#jira UE-46281
Change 3509988 by Marcus.Wassmer
Roll back part of Sobol fix to avoid full shader recompile for integration.
Change 3510255 by Rolando.Caloca
DR - Fix popup window ensure
#jira UE-46511
Change 3510646 by Marcus.Wassmer
fix ios compiles
Change 3511442 by Rolando.Caloca
DR - Change mesh simplification check to ensure/checkslow to unblock
#jira UE-46538
DONE!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Change 3467095 by Guillaume.Abadie
Nukes all += TEXT(".usf")
#jira UE-45530
Change 3475084 by Guillaume.Abadie
Fixes compilation failure of the shader compiler on PS4 and XboxOne
Change 3477464 by Guillaume.Abadie
Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts.
Change 3494395 by Guillaume.Abadie
Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points.
DONE!
[CL 3511602 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
#lockdown Nick.Penwarden
Change 3358916 on 2017/03/22 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests #!rb na
Change 3357395 on 2017/03/21 by Daniel.Lamb
Added some more custom stats to the cooker.
Only cook the english cook culture when we are running local builds.
#!rb Trivial
#!test Iterative shared cooked builds paragon
Change 3357377 on 2017/03/21 by Daniel.Lamb
Added support for packages which fail to load to the package dependency info module
#!rb Trivial
#!test Cook paragon
Change 3356838 on 2017/03/21 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!3rb #!tests na
Change 3355306 on 2017/03/20 by Daniel.Lamb
Switched PackageDependencyInfo to using Guid instead of entire package hash when generating dependency info.
Stopped cooker from collecting garbage while in the editor.
Iterative cooks don't resolve string asset references for startup packages.
#!rb Trivial
#!test Shared precooked build paragon
Change 3354527 on 2017/03/20 by Wes.Hunt
AnalyticsProvider::SetUserID will now flush any pending events before changing the ID. #!jira AN-1660
#!fyi josh.markiewicz,david.nikdel
#!rb josh.markiewicz
#!tests ran client connected to Solo vs. AI server
Change 3353852 on 2017/03/20 by Benn.Gallagher
Speculative fix for clothing crashes using Mambo. It was possible that the skeletal mesh component could have triggered deletion or creation of simulation state objects while the simulation was in flight on another thread, added tracking and waiting for outstanding tasks.
#!jira OR-36843, UE-42975
#!rb Martin.Wilson
#!tests Editor PIE, -game hero gallery
Change 3353048 on 2017/03/18 by Jeff.Williams
#!ORION_DG - Merge MAIN @CL 3353033
Change 3352845 on 2017/03/17 by Daniel.Lamb
Renamed the ConvertRenderTargetToTexture2D function so that it's obvious it's a editor only feature.
#!rb Daniel.Wright
#!test Editor paragon
Change 3352544 on 2017/03/17 by Daniel.Lamb
ADded support for ignoring ini settings incompatbilities when using shared cooked builds.
#!rb Trivial
#!test Shared cooked build paragon
Change 3352285 on 2017/03/17 by Daniel.Lamb
Fix client side compilation error to do with render texture conversion function
#!rb Trivial
#!test Compile Paragon
Change 3352141 on 2017/03/17 by Daniel.Lamb
Added support for blueprint function to convert a rendertexture to a texture.
#!rb Daniel.Wright
#!test Run in the editor
Change 3351612 on 2017/03/17 by Andrew.Grant
Expand EngineDir and ProjectDir variables during AppLocal deployment
#!tests Jamie verified packaging Orion via the editor works now
#!rb Jamie.Dale
Change 3350470 on 2017/03/16 by Laurent.Delayen
Fix for PS4 compile.
#!rb none
#!tests PS4 + non unity
Change 3350237 on 2017/03/16 by Andrew.Grant
Pak-mounting fix from Dev-Core for OR-36896
#!tests na
#!rb GIl.Gribb
Change 3350079 on 2017/03/16 by Laurent.Delayen
Added 'AnimNotify_PlayMontageNotify' and 'AnimNotify_PlayMontageNotifyWindow' to forward notifies Begin/End to 'PlayMontage' AsyncTask.
#!rb lina.halper
#!tests Yin's BP
Change 3349694 on 2017/03/16 by robomerge
#!ROBOMERGE-AUTHOR: dan.hertzka
Exposing copy/paste actions for properties embedded within IDetailGroup header rows
#!rb Matt.Kuhlenschmidt
#!tests Copy/paste on skin variant primary override rows
#!ROBOMERGE-SOURCE: CL 3349513 in //Orion/Dev-REGS/... via CL 3349675
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3349560 on 2017/03/16 by David.Ratti
Update GameplayTagReferenceHelper to pass in raw data for owner struct (Rather than having caller pass raw 'this' to delegate). Fixes crashes with resizing lists while making calling code less crappy (avoid having to implement copy cstor and operator to fixup delegate).
Added GameplayTagReferenceHelper to gameplay cue classes.
#!rb none
#!tests editor
Change 3349305 on 2017/03/16 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests compiled
#!rb na
Change 3349189 on 2017/03/16 by Benn.Gallagher
Fixed clothing not running in PS4 packaged builds
#!rb Martin.Wilson
#!jira OR-36680
#!tests PS4 cooked OrionEntry with Shinbi
Change 3348659 on 2017/03/15 by Daniel.Lamb
Fix compilation errors.
#!rb None
Change 3348646 on 2017/03/15 by Andrew.Grant
Unshelved from pending changelist '3347778':
<description: restricted, no permission to view>
Change 3348636 on 2017/03/15 by Daniel.Lamb
Fixed issue with rebuildlighting commandlet not checking out separate lighting files.
#!rb None
#!test ResavePackages commandlet
Change 3348559 on 2017/03/15 by Daniel.Lamb
Fixed up some iterative ini settings blacklist configs.
#!rb Trivial
#!test Iterative Cook paragon
Change 3348379 on 2017/03/15 by Laurent.Delayen
Added simple Async Node 'Play Montage' to use outside of gameplay abilities.
#!rb none
#!tests none
Change 3348035 on 2017/03/15 by Ben.Salem
Switch automationcheckpoint to being a .log file. Unblocks running on packaged builds in paragon.
#!rb none
#!tests ran oh so very many tests with the changes.
Change 3345982 on 2017/03/14 by Zak.Middleton
#!orion - OR-36422: Clamp client net send rate for character movement to 60Hz (down from 90). Integrates CL 3345771 from Dev-Framework which adds engine support for specifying the rate parameters, and sets them in Orion DefaultGame.ini to 1/60 second.
#!jira OR-36422
#!tests multi-PIE dedicated server, various framerates, net lag, etc.
#!rb Laurent.Delayen
#!codereview Laurent.Delayen
Change 3345134 on 2017/03/14 by Jordan.Walker
mono work
Change 3344857 on 2017/03/14 by Martin.Wilson
Missing includes for transactor header
#!rb none
Change 3341860 on 2017/03/10 by Chris.Bunner
Partial revert of CL 3339904. Fixed material translation error with multiple connections from custom interpolator nodes.
#!rb None
#!tests Editor, Known trouble materials with interpolator nodes, With/without material functions
Change 3341759 on 2017/03/10 by Daniel.Lamb
Fixed up NetworkCompatible version so that it works with UGS.
#!rb Trivial
#!test Cook ps4 paragon.
Change 3341616 on 2017/03/10 by Josh.Markiewicz
#!UE4 - added define for OGS feature
#!rb none
#!codereview sam.zamani
#!tests compiles
Change 3341612 on 2017/03/10 by Josh.Markiewicz
#!UE4 - removed old define
#!tests compiles
Change 3340180 on 2017/03/09 by Daniel.Lamb
Integrate fix for sync loading from main to Dev General.
#!rb Ben.Zeigler
Change 3339904 on 2017/03/09 by Chris.Bunner
Fixed material translation error when custom interpolator node hooked to multiple function outputs.
#!rb None
#!tests Editor
Change 3339280 on 2017/03/09 by Josh.Markiewicz
#!UE4 - removed WebBrowser moduel dependency on OnlineSubsystem
- added 2 functions to online engine interface
#!codereview sam.zamani, ben.marsh
Change 3338654 on 2017/03/08 by Daniel.Lamb
Fixed up some issues with iterative ini settings.
Added support for target platforms exposing which audio formats they use so they can match up supported formats with different machines.
#!rb None
#!test Cook paragon iteratively
Change 3336989 on 2017/03/08 by Ben.Marsh
Merging CL 3336693 from Dev-Core: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
#!rb none
Change 3336135 on 2017/03/07 by Michael.Trepka
Hide GameLayerManager's title bar on exiting PIE
#!rb Dan.Hertzka
#!tests Tested in the editor on Windows
Change 3335324 on 2017/03/07 by Aaron.Eady
Chat;
Adding AddedItem, CompletedItem, and DiscardedItem to the chat message type enum so we can control the color for each. Set the colors in the Social asset.
Creating client record settings for turning on/off the added item, completed item, and discarded item in chat. Put these in the gameplay settings menu.
Added horizontal boxes to the gameplay settings menu because we are running out of space.
Added a vertical scroll bar to the gameplay settings menu but it doesn't seem to show. Also fixed the horizontal scroll bar at the bottom to be horizontal instead of vertical.
#!rb Matt.Schembari
#!tests MCP, PIE
#!lockdown Nicholas.Davies
#!RN
Change 3333541 on 2017/03/06 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3333512
#!RB:none
#!Tests:none
#!codeReview: cameron.winston
Change 3332578 on 2017/03/04 by Andrew.Grant
Temp Disabled wrong-looking warning
#!tests #!rb na
#!ROBOMERGE: Main
Change 3332555 on 2017/03/04 by Andrew.Grant
Proper fix for Tencent DLL issue
#!tests #!rb na
#!ROBOMERGE: Main
Change 3332552 on 2017/03/04 by Andrew.Grant
Fix for Tencent DLL issue while staging
#!tests none
#!rb none
#!ROBOMERGE: Main
Change 3332216 on 2017/03/03 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3332168
#!RB:none
#!Tests:none
Change 3332060 on 2017/03/03 by Daniel.Lamb
Fixed issue with AsyncLoading code eventually flushing async loading while in async loading...
This causes all kinds of cool stuff like objects on the stack corruption and also deleted memory accesses.
#!rb Gil.Gribb.
#!test Editor and -game
Change 3331680 on 2017/03/03 by Jason.Bestimt
#!ORION_MAIN - Merge MAIN @ CL 3331636
#!RB:none
#!Tests:none
#!codeReview: andrew.grant
Change 3331412 on 2017/03/03 by James.Hopkin
#!orion Rebuilt OpenSSL libs for PS4 to fix process termination due to SIGPIPE on closing websockets
Source change committed in CL#!3331380
#!jira OR-36274
#!fyi Paul.Moore
Change 3331375 on 2017/03/03 by Sam.Zamani
fix dll path for tenproxy
#!rb none
#!tests none
Change 3330953 on 2017/03/02 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3330924
[STOMPED ChestOpeningScreen.uasset]
#!RB:none
#!Tests:none
#!codeReview: bryan.rathman, phil.buuck, matt.schembari, andrew.grant
Change 3330646 on 2017/03/02 by Andrew.Grant
Warning and non-unity fix
#!tests compiled
#!rb none
Change 3330388 on 2017/03/02 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests #!rb na
Change 3329982 on 2017/03/02 by Sam.Zamani
fixed updated module rules
#!rb none
#!tests regen projects
Change 3329964 on 2017/03/02 by Sam.Zamani
Copying //Tasks/Orion/Dev-Online-Tencent to Dev-General (//Orion/Dev-General)
3245325 Adding new OSS for Tencent online platform
3245448 tencent third party SDK
TCLS proxy functionality
#!rb none
3245474 missing include
#!rb none
3249585 TCLS tenproxy.dll in thirdparty bin folder
#!rb none
3249726 Load TenProxy.dll for TCLS integration
New OSS Tencent
#!rb none
3255571 tencent configs
#!rb none
3255826 Tencent TCLS paragon launcher
#!rb none
3256168 TCLS launch batch update cmd line options
#!rb none
3256170 Added "TencentLive,TencentDev" MCP config entries
#!rb none
3256504 xmpp config update
#!rb none
3273168 skip login steps for tencent
config update
#!rb none
3279427 #!xmpp
add option to use plain text auth
3279428 disable ssl and use plain text auth for XMPP connection
temporary until we have a valid cert setup on Tigase deployment
3281566 enabled OSS tencent
this will also be the toggle for detecting when to enable tencent functionality at runtime
3283103 differentiate between tencent dev/live environments
disable QoS region selection for tencentdev
3283106 lower http verbosity
3283734 config updates
3285066 disable replays and mtx for tencent build
3291005 #!online,mcp
service config bEnabled flag to toggle individual services as needed
3291006 explicitly mark unneeded Mcp services as disabled
3291108 allow replay tab to be disabled via UOrionRuntimeOptions.bEnableReplays=false
3291492 disable recording of replays for tencent mode
3292750 disable replay tab based on bEnableReplays=false
3292753 new orion runtime option bDisallowCoinPurchases
if true, prevents coins from being available for purchase
3292755 diable mtx coin offers if bDisallowCoinPurchases=true
3292759 missing header
3293246 disable query for available friend codes if bEnableFriendCodes=false
3293250 temp usage of NULL analytics provider
3298025 Adding optional RegionTencent plugin for overriding config files
3298027 ability to override config cache values via plugin config files
3311016 default to TencentDev backend when running in tencent mode
3311017 CMS tencent config
3311022 Rename RegionTencent to RegionCN
3312470 disable links for tencent build
3313014 move tenproxy.dll to \OrionGame\Binaries\ThirdParty\Tencent
3314861 tenproxy 2.0.2.7 update
3314878 default RegionCN plugin to disabled
this will only be enabled once the RegionCN.pak is loaded
3314879 TCLS launcher pointing at UE4Editor.exe for development
3315257 missing file
3323573 remove TCLS launcher
3326006 Tencent TLOG SDK
3326277 wrapper singleton class for tenproxy connection
3329180 Tencent support for login flow
3329181 WIP tenproxy connection usage in identity
3329624 wip tcls proxy
#!rb none
#!tests none
Change 3329651 on 2017/03/02 by Andrew.Grant
Merging from //UE4/Main @ 3322856 through Orion-Staging
#!tests QA
#!rb na
Change 3329411 on 2017/03/02 by robomerge
#!ROBOMERGE-AUTHOR: dan.hertzka
Duplicating CL 3303733 from Dev-Editor (simple fix for a massive issue)
- This will prevent any TAssetPtr property from getting stomped by undo/redo (you know those ridiculous store and card art issues? Fixed!)
#!lockdown Jason.Bestimt
#!rb none
#!tests Undo on an item definition asset
#!ROBOMERGE-SOURCE: CL 3329404 in //Orion/Release-38.3/... via CL 3329405
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3328858 on 2017/03/01 by Lina.Halper
Fixed crash on importing animation that was edited before
#!rb: none
#!tests: reimport
Change 3328459 on 2017/03/01 by Daniel.Lamb
When adding new ddc back ends to the hierarchcial ddc make sure to update the async backends lists.
#!codereview Gil.Gribb
#!test None
#!rb Trivial
Change 3328182 on 2017/03/01 by Daniel.Lamb
Unshelved from pending changelist '3318009':
Adding support for shared cooked builds to be downloaded from the network.
Included CookedAssetRegistry in the p:\ published builds.
#!rb Ben.Marsh
Change 3327856 on 2017/03/01 by Frank.Gigliotti
Added velocity overrides to FRK4SpringInterpolator;
#!RB None
#!codeReview Laurent.Delayen
#!Tests PIE
Change 3327096 on 2017/03/01 by David.Ratti
Added generic reference viewer details customization for gameplay tags. Added it to GameplayStatsMetaData.
#!rb none
#!tests editor
Change 3326177 on 2017/02/28 by Daniel.Lamb
Added some more debugging information to help track down live issue.
#!rb Chris.Bunner
#!test Ran editor.
Change 3324951 on 2017/02/28 by David.Ratti
UDataTable: added AddRow/RemoveRow native functions.
#!rb JB
#!tests na
Change 3323852 on 2017/02/27 by David.Ratti
Fix ::RequestAllGameplayTags OnlyIncludeDictionaryTags option
#!codereview Ben.Zeigler
#!rb #!tests na
Change 3323706 on 2017/02/27 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3323694
#!RB:none
#!Tests:none
Change 3321945 on 2017/02/24 by Jon.Lietz
OR-36258
- fixing an issue where gameplay effects that are set to not refresh the period should not allow the execution of a period effect on application.
#!RB David.Ratti
#!tests golden path
#!codeReview: Billy.Bramer, Fred.Kimberley
#!RNX
Change 3321876 on 2017/02/24 by Daniel.Lamb
Fixed erroronEngineContentUse flag not being set properly.
#!rb Trivial
#!test Cook Paragon.
Change 3321591 on 2017/02/24 by Jason.Bestimt
#!ORION_DG - MAIN @ CL 3321563
#!RB:none
#!Tests:none
Change 3321260 on 2017/02/24 by Andrew.Grant
Fixed issue that was causing missing string references to not show their referencer
#!rb none
Change 3321040 on 2017/02/24 by Robert.Manuszewski
Merging changes 3316253 and 3319134 from Dev-Core: fixes to file log hangs and crashes.
#!rb none
#!tests Cooked Win64 server and client, played cooked Win64 build
Change 3319413 on 2017/02/23 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3319394
#!RB:none
#!Tests:none
Change 3317905 on 2017/02/22 by Daniel.Lamb
Integrate CL 3238291 from Odin
Add Plugin content to the asset registry
Change the location of AssetRegistry.bin when cooking a plugin as DLC
Include AssetRegistry.bin in the cooked plugin staging process
Add function to PluginManager to keep list of any plugins that loaded a pak file
Use list of plugins with pak files to merge their AssetRegistry.bin files into the main AssetRegistry when it's created
#!rb Ben.Marsh
#!codereview Chance.Ivey, Daniel.Lamb
Change 3317648 on 2017/02/22 by Cody.Haskell
Instead of popping an external web browser, we use the SWebBrowser widget on GFN.
#!rb DanH
#!codereview Andrew.Grant, Dan.Hertzka, Matt.Schembari
#!tests PIE
Change 3317289 on 2017/02/22 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3317254
#!RB:none
#!Tests:none
Change 3317186 on 2017/02/22 by Mieszko.Zielinski
Fixed items that have been force-scored by an EQS test as 'failed' getting discarted even if the test is being run in scoring-only mode #!UE4
#!test golden path
#!rb Lukasz.Furman
#!codereview Daniel.Broder, John.Abercrombie
Change 3317005 on 2017/02/22 by Daniel.Lamb
Submitted wrong version of my file.
#!rb Trivial
#!test Compile
Change 3316958 on 2017/02/22 by Daniel.Lamb
Added support in buildcookrun for shared cooked builds.
#!rb Trivial
#!test BuildCookRun iterative script
Change 3316942 on 2017/02/22 by Daniel.Lamb
DLC cooking optimization.
Optimization to determining package dependency tree, now is async.
Fixes for iterate shared cooked build. Added fallback when using shared cooked build to local build if local build is newer.
Added DLC cooking warning if you are overriding output directories.
Removed previous release packages names from DLC asset registry.
Only generate manifest for additional assets instead of all assets.
Minor optimization to worst case resolving of string asset references. Only resolve those that haven't been resolved before (only happens when GC thrashing happens).
#!rb Andrew.Grant
#!test Cook paragon
[CL 3365166 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
#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]
#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]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945365 on 2016/04/15 by Mark.Satterthwaite
Assert if anyone calls RHIClearUAV on a structured-buffer or texture under Metal - there's no clear way to implement these cases yet.
Change 2945366 on 2016/04/15 by Mark.Satterthwaite
Change the Metal parallel command-context submission to hand-off the entire NSArray of MTLCommandBuffers to avoid race conditions between one use of a context and the next.
Change 2945394 on 2016/04/15 by Mark.Satterthwaite
Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring.
Change 2945444 on 2016/04/15 by Mark.Satterthwaite
Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn.
Change 2945457 on 2016/04/15 by Mark.Satterthwaite
Add validation code to MetalRHI to ensure that we don't erroneously re-clear existing render contents when restoring the render command encoder. This will only be active when the Metal debug layer is enabled and is completely compiled away in Test & Shipping builds for performance.
Change 2946249 on 2016/04/16 by Nick.Shin
build HarfBuzz for HTML5
#jira UE-28552 - HarfBuzz - HTML5
Change 2946250 on 2016/04/16 by Nick.Shin
Rename/move file(s)
move emscripten (part 1 of 2)
from Engine/Source/ThirdParty/HTML5/emsdk
to Engine/Extras/ThirdPartyNotUE/emsdk
this is a request from legal
Change 2946251 on 2016/04/16 by Nick.Shin
move emscripten (part 2 of 2)
build scripts and cpp files updated with new emscripten path
from Engine/Source/ThirdParty/HTML5/emsdk
to Engine/Extras/ThirdPartyNotUE/emsdk
this is a request from legal
Change 2946516 on 2016/04/18 by Mark.Satterthwaite
Disable r.DFShadowScatterTileCulling as well as r.AOScatterTileCulling on Mac because we don't have the necessary RW textures on Metal.
Change 2947000 on 2016/04/18 by Michael.Trepka
Print OS X version to log in FMacPlatformMisc::PlatformInit()
Change 2948197 on 2016/04/19 by Lee.Clark
PS4 - Use SDK 3.508.031
Change 2948301 on 2016/04/19 by Nick.Shin
upgrading zlib openssl libcurl libwebsockets
part 1 of 2 -- adding new compiled versions (part 2 will be removing the old version -- which will be done after platform owners are given a chance to recompile for their platform - most notably: zlib)
NOTE: Linux libraries are built for CentOS 6.7 (i.e. 2010 - glibc 2.12 and gcc 4.4.7)
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1223 - Arrange testing for 'update websocket library'
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948319 on 2016/04/19 by Nick.Shin
update zlib to v1.2.8
part 1 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
Change 2948320 on 2016/04/19 by Nick.Shin
update OpenSSL to v1.0.1s
part 2 of 4 - doing this in stages for tracking purposes
also, removing dynamic libs (for windows) -- these are no longer needed as this is now statically linked in editor
- tested by installing perforce server setup with ssl access only and pointing editor source code to it as ssl:hostname:port
- also tested trying accessing it without ssl which resulted in access denied indicating a successful test of dynamic lib removal
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
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 2948323 on 2016/04/19 by Nick.Shin
build scripts
pull source and compile - zlib openssl libcurl & libwebsockets
tested on:
- Win64 VS2013 & VS2015
- OSX
- Linux
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948337 on 2016/04/19 by Lee.Clark
VS 2015 libScePad support
Change 2948382 on 2016/04/19 by Mark.Satterthwaite
Add Mac model, CPU string, num HTs to the log on Mac so that errors reported to us contain the data that Apple want when we turn them into bug-reports. Also added a missing sigaction from the trampoline.
Change 2948385 on 2016/04/19 by Mark.Satterthwaite
Disambiguate Metal command-buffer failures by vendor & error type so that we don't end up with just one crash-reporting entry for many different kinds of crash and enable this assertion on all builds because it will always be fatal and failing to crash here may end up causing the Mac to reboot.
Change 2948460 on 2016/04/19 by Peter.Sauerbrei
fix for wrong line endings
Change 2948526 on 2016/04/19 by Nick.Shin
fix for wrong line endings
Change 2949334 on 2016/04/20 by Nick.Shin
fix library path
for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...
Change 2949398 on 2016/04/20 by Lee.Clark
PS4 - Fix SDK compile warnings
Change 2949656 on 2016/04/20 by Nick.Shin
Back out changelist 2948320
but keeping the C# build file as-is
Change 2949676 on 2016/04/20 by Mark.Satterthwaite
Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal.
#jira UE-29140
Change 2950025 on 2016/04/20 by Mark.Satterthwaite
Undo CL #2949676 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006.
#jira UE-29006
Change 2950084 on 2016/04/20 by Nick.Shin
OSX warning fix:
UE4 supports down to OSX 10.9 rebuilt the zlib openssl libcurl and libwebsockets to support that
build file also updated to use MACOSX_DEVELOPMENT_TARGET=10.9
Change 2950613 on 2016/04/20 by Dmitry.Rekman
UAT: Disable modules that are not supported on Linux.
#rb none
#codereview Ben.Marsh, Michael.Trepka, Josh.Adams
#tests Run RunUAT.sh
Change 2951065 on 2016/04/21 by Nick.Shin
temp: update SSL dlls in Engine/Binaries/ThirdParty/OpenSSL/Win64
Change 2951556 on 2016/04/21 by Nick.Shin
static libs double checked
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951559 on 2016/04/21 by Nick.Shin
static libs double checked
forgot these files - they were in another changelist
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951574 on 2016/04/21 by Nick.Shin
remove unused variable warning
was bughunt code...
Change 2951652 on 2016/04/21 by Josh.Adams
- Disabled MRT support on iPad Air 1 devices, since it doesn't support wide enough MRTs that the engine needs (ie, only use MRTs in METAL_MRT mode on iOS)
Change 2951656 on 2016/04/21 by Josh.Adams
- Fixed Mac compile error in Metal
Change 2951718 on 2016/04/21 by Nick.Shin
remove shared SSL DLLs in a controlled manner
tested with QA help who was able to replicate the bug in the morning - and was able to successfully run the editor with this changelist (shelved - remote unshelved test - thanks Dan.Bullard_volt!)
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951862 on 2016/04/21 by Lee.Clark
PS4 - Enable Neo high resolution support.
Change 2952409 on 2016/04/22 by Nick.Shin
add win32 build targets for zlib openssl libcurl libwebsockets
part 1 of 2: these are the libs and header files
Change 2952411 on 2016/04/22 by Nick.Shin
add win32 build targets for zlib openssl libcurl libwebsockets
part 1 of 2: these are the C# build scripts
Change 2952580 on 2016/04/22 by Lee.Clark
PS4 - Fix staging and deploying of system prxs
Change 2953152 on 2016/04/22 by Mark.Satterthwaite
Only cache instances of TShadowDepthVS with bIsForGeometryShader=true when the RHI can handle the underlying feature. We can save memory on iOS by only emitting these shaders on Mac Metal or RHI's with Geometry shaders which have the required H/W to do this.
Change 2953385 on 2016/04/22 by Nick.Shin
use HarfBuzz libs for HTML5
c# build files updated to link in the harfbuzz libs
#jira UE-28552 - HarfBuzz - HTML5
Change 2954686 on 2016/04/25 by Nick.Shin
from legal:
Emscripten approved for redistribution provided that *all* files are checked into the following directory: Engine/Extras/ThirdPartyNotUE
Please also check in the attached .tps files and licenses alongside the TPS itself. This will allow us to track third party files within P4.
Change 2954928 on 2016/04/25 by Daniel.Lamb
Fixed min number of threads allocated for compiling shaders in cooker.
Change 2954942 on 2016/04/25 by Daniel.Lamb
Added flag -skipcompile for running visual studio.
Skip force compilation on -multiprocess flag.
#jira UE-22308
#PR 1678
#1678
Change 2954948 on 2016/04/25 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2955370 on 2016/04/25 by Josh.Adams
- Fixing C# error from main
#lockdown nick.penwarden
Change 2957745 on 2016/04/27 by Daniel.Lamb
Pull request from acordon@microsoft.com.
Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call.
Change 2957747 on 2016/04/27 by Daniel.Lamb
Pull request from acordon@microsoft.com.
Resave packages commandlet now can also rebuild asset registry paths with consistent case.
Change 2957750 on 2016/04/27 by Daniel.Lamb
Pull request from acordon@microsoft.com.
Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call.
Change 2958708 on 2016/04/28 by Nick.Shin
remove boringSSL
#jira UE-29970 - QAGame launch on fails for Win64, fatal error LNK1169: one or more multiply defined symbols found
#lockdown josh.adams
Change 2958724 on 2016/04/28 by Nick.Shin
moved setting bVerifyPeer flag AFTER CertBundlePath has been set...
otherwise, libCurl is going to try to verify the SSL session - but without a cert file, it makes no sense to try and verify the session
- we could (and probably should) make this an error condition - but the constructor has the bVerifyPeer set to true -- which would mean that all games will need to have a cert file and/or know to set bVerifyPeer to false...
- and so far, only linux and android seem to have code in place to make use of the cert files...
#jira UE-29950 - Orion deticated server MCP authentication fails when using CURL
#lockdown josh.adams
Change 2959058 on 2016/04/28 by Mark.Satterthwaite
Mac Metal RHIGetSupportedResolution & RHIGetAvailableResolutions exactly as they were for Mac OpenGL.
Change 2959587 on 2016/04/28 by Jeff.Campeau
Use response files for compiling CPPs using the VC toolchain to avoid issues where the command line is too long for XGE
Change 2959605 on 2016/04/28 by Jeff.Campeau
Reuse existing response files if contents are unmodified.
#2278
Change 2959680 on 2016/04/28 by Daniel.Lamb
Don't cook clients when building only server configs.
#pr 2127
#2127
Change 2959764 on 2016/04/28 by Nick.Shin
set PS4 back to using boringSSL - until OpenSSL has been built for it
#jira UE-30088 - Orion PS4 Cook and Deploy fails to build for PS4
Change 2959875 on 2016/04/28 by Jeff.Campeau
Simplified compression to use a bitwindow param instead of a targetplatform param
Added bitwindow parameter for unrealpak
Set Xbox One to pass 12 bit window for paks (for hw decompress)
Change 2959960 on 2016/04/28 by Nick.Shin
removed url protocol scheme from external script loads - this will support fetching scripts with either http or https automatically
and added window.focus after game has finished compiling - this will help if game is inside an iframe
#jira UE-29886 - HTML5 project does not load using itch.io
Change 2960064 on 2016/04/28 by Dmitry.Rekman
XMPP: Add missing dependency on OpenSSL on Linux.
Change 2961310 on 2016/04/29 by Mark.Satterthwaite
DistanceField tile alignment changes to attempt to make it work on Mac.
Change 2961602 on 2016/04/29 by Nick.Shin
#ifndef'd EMSCRIPTEN around FOpenGL::Flush();
answerhub 409649 - HTML5 OpenGL backend doesn't need to flush GL commands
Change 2961604 on 2016/04/29 by Nick.Shin
return "()" on empty object
answerhub 390139 - JSON Conversion of TMaps of UStructs Can't Deserialize
Change 2963068 on 2016/05/02 by Peter.Sauerbrei
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2963302 on 2016/05/02 by Peter.Sauerbrei
fix for PS4 build failure
Change 2963731 on 2016/05/02 by Dmitry.Rekman
Linux: move crash/ensure info from Binaries to Saved (UE-28411).
- Allows running from read/only locations, since Saved can be redirected.
#rb none
#codereview Chris.Wood, David.Vossel
Change 2963737 on 2016/05/02 by Dmitry.Rekman
CrashMalloc: get allocation size also from jemalloc.
- Editor builds on Linux are otherwise shutting down on attempting to realloc things ("binned" is not used for the editor).
#rb none
#codereview Chris.Wood, Robert.Manuszewski, Steve.Robb
Change 2963989 on 2016/05/03 by Lee.Clark
PS4 - Fix texture initialization
Change 2964296 on 2016/05/03 by Dmitry.Rekman
Better fix for getting previous allocation size.
- Suggested by GilG.
#codereview Gil.Gribb
Change 2964398 on 2016/05/03 by Mark.Satterthwaite
Added GetCompressionBitWindow to IPlatformCompression so that FArchive compression can acquire the platform specific window value at runtime even without the Developer-only TargetPlatform modules. This allows the ShaderCache to perform runtime compression of preloaded shaders in-game without crashing.
#jira UE-30238
Change 2965966 on 2016/05/04 by Peter.Sauerbrei
fix for bad path when deploying from mac
#jira UE-30294
#lockdown josh.adams
Change 2968380 on 2016/05/05 by Dmitry.Rekman
Fix visibility placement which breaks Linux build.
#lockdown Josh.Adams
#codereview James.Golding
Change 2969002 on 2016/05/06 by Nick.Shin
use boringssl until webrtc recompiled with openssl work is finished
#jira UE-30298 - Fortnite and Orion crash on login
#lockdown josh.adams
Change 2969545 on 2016/05/06 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#lockdown nick.penwarden
Change 2969923 on 2016/05/06 by Chris.Babcock
Fix linker warning (mismatched function/variable for glMapBufferOES and glUnmapBufferOES)
#jira UE-30222
#ue4
#android
#lockdown Josh.Adams
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
#lockdown nick.penwarden
[CL 2970080 by Josh Adams in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2731596 on 2015/10/16 by Keith.Judge
Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.
Change 2764244 on 2015/11/12 by Keith.Judge
Stop creating/deleting SRVs for dynamic buffers all the time. Instead add a new view when a new buffer is cycled and keep them around until the buffer is dead.
Change 2936695 on 2016/04/07 by Mark.Satterthwaite
Disable Metal on Mac OS X versions prior to 10.11.4 because their drivers are too buggy and lots of issues users will encounter were fixed in 10.11.4.
Change 2936701 on 2016/04/07 by Mark.Satterthwaite
Re-enable DistanceFieldAO on Mac Metal, but disable the support for Heightfield composition into the DistanceFieldAO as that currently requires Read+Write texture support which isn't present in Metal yet.
Change 2936702 on 2016/04/07 by Mark.Satterthwaite
Enable capsule shadows on Metal SM5 for Mac Paragon.
Change 2936704 on 2016/04/07 by Mark.Satterthwaite
Re-add Metal_MacES3_1 entries in RHIDefinition functions - not quite sure how they disappeared...
Change 2936706 on 2016/04/07 by Mark.Satterthwaite
Fix implementation of BeginRenderingPrePass to only clear the depth+stencil buffers when it is asked to - this fixes LOD fading in Paragon on Mac when parallel execution is enabled. The parallel contexts were being instructed to clear the pre-pass data which was then fouling up all the subsequent rendering.
Change 2936708 on 2016/04/07 by Mark.Satterthwaite
Extend workaround from 2905206 for UE-27818 to Metal as well as OpenGL - it isn't permissable to have an unbound resource on these APIs as you aren't allowed to make the assumption than an if-branch will protect against null dereference on the GPU.
Change 2936737 on 2016/04/07 by Mark.Satterthwaite
Changes to reduce Metal's peak memory usage when streaming texture data in when loading levels:
- When uploading data to Shared memory Metal textures dispose of the source buffer immediately as it won't be required after the call to replaceRegion.
- Add an optional CVar ("rhi.Metal.MaxOutstandingAsyncTexUploads") and keep a count of outstanding async. texture uploads - really this might be better as a memory count - if teh current outstanding count is greater than the specified CVar wait for all operations to complete before purging the used buffers. By default the CVar is set to 0 which disables the tracking and the game will use all available memory.
Change 2936741 on 2016/04/07 by Mark.Satterthwaite
For Metal don't use a texture-view unless the mip-range or texture format is different - we only create a texture-view if we absolutely have to in order to avoid performance reductions on some vendors. When this happens we'll have to update the SRV to point to the new source texture but that can be handled on bind.
Change 2936753 on 2016/04/07 by Mark.Satterthwaite
Mutex the pipeline cache inside each Metal bound-shader-state - with parallel execution this can be modified from multiple threads.
Change 2936758 on 2016/04/07 by Mark.Satterthwaite
Don't eliminate redundant Metal command-encoders on Intel either - this only seems to work correctly on AMD...
Change 2936762 on 2016/04/07 by Mark.Satterthwaite
Validate that parallel contexts aren't asked to clear render-targets (incl depth/stencil) as this won't work as desired - each context will end up clearing the contents meaning none of the rendering will propagate which is probably not what you intend.
Change 2936765 on 2016/04/07 by Mark.Satterthwaite
Fix alignment of blit-commands between textures & buffers in Metal. Mac Metal has no minimum alignment and allows tightly packed rows, but mobile H/W has a fixed row alignment of 64-bytes for linear texture data.
Change 2936767 on 2016/04/07 by Mark.Satterthwaite
Remove the workaround for old Mac OS X AMD cards not supporting frame-buffer sRGB - I have a feeling it causes more problems than it solves.
Change 2936773 on 2016/04/07 by Mark.Satterthwaite
Warn the user when trying to run on OpenGL 3.2 GPUs that they are running unsupported and there may be rendering errors and performance problems.
Change 2936777 on 2016/04/07 by Mark.Satterthwaite
In MetalRHI move the calls that reset the state-cache and command-encoder to EndFrame and fix the fallout. Hopefully this will eliminate the problem where a draw call fails because a call to SetRenderTargets hasn't been made since the last time the command-buffer was submitted.
Change 2936788 on 2016/04/07 by Daniel.Lamb
PR #2193: Commandlet tweaks: Fixup Redirects and Cook-on-the-fly Server (Contributed by FineRedMist)
Change 2936799 on 2016/04/07 by Mark.Satterthwaite
Automatically enable RHI thread support in Metal if parallel execution is compiled in unless running the Editor which doesn't support it. The RHI thread is only enabled in Metal when parallel execution is available because there's little to no advantages to the RHI thread with Metal unless parallel execution is enabled. Also only enable async compute support when parallel execution is available and running on an AMD GPU as only AMD support it and again its only really useful when running things in parallel. Disable the async. compute fencing code when async. compute is disabled.
Change 2936923 on 2016/04/07 by Peter.Sauerbrei
add exception when trying to access an ini section which we don't cache
Change 2937839 on 2016/04/08 by Lee.Clark
PS4 - BC6H and BC7 support
#jira OR-14804
Change 2937841 on 2016/04/08 by Lee.Clark
Fix media player not opening the same file that has just been closed.
Change 2937843 on 2016/04/08 by Lee.Clark
PS4 - Fix Media player seek and duration
Change 2938272 on 2016/04/08 by Mark.Satterthwaite
Change the Metal texture lock/unlock code to use the immediate getBytes API to read from the texture unless it is stored in Private memory and requires we use the blit-encoder. This means iOS texture locking won't generally need to use the blit encoder with its row alignment restrictions as all textures will be Shared. On Mac most textures will still be accessed via blit operations since Private memory is much more common than Managed.
Change 2938471 on 2016/04/08 by Nick.Shin
load/save with "negative char size value" fixed
two 'U''s were missing-- causing base64encoder and decoder to not return original data (or expected data for that matter)...
C++ function shows these signatures:
\Engine\Source\Runtime\Engine\Public\SaveGameSystem.h
FGenericSaveGameSystem::SaveGame(..., ..., ..., ...<uint8>);
FGenericSaveGameSystem::LoadGame(..., ..., ..., ...<uint8>);
javascript version was using signed operators...
answerhub 386719 - broken load/save
Change 2938546 on 2016/04/08 by Nick.Shin
upgrading zlib, openssl, libcurl & libwebsockets
(part 1, for libwebsockets -- engine changes will be in part 2)
and writting down all of the build instructions into a single script file
future tasks may have the script broken to smaller sized files and placed in the respective library folders for simplicity -- for now, it's bundled together to ensure build is all-in-one...
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1223 - Arrange testing for 'update websocket library'
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2939402 on 2016/04/11 by Mark.Satterthwaite
No need to call synchroniseTexture on iOS when locking a texture for read - that function call is only available and required on OS X.
Change 2939526 on 2016/04/11 by Daniel.Lamb
Don't mark content as modified when garbage collecting.
#PR2249
#2249
Change 2940094 on 2016/04/11 by Michael.Trepka
Temporarily rollback //UE4/Dev-Platform/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalContext.cpp to revision 47 to unblock UE-29312
#codereview Mark.Satterthwaite
Change 2940540 on 2016/04/12 by Jeff.Campeau
Hardware decompress support for Xbox One.
Change 2940793 on 2016/04/12 by Lee.Clark
PS4 - Fix file handle leaks
#codereview Marcus.Wassmer
Change 2940903 on 2016/04/12 by Keith.Judge
Xbox One - Fix validated driver warning when using async compute with dynamic buffers (remove dynamic buffers).
Also resurrected the old deferred deletion queue (though simplified the code a lot as TQueue was horrible), as the platform agnostic one can't deal with placement created resources with a separate buffer/resource.
Moved associated deferred deletion logic out of FD3D11DynamicBuffer.
Attempted fix for UE-28758, but doesn't actually fix it. :(
Change 2940959 on 2016/04/12 by Michael.Trepka
Moved RadioEffectUnit CoreAudio plugin to Engine/Build/Mac
#codereview Ben.Marsh
Change 2940961 on 2016/04/12 by Michael.Trepka
Updated GitHub readme for Mac with instructions for building ShaderCompileWorker
#codereview Ben.Marsh
Change 2941010 on 2016/04/12 by Daniel.Lamb
Added xboxone.projectsettings to the ini processer in UAT.
#codereview Peter.Sauerbrei
#jira UE-29344
Change 2941671 on 2016/04/12 by Jeff.Campeau
March 2016 XDK update
Change 2941998 on 2016/04/13 by Mark.Satterthwaite
In MetalCommandList retain/release when waiting on a command-buffer commit to ensure command-buffer lifetime.
Change 2942008 on 2016/04/13 by Keith.Judge
Fix black reflections when async compute is enabled. Shader resource tables are now properly bound on the context, and fixed a bug where the buffer offset and number of constants wasn't being properly set when using the ring buffer.
#jira UE-28758
Change 2942046 on 2016/04/13 by Lee.Clark
Fix SN-DBS launch failure with VS2015 - (path env seems to be null in 2015)
Change 2942095 on 2016/04/13 by Mark.Satterthwaite
MIssed a change to use AlignedStride rather than Stride in FMetalDynamicRHI::RHIReadSurfaceFloatData to fix iOS blit-encoder read-back.
Change 2942383 on 2016/04/13 by Mark.Satterthwaite
When locking a Metal texture on Mac you have to submit the command buffer & wait in a different location for Private vs. Managed access.
Change 2942419 on 2016/04/13 by Michael.Trepka
Enabled IPv6 on iOS and Mac
#jira UEPLAT-1168
Change 2942472 on 2016/04/13 by Daniel.Lamb
Fixed missing OnlineSubsystemGooglePlay section from UAT ini processing.
#codereview Peter.Sauerbrei
Change 2942829 on 2016/04/13 by Nick.Shin
removing unused emscripten - ThirdParty folder
the ThirdParty folder contained a lot of GPL (and sometimes missing) licensing projects - removing to keep legal happy
tested with full rebuild, full cook, packaging and running QAGame
Change 2943110 on 2016/04/13 by Chris.Babcock
Fix Oculus mobile binaries filtered (include the jars)
#jira ue-29080
#ue4
#android
#gearvr
#codereview Nick.Whiting
Change 2943111 on 2016/04/13 by Chris.Babcock
Fix GearVR plugin jar copy logic
#jira UE-29108
#ue4
#android
#gearvr
#codereview Nick.Whiting
Change 2943579 on 2016/04/14 by Peter.Sauerbrei
enable tvOS in the binary build
Change 2943587 on 2016/04/14 by Peter.Sauerbrei
creation of xcode archives when using the archive command with iOS
Change 2943619 on 2016/04/14 by Mark.Satterthwaite
Make Metal SM4 the default on Mac again for the 4.12 release. As expected there are many bugs to resolve.
Change 2943869 on 2016/04/14 by Daniel.Lamb
Turned duplicate stage of files into warning.
#codereview Peter.Sauerbrei
#lockdown Josh.Adams
#jira UE-29487
Change 2943901 on 2016/04/14 by Keith.Judge
Xbox One - Fix start up crash.
#lockdown Josh.Adams
Change 2943981 on 2016/04/14 by Mark.Satterthwaite
Allow RWBuffers in Metal, which should work, but not RWTextures which aren't yet supported.
#jira UE-29492
#lockdown josh.adams
Change 2944080 on 2016/04/14 by Peter.Sauerbrei
temporarily remove code which removes passwords in ini files which reside in the pak file
multiple defaultengine.ini files were being copied over one another
#lockdown josh.adams
Change 2944249 on 2016/04/14 by Peter.Sauerbrei
fix for writing out DefaulEngine.ini when deprecated items are not changed
#codereview zabir.hoque
#lockdown josh.adams
Change 2944454 on 2016/04/14 by Peter.Sauerbrei
fix for incorrect archive directory and missing IPA
#jira UE-29509
#lockdown josh.adams
Change 2944834 on 2016/04/15 by Peter.Sauerbrei
fix for crash on some iOS device due to resources being freed while still in use by the GPU
#jira UE-29517
#lockdown josh.adams
Change 2944915 on 2016/04/15 by Peter.Sauerbrei
fix for including Facebook SDK in tvOS since we don't have the Facebook libraries for tvOS yet
#lockdown josh.adams
Change 2945164 on 2016/04/15 by Josh.Adams
- Removing XboxOnePDBFile from junkmanifest, causes too much trouble when staging using AutoSDKs
#lockdown nick.penwarden
#codereview jeff.campeau
#lockdown nick.penwarden
[CL 2945174 by Josh Adams in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2719147 on 2015/10/07 by Mark.Satterthwaite
Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track.
Change 2719182 on 2015/10/07 by Mark.Satterthwaite
Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient.
Change 2719185 on 2015/10/07 by Mark.Satterthwaite
Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw.
Change 2719434 on 2015/10/07 by Mark.Satterthwaite
Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server.
Change 2724764 on 2015/10/12 by Josh.Adams
[Initial AppleTV support]
Merging //depot/YakBranch/... to //UE4/Dev-Platform/...
Change 2726266 on 2015/10/13 by Lee.Clark
PS4 - Calc reserve size required for DMA copy when using unsafe command buffers
Change 2726401 on 2015/10/13 by Mark.Satterthwaite
Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected.
#jira UE-15228
Change 2726421 on 2015/10/13 by Lee.Clark
PS4 - Don't try to clear invalid targets
Change 2727040 on 2015/10/13 by Michael.Trepka
Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72
Change 2729783 on 2015/10/15 by Keith.Judge
Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty.
Change 2729847 on 2015/10/15 by Mark.Satterthwaite
Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff.
#jira UE-21992
Change 2729865 on 2015/10/15 by Keith.Judge
Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition.
Change 2729897 on 2015/10/15 by Keith.Judge
Fast Semantics - Make sure all GetData() calls are made safe with GPU fences.
Change 2729972 on 2015/10/15 by Keith.Judge
Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly.
This should be marginally quicker as it stops a double call to ClearState().
Change 2731503 on 2015/10/16 by Keith.Judge
Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict).
Change 2731596 on 2015/10/16 by Keith.Judge
Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.
Change 2731928 on 2015/10/16 by Michael.Trepka
PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl)
Change 2731934 on 2015/10/16 by Michael.Trepka
PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura)
Change 2732018 on 2015/10/16 by Mark.Satterthwaite
Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached.
- The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders.
- Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this.
- Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL.
Change 2732365 on 2015/10/16 by Josh.Adams
- Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On)
Change 2733170 on 2015/10/18 by Terence.Burns
Fix for Android IAP query not returning entire inventory.
Change 2733174 on 2015/10/18 by Terence.Burns
Fix Movie player issue where wait for movie to finish isnt being respected.
Seems a stray bUserCanceled event flag was causing this not to be observed.
Added some verbose logging to apple movie player.
Change 2733488 on 2015/10/19 by Mark.Satterthwaite
Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information.
- Fixed a bug that would cause invalid shader membership and draw state information to be logged.
- Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too.
Change 2735226 on 2015/10/20 by Mark.Satterthwaite
Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently.
#jira UE-21214
#jira UE-19913
Change 2736722 on 2015/10/21 by Daniel.Lamb
Improved performance of cooking stats system.
Change 2737172 on 2015/10/21 by Daniel.Lamb
Improved cooking stats performance for ddc stats.