#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869250 via CL 10869537 via CL 10869906
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870965 by ryan durand in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4048227 by Rolando.Caloca
VR - vk - Some Vulkan merge conflicts resolved
Change 4078631 by Mike.Beach
Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).
Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.
#jira UE-55499
Change 4080389 by Mike.Beach
Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.
#jira UE-57680
Change 4080792 by Joe.Graf
Prep work for moving face ar to its own plugin
Change 4080852 by Joe.Graf
Prep work for moving face ar support to its own plugin
Change 4081735 by Keli.Hlodversson
Remove a workaround change from the Lumin branch that should not have been merged over.
Change 4081737 by Keli.Hlodversson
Fix SteamVR forcing full screen regardless of user settings.
#jira UE-51654
Change 4082323 by Joe.Graf
Pulled face ar support into its own plugin so that it can be enabled/disabled independently from room ar
Change 4082334 by Joe.Graf
Changed where face LiveLink was logging to
Change 4095529 by Joe.Graf
Dramatically simplified the face API isolation to a separate plugin
Change 4103356 by Joe.Graf
Fixed a threading bug that appeared when migrating the face ar code into its own plugin
Change 4109752 by Joe.Graf
Added a setting to specify the type of AR world alignment transform type a session should use
Deleted some old ARKit configuration code that wasn't really used
Fixed the setting of light estimation using the wrong value to determine the setting on ARKit
#jira: UE-58544, UE-59371
Change 4110601 by Jason.Bestimt
#DEV-VR - Adding spaces to plugin names
#JIRA: UE-58642, UE-58643
Change 4110721 by Jason.Bestimt
#DEV-VR - Removing question mark from tooltip
#JIRA: UE-58641
Change 4111412 by Joe.Graf
Fixed a bad merge of BaseEngine.ini
Change 4111902 by Nick.Whiting
Adding in support for locking HMD tracking to an external tracking environment (e.g. mo cap). This is not meant to drive the position continually in lieu of an HMD's built in system, but is rather to help keep the HMD from generally getting out of alignment with another tracking system. Two functions, CalibrateExternalTrackingToHMD and UpdateExternalTrackingHMDPosition allow for arbitrary rigid offsets between the HMD and the external tracking source, and updating as desired.
Change 4116059 by Joe.Graf
First pass integration of ARKit 2.0 (very wip, thar be dragons everywhere)
Change 4116109 by Jason.Bestimt
#DEV-VR - Disable editing of Tegra Debugger setting for installed builds
#JIRA: UE-58636
Change 4117821 by Jason.Bestimt
#DEV-VR - Fix for crash in DebugCanvas on application termination
#JIRA: UE-58865
Change 4118560 by Joe.Conley
MagicLeap ImageTrackerComponent: Adding check for PLATFORM_LUMIN to prevent PIE crash running code that was designed to only run on device.
Tested PIE in editor and launching to device.
Change 4118626 by Jason.Bestimt
#DEV-VR - Removing ES2 from bMobileRendering Tooltop
#JIRA: UE-58640
Change 4119786 by Joe.Conley
Merging CL-4118965 from Release-4.20 using DevVRtoRelease420
Change 4119906 by Joe.Conley
Magic Leap settings: Changing comment/tooltip on mobile rendering flag to not mention vulkan and just say "mobile". Still technically possible to use ES2 but it's hidden.
#jira UE-59755 "Magic Leap: Project setting to set vulkan or ES2 needs to be removed"
Change 4122067 by Jason.Bestimt
#DEV-VR - Copying all relevant files for Resonance Audio
Change 4122930 by Keli.Hlodversson
Use XR ThreadUtils when scheduling GameTrackingThread to Render and RHI thread.
#jira UE-58852
Change 4123848 by Nick.Whiting
Enabling RHI threading on Lumin
Change 4124116 by Nick.Whiting
Adding support for DefaultStereoLayers on Lumin
Change 4151051 by Joe.Conley
Magic Leap: Override IniPlatfromName() for LuminTargetPlatform to report "Lumin" rather than reporting the value from it's parent, AndroidTargetPlatform, "Android".
#jira UE-60389 "Lumin - Need to switch the *Phaedra* launch on option "All_Android_On..." to a single "All_Phaedra_On..." with no expandable options"
Unsure if this will affect more than just this display name, as IniPlatformName() is used in a few places in the code, but eventually it will need to be "Lumin" anyway so we'll fix fallout as we find it.
Change 4160099 by Nick.Whiting
Enabling RHI threading on Vulkan by default on Magic Leap
Change 4163986 by Joe.Graf
Merging using Dev-VR_to_Release-4.20
Change 4164500 by Joe.Graf
Merging using Release-4.20_to_Dev-VR
Change 4166311 by Jason.Bestimt
#DEV-VR - Merge from //UE4/Dev-MagicLeap/... @ CL 4136411
Change 4167085 by Ryan.Vance
#integrating 4.20 cl 4132173 to fix mobile vulkan occusion query issues.
#jira UE-61051
Change 4167151 by Jason.Bestimt
#DEV-VR - Manual merge of Dev-MAIN to resolve conflicts for robomerge
Change 4167983 by Joe.Conley
For Lumin, only build shaders for OpenGL or Vulkan, not both. Fix a shader compile error in BogMyrtle material (can't use SpeedTree node on mobile).
#jira UE-61126 Lumin Sample: Warning: LogMaterial : Failed to compile material for GLSL_ES2
Change 4168244 by Nick.Whiting
Fix for stereo layers crashing on exit, where the DebugCanvas was destroyed after the layer manager, causing a nullptr dereference
Change 4170213 by Mike.Beach
CIS build fix - removing duplicate definition & adding a missing #pragma once to a header fille
#mlqdr
Change 4170299 by Mike.Beach
LNK fix - fixing up more fallout from the recent merge from DevMain. Adding in missing function that was dropped in the merge (matching Main's version).
Change 4170962 by Nick.Whiting
Back out changelist 4160099: Removing the enabling by default on lumin
Change 4171227 by Chance.Ivey
Unreal Engine logos for Portal and Model. These need to be set in Project Settings.
Change 4171260 by Chance.Ivey
Removing ML basic assets for project icons.
Change 4171939 by Joe.Conley
#jira UE-61124 Lumin Sample: EDL errors during Launch On
Change Lumin Sample to use vulkan, like we do for everything by default now.
Didn't see this error after this change.
Change 4172321 by Mike.Beach
Sizing the debug layer properly for the magic leap device (inverting the y when rendering with opengl).
#jira UE-60299
#mlqdr
Change 4174175 by Jason.Bestimt
#DEV-VR - Fix for dragging a "skylight" from lighting menu directly into sequencer.
Change 4174237 by Jason.Bestimt
#DEV-VR - fixing initializer order
#JIRA - UE-61337
Change 4175281 by Joe.Graf
Added support to stream a preview image and the accompanying AR world data for shared AR experiences
Change 4175656 by Ryan.Vance
Copying //Tasks/UE4/Dev-VR-VulkanMedia to Dev-VR (//UE4/Dev-VR)
Preliminary vulkan media player support for ML.
There are a number of tasks left to do with this feature before committing to main:
- Clean up leaked color conversion handles
- Texture slot binding is not robust for media textures
- Color conversion extension init should be move to a lumin platform function
- Mobile renderer's base pass may collapse multiple materials together into the same drawing policy, so the immutable samplers referenced in the pso would bleed into other materials
- Fixing above will allow us to remove the immutable samplers from the mobile material rendering proxy to ensure we don't re-introduce the fort bug listed in the related comment
Change 4175684 by Ryan.Vance
Fix for vk media player crash
Change 4175699 by Nick.Whiting
Merging CL 4175640 (fix for Audio Capture pausing and resuming) to Dev-VR
Change 4176804 by Joe.Conley
Rolando originally hacked the RHI for Lumin with the ForceEnableDebugMarkers() function; return false there instead of if PLATFORM_LUMIN.
Change 4178261 by Ethan.Geller
Back out changelist 4175699 #fyi nick.whiting #rb none
Change 4179088 by Mike.Beach
Mirroring CL4178961.
Removing spammy error log, per consult from ML - apparently, at this time, MLSnapshotGetTransform() can return NaNs (which we handle). It is currently expected from the API.
#jira UE-61127
#mlqdr
Change 4179629 by Jeff.Fisher
UEVR-1209 Update to Magic Leap Hand Tracking API
-Switched from the Gestures API to the HandTracking API
-There is nothing like the 0 and 1 tracking point that change meaning per gesture in the new API, so I assigned the former Center/Pointer/Secondary special 1/3/5 2/4/6 to Center/IndexFingerTip/ThumbTip.
#review-4178177
#jira UEVR-1209
#mlqdr
Change 4179705 by Jeff.Fisher
MagicLeapHandTracking CIS fix.
Change 4181301 by Joe.Graf
Moved FaceARSample to Samples/Sandbox/AR/ so we can have all of the AR samples together
Change 4181402 by Joe.Graf
Fixed a missing #ifdef wrapper in the MagicLeap plugin
Change 4181445 by Joe.Graf
Fixed another missing #ifdef wrapper in the MagicLeap plugin
Change 4181558 by Jeff.Fisher
HandTracking LeftGestureButton fix
-The reality is Nihav made the fix, and I reviewed it.
Change 4185551 by Joe.Graf
Added support to query and specify the desired video format for an AR session
Change 4185843 by Joe.Graf
Merged in absolute scale/location/rotation PR #4760 from Wang Hao
Change 4186875 by Joe.Graf
Added stats for face ar
#jira: UE-53883
Change 4187681 by Joe.Graf
Fixed unity build compilation error
Change 4188782 by Joe.Graf
Work around LiveLink interpreting ARKit timestamps incorrectly causing jitter and animation lag
#jira: UE-61540
Change 4189204 by Joe.Graf
Merging using Release-4.20_to_Dev-VR
Change 4189331 by Joe.Graf
Removed all of my merge markers from the lab
Change 4189477 by Joe.Graf
Added performance tuning options for Face AR to ARSessionConfig
Added whether to mirror or be face relative for Face AR to ARSessionConfig
#jira: UE-53881
Change 4189835 by Joe.Graf
Changed how timestamps for ARKit objects are updated to make them more amenable with the engine
#jira: UE-61550
Change 4190085 by Jeff.Fisher
Duplicating from Dev-Partner-MagicLeap-4.20 cl 4189995
HandTracking 'failed to load' errors.
-Needed a package redirector as well as the various class and enum redirectors.
#MLQDR
#review-4189613
Files:
//UE4/Dev-Partner-MagicLeap-4.20/Engine/Config/BaseEngine.ini#8
Change 4190100 by Jason.Bestimt
#DEV-VR - Adding script version string to make sure AutoSDK gets run again
[To Fix CIS Builds for UE4 Lumin]
Change 4190795 by Joe.Conley
#jira UE-61265 Audio Capture Components need to hook Lumin backgrounding notifications to pause capture
Shelve 4175638 got committed but didn't compile. Fixed compile errors and changed some checks from Handle != ML_HANDLE_INVALID to MlIsValidHandle(Handle), fixed functions to return false if they error, responded to the errors by not continuing further, etc...
Don't know if this fixes all the functionality, but doesn't crash for me anymore.
Change 4196211 by Jason.Bestimt
#DEV-VR - Fixes for Android platform with new Lumin Vulkan Color Conversion Functions
Change 4199020 by Jason.Bestimt
Making sure bHaveVulkan is true for Lumin
Change 4199506 by Jason.Bestimt
#DEV-VR - Merging CL 4199443 from Dev-Magicleap to clear cache on looping media
Change 4200139 by Joe.Graf
Initial check in of a project to illustrate AR persistent sessions
Change 4200299 by Joe.Graf
Fixed the plugin setup for ARSaveLoad
Change 4200327 by Joe.Graf
Fixed adding face ar plugin instead of world ar plugin
Change 4200330 by Joe.Graf
Added a sample for using ARKit's environment probe feature
Change 4200352 by Joe.Graf
Changed the ARSessionConfig to use automatic environment probe generation
Change 4201607 by Zak.Parrish
Moving latest version of FaceARSample to DevVR
Change 4203453 by Jason.Bestimt
#DEV-VR - Fixing Audio Capture to not re-open stream if it's already open
#JIRA: UE-61609
Change 4204527 by Joe.Graf
Changed the AR World Save and AR Get Candidate Object latent actions to use the new mechanism to reduce code
Change 4204533 by Joe.Graf
POC of saving and load an AR world
Change 4204806 by Joe.Graf
Added more descriptive display names for AR blueprint operations
Change 4204870 by Jeff.Fisher
HandTracking blueprint access to all keypoints
-Duplicating for Dev-VR from Dev-Partner-MagicLeap-4.20
-Created new GetGestureKeypointTransform blueprint function to get a keypoint's transform by hand and keypoint enum.
-Deprecated the old GetGestureKeypoint methods
-Fixed Special_1 and Special_2 to use hand center instead of wrist center.
-Exposed all the keypoints to blueprint, so they can work right away when underlyign support appears in the OS.
#MLQDR
#review-4200777
Change 4204877 by Jeff.Fisher
Updated gesture test content to replace deprecated hand tracking blueprint functions.
Change 4204915 by Joe.Graf
Hid blueprint internal methods from being callable
Change 4205082 by Joe.Graf
Split ImportFileAsTexture2D into two functions so you can also import from a buffer
Change 4205170 by Joe.Graf
Made the proxy create function blueprint internal only
Change 4206898 by Joe.Graf
Initial ARSharedWorld multiplayer sample check in
Change 4207396 by Joe.Graf
Removed the FARSharedWorld from ARSharedWorldGameState to make things simpler/cleaner
Change 4207406 by Joe.Graf
Hooked up the delivery of the AR shared world data to the clients in the MP sample
Change 4207444 by Joe.Graf
Fixed the shadowing warning
Change 4207794 by zak.parrish
Checking in first stage of usable Save/Load AR work. Some UI, foundational functionality. Not testable yet.
Change 4207832 by Joe.Graf
For Zak
Change 4207952 by Joe.Graf
For Zak part 2
Change 4208268 by zak.parrish
Checking in changes to ARSaveLoad's game mode
Change 4208316 by zak.parrish
Living in shame under JoeG's rough admonishment. And fixing UI bugs.
Change 4208404 by zak.parrish
Actually saving... maybe?
Change 4208407 by Joe.Graf
Fixed wrong platform name being used as the whitelist for the AppleImageUtils plugin
Change 4209764 by Joe.Graf
Added missing module class for AppleImageUtilsBlueprintSupport
Change 4210695 by Joe.Graf
Added compression and versioning to the AR saved world data
Change 4211461 by Joe.Graf
Incremented the face live link packet version since the new blendshapes were added
Change 4211843 by Joe.Graf
Split some of the methods for ARKit conversion into a cpp from being all in the header
Added some logging during conversion
Change 4212020 by Joe.Graf
Added support for telling the AR system whether to reset tracking and tracked objects (useful for generating a play space and then using lower cpu/gpu tracking only)
Change 4212878 by Joe.Graf
Fixed inline problem and exported FAppleARKitConversion class
Change 4214969 by Ryan.Vance
#jira UEVR-1257
Adding initialization to all members in the default FAppleARKitFrame ctor
Change 4217193 by Jason.Bestimt
#DEV-VR - Fix for swapping shader cache formats and using Launch On
We now reload the settings each time they are used rather than caching once at startup
Change 4217487 by Jason.Bestimt
#DEV-VR - Fix for CIS shadowed member variable error
Change 4220007 by Jason.Bestimt
#DEV-VR - Fix for Dev-VR compile issue for Lumin Target Platform dependencies on Engine
Change 4223757 by Jason.Bestimt
#DEV-VR - Moving Lumin Audio Platform above Android because Lumin is Android
Change 4230863 by Keli.Hlodversson
Updating to SteamVR 1.0.15
Change 4235330 by Jason.Bestimt
#DEV-VR - Selective Merge from Dev-Partner-MagicLeap-4.20
CL 4117808
SKIP 4166531, 4172433, 4173415, 4174167, 4175152, 4174192
CL 4175448, 4175781, 4176126, 4176135, 4176138, 4176803, 4178961
SKIP - 4179818, 4179864
CL 4179921, 4179956, 4180229, 4180268, 4180298, 4182733, 4183548, 4184684, 4186883, 4187230, 4189420, 4189995, 4190527, 4190721
SKIP - 4191085
CL 4192219
SKIP 4195948
CL 4197287, 4197951, 4197956, 4201351, 4202541, 4202544, 4202547
SKIP 4202774
CL 4203462, 4203484
SKIP 4204670
CL 4206823, 4209729, 4209810, 4211003, 4215367, 4215662, 4215892, 4215898, 4220239, 4220257
SKIP 4220295
CL 4220307
SKIP 4221842
CL 4221866, 4222959, 4223772, 4225943
SKIP 4226329, 4227773
CL 4228213, 4228270
SKIP 422902, 4229054, 4229365, 4230881, 4233277
Change 4235969 by Joe.Conley
MagicLeap: Add quotes around the path to the tools (clang etc) in the mlsdk directory, so that it won't fail if the MLSDK directory has a space in the path.
Change 4239300 by Nick.Whiting
Adding missing uplugin file to GoogleARCoreServices
Change 4240183 by Keli.Hlodversson
Updating to SteamVR 1.0.16
Change 4241714 by joe.conley
#jira UE-62189 - "Various QAARApp/Content/...uassets have been saved with empty engine version"
Resaved assets.
Change 4242300 by Nick.Whiting
Fix for ARCore Tools being in the wrong folder, emitting RuntimeDependency ref to make sure they're properly included
#jira UE-62277
Change 4244428 by Mike.Beach
Copying //UE4/Partner-Oculus-Staging to Dev-VR (//UE4/Dev-VR)
Change 4244671 by Jeff.Fisher
Fxing 'Lumi" build break.
Change 4247283 by Nick.Whiting
Merging fix from CL 4247094 for ARCore external dependency locations
Change 4255817 by Ryan.Vance
#jira UE-58854
Vulkan Shared Texture Media Framework support cleanup
Don't leak vk color conversion handles and only allocate if needed
Move color conversion device init to a lumin platform call
Add immutable sampler state to mobile base pass policy comparison
Remove WITH_VULKAN_COLOR_CONVERSIONS wrappers around color conversion code
TODO: FVulkanDescriptorSetsLayoutInfo::AddBindingsForStage still uses the first combined image sampler found when handking materials w/ immutable sampelrs which is not robust. The correct binding needs to be selected from reflection data generated by the compiler.
Change 4256021 by Jeff.Fisher
UEVR-1261 MagicLeap HandTracking should be exposed to LiveLink
-Exposed hand tracking transforms through live link.
-Added blueprint function to get the livelink source.
-Exposed LiveLikeSourceHandle through ILiveLinkSource.h so that it can be used by the MagicLeapPlugin.
-The transforms are in tracking space. They form a hierarchical skeleton with HandCenter as the root. See FMagicLeapHandTracking::SetupLiveLinkData() for details on the hierarchy. With the current magicleap runtime functionality many transforms in the skeleton are always identity.
#jira UEVR-1261
#review-4248322
Change 4258366 by Jeff.Fisher
UE-62494 Dev-VR Editor fails to build with errors related to MagicLeapHandTrackingLiveLink.cpp
-Fixed build break
Change 4260114 by Ryan.Vance
#jira UE-62509
Moving color conversion vk entry points to lumin platform to avoid failing to find them in android drivers.
Change 4263040 by Ryan.Vance
Fixing scope issue.
Change 4263556 by Jeff.Fisher
UE-62507 Fatal error crash opening packaged QAGame
UE-62544 //UE4/Dev-VR - Run Automated Tests Cooked Win64 - Unhandled Exception
-Updated #define OPENVR_SDK_VER TEXT("OpenVRv1_0_16")
#jira UE-62507
Change 4265161 by Jason.Bestimt
#DEV-VR - Fix for Lumin BP Projects not using their project specific ini files for compiling/cooking/packaging
#JIRA: UE-62568
Change 4265739 by Ryan.Vance
Marker API override for ML VK.
The current ML driver unofficially supports debug markers, but will report the extension unsupported if queried directly.
Once they add official support, we need to add the extension name back into the list.
Change 4267320 by Ryan.Vance
We need to add the debug marker extension for all platforms but Lumin.
Change 4268149 by Michael.Trepka
Fix for Lumin Toolchain failing to compile on Mac due to changes to the SDK
[CL 4268410 by Jason Bestimt in Main branch]
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4023283 by Michael.Lentine
Fix memory leak.
Change 4024243 by Michael.Lentine
Add debugging output code from github #4533.
#jira ue-55764
Change 4026362 by Michael.Lentine
Merged github #3704.
#jira ue-463394
Change 4026545 by Michael.Lentine
Fix ordering of collision settings changed callback
#jira ue-50475
Change 4026609 by Michael.Lentine
Fix crash in destruction for when world is not valid
#jira ue-53989
Change 4026786 by Michael.Lentine
Merging github #4632 to fix memory leak.
#jira ue-57255
Change 4027293 by Michael.Lentine
Integrate github #4338.
#jira ue-53497
Change 4033517 by Michael.Lentine
Fix collision body creation for spline merging.
#jira ue-53956
Change 4039750 by Michael.Lentine
Add basic error message if cooking fails.
Change 4040210 by Michael.Lentine
Check for nullptr
Change 4098887 by Michael.Lentine
Fix warnings.
Change 4103511 by Michael.Lentine
Prevent crash when BodyInstance is invalid.
Change 4117826 by Michael.Lentine
Fix check for body being fixed.
Change 4122307 by Benn.Gallagher
PS4/clang build fixes
Change 4124479 by Benn.Gallagher
Fix non-portable filename used as an include (Linux editor build CIS error)
Change 4125450 by Benn.Gallagher
Fixup Ocean
Change 4127210 by Michael.Lentine
Update the PreviousBoneTransforms array when setting transforms in DestructibleComponent
#jira ue-58813
Change 4127309 by Benn.Gallagher
Fix Win32 shipping builds
Change 4134570 by Michael.Lentine
Missed fixes for WITH_UEPHYSICS.
Change 4134585 by Michael.Lentine
Missed a few more files.
Change 4134670 by Michael.Lentine
Update formatting.
Change 4134671 by Michael.Lentine
More formatting.
Change 4150615 by Benn.Gallagher
Moved immediate mode into engine, as it is now depended on by the physics engine.
Change 4150680 by Benn.Gallagher
Missed file
Change 4150980 by Benn.Gallagher
Rename kinematic target for immediate mode to avoid ambiguous symbols in engine
Change 4151400 by Brice.Criswell
Apeiron
Levelset initilization issue.
----
Change 4157880 by Benn.Gallagher
More fixing unresolved template specialisations for FN editor.
Change 4159128 by Michael.Lentine
Compile fixes
Change 4159786 by Brice.Criswell
Apeiron
Levelset curvature initialization fix, clamps out of bounds phi values to phi[i].
------
Change 4160382 by Michael.Lentine
Fix node initialization
Change 4160463 by Brice.Criswell
Apeiron
Levelset index fix.
----
Change 4161425 by Benn.Gallagher
Added package, class and struct redirects for moving immediate physics into engine.
Change 4164195 by Brice.Criswell
GeometryCollection : Code review updates
- Removed typedef for GeometryCollection::ManagedArray<T>
- Renamed Enumerations to begin with E prefix, retyped to be uint8.
- Removed EArrayScoipe::FScopeNone, now defautls to FScopeShared
- Formatted type modifiers to follow UE4 coding standard.
- Derived the ManagedArrayBase from FNonCopyable
- Disabled TManagedArrays copy constructor and assignment operator.
- Converted most accessors on GeometryCollection to TSharedRef.
- Added .inl style definitions to simplify the management of the ManagedArrayTypes
-----
Change 4164235 by Brice.Criswell
GeometryCollection : Added New Files
- Added the ManagedArrayTypes files.
----
Change 4164309 by Brice.Criswell
GeometryCollection :
Moved the initialization of the RigidBodyIdArray and CenterOfMassArray into the WITH_APEIRON definition.
-----
Change 4166133 by Brice.Criswell
GeometryCollection
Added GeometryCollectionEdit class to protect access to the rest and dynamic collections.
-----
Change 4171540 by Michael.Lentine
Fix reset
#robomerge destruction
Change 4171912 by Michael.Lentine
Rename BVHParticles
#robomerge destruction
Change 4172445 by Brice.Criswell
Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)
----
Change 4172623 by Brice.Criswell
GeometryCollection
Debugging ToString to inspect the GeometryCollection
----
Change 4172711 by Michael.Lentine
Add Immediate Path to Geometry Collection
Change 4172778 by Michael.Lentine
Update LL Interface to use Simulation type.
#robomerge destruction
Change 4172780 by Michael.Lentine
Missed files
#robomerge destruction
Change 4173238 by Benn.Gallagher
Missed file from last checkin
Change 4173554 by Benn.Gallagher
Few extra changes for const correctness and actor counts
Change 4174153 by Benn.Gallagher
Fixed non-unity build issue from Geom Collection.
Change 4175355 by Brice.Criswell
GeometryCollection
Separated the GeometryCollection from USE_APEIRON flag.
-----
Change 4175533 by Brice.Criswell
GeometryCollection
Defaulting Aperion to off.
-----
Change 4175761 by Michael.Lentine
Fix collisions.
Change 4177105 by Benn.Gallagher
Another geom collection CIS fix when running without PCHs
Change 4177796 by Brice.Criswell
GeometryCollection
- Added parenting function to manage the BoneHierarchy Array
- Split collection along yz-plane.
-----
Change 4177989 by Brice.Criswell
GeometryCollection
- Moved Hierarchy and Transform array elements into base class TransformCollection
- Renamed ParticleGroup to TransformGroup.
-----
Change 4178826 by Brice.Criswell
Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)
----
Change 4178840 by Brice.Criswell
Geometry Collection
Removed FORCEINLINE from GeometryCollectionEdit.GetRestCollection
----
Change 4179493 by Brice.Criswell
GeometryCollection
New icons.
-----
Change 4182428 by Brice.Criswell
Build Configuration
Apeiron configuration.
- Modified bCompileApeiron to enable the compilation of the Apeiron plugin.
- Added bUseApeiron to enable Apeiron in the physics interfaces.
Changed PhysScene_Apeiron to enable when bCompileApeiron is enabled.
Disabled the GeometryCollection* Plugins in the build.
-------
Change 4185886 by Brice.Criswell
GeometryCollection
Renaming TransformGroup.
---
Change 4186389 by michael.lentine
Don't create in parallel for immediate mode.
Change 4186457 by michael.lentine
Hack to prevent crashing when Visible is nullptr.
Change 4198872 by Brice.Criswell
Apeiron
Clustering changes
- Clustering based on hierarchy's defined within the Geometry Collection
-----
Change 4199861 by Brice.Criswell
GeometryCollection
Disable Apeiron in the Collection.
------
Change 4200089 by Brice.Criswell
GeometryCollection
Updated to enable Apeiron in the GeometryCollection when the bCompileAperion flag is enabled in the UnrealBuildTool.
---
Change 4200333 by Brice.Criswell
Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)
-----
Change 4202231 by Michael.Lentine
Disable collisions between adjacent bodies connected by a joint. This typically would be specified by an artist but classic PhysX always does this uncondintionally so our clients are used to this.
Change 4202748 by Michael.Lentine
Fix 2015 compile.
Change 4204528 by Michael.Lentine
Disable Apeiron.
Change 4206396 by Michael.Lentine
Fix 2015 build. Static cast apparently is not an accetible conversion from uint32 to bool.
#robomerge destruction
Change 4206604 by Michael.Lentine
Fix for using ccd and kinematic.
#jira UE-61694
#robomerge destruction
Change 4206711 by mason.seay
Refreshed Set Angular Drive nodes to clear out orphan pins
Change 4207286 by Brice.Criswell
GeometryCollection
Transform hierarchy evaluation within BoneHierarchy of the Collection.
Parenting operations are implemented on an updated morphology using :
ParentTransforms(UGeometryCollection* GeometryCollection, const int32 InsertAtIndex, const TArray<int32>& SelectedBones);
To parent a new transform:
int32 RootIndex << within len( TransformGroup ) or -1 for a non-parented node.
int32 BoneIndex = Collection->AddElements(1, UGeometryCollection::TransformGroup);
GeometryCollectionAlgo::ParentTransform(Collection, RootIndex, BoneIndex);
Transform[BoneIndex] = <some transform within local space of the RootIndex>
Default collections have all geometry not parented. The function EnsureSingleRoot was added to guarantee that the collection has at least one parent node.
FGeometryCollectionCommands::EnsureSinglRoot(UGeometryCollection* RestCollection)
Then matrices relative to the collections root are calculated using:
GlobalMatrices(UGeometryCollection* GeometryCollection, TArray<FTransform> & Transforms);
Added Damage Threshold to GeometryCollectionActor
------
Change 4208039 by Brice.Criswell
GeometryCollection
Fix for static include failure.
---
Change 4208170 by Brice.Criswell
GeometryCache
SplitAlongYZ to support multiple levels and orientations.
---
Change 4208174 by Michael.Lentine
Avoid shadow warnings and switch logs to verbose instead of warnings.
#robomerge destruction
Change 4210255 by Benn.Gallagher
Static analysis fixes
Change 4210394 by Michael.Lentine
Use correct particle type for updateconstraints.
Change 4211153 by Brice.Criswell
Apeiron
Exposing friction and coefficient of restitution to the actor.
-----
Change 4213034 by michael.lentine
Rename bounding volume
Change 4216783 by Michael.Lentine
Committing cooking fix to Dev-Physics in order to get smoke tests running.
Change 4218078 by Benn.Gallagher
Fixed memory and TLS slot leak caused by previous change to physics scene cleanup while cooking
#jira UE-61633
Change 4219206 by Michael.Lentine
Use the adaptor to get the rotation.
#jira ue-61748
Change 4220469 by Benn.Gallagher
Fixed overlaps re-triggering on movement due to bad transform chaining from component to phys actor to shape
#jira UE-61703
Change 4220538 by Benn.Gallagher
Fixed PhysX errors when setting global transforms of kinematic and static objects.
#jira none
Change 4222138 by Michael.Lentine
Update use of Vulkan on android.
Change 4222139 by Michael.Lentine
Update OculusHMD plugin to use correct vulkan search path.
Change 4225740 by Michael.Lentine
Integrate changes to update rotation and mass.
Change 4225928 by michael.lentine
Use more accurate collision point.
Change 4226560 by michael.lentine
Enable contact graph
Change 4227397 by Michael.Lentine
If we don't have a global scene we need to not detect collisions.
#robomerge destruction
Change 4227410 by Michael.Lentine
Missing include
#robomerge destruction
Change 4228107 by Michael.Lentine
Integrate static contact changes.
Change 4228612 by michael.lentine
Use more correct thresholding.
Change 4228734 by Benn.Gallagher
Getting LLImmediate high level stood up and simulating
Implementation is incomplete, only what is required to get simple scenes simulating under immediate mode
Change 4228748 by Benn.Gallagher
Missed file from checkin
Change 4228885 by Ori.Cohen
Added base physics interface class to help provide default behavior and easily chain functionality together
Change 4228992 by Ori.Cohen
Fix cis
Change 4229921 by Benn.Gallagher
Fixed contact pre-filter performance regression
Change 4230825 by Benn.Gallagher
Moved WIP physics interfaces to Experimental/ folders
Change 4230853 by Benn.Gallagher
Fixup includes after moving WIP physics interfaces
Change 4231414 by Michael.Lentine
Use global namespace to avoid mac compile errors.
#jira ue-62137
[CL 4242847 by Michael Lentine in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3810363 by Mark.Satterthwaite
More random fixes to mtlpp: most important is the extension to Buffer that allows creation of sub-buffers that are merely views onto a sub-range of the parent. These sub-buffers are valid to use throughout the mtlpp API with two exceptions: they may not be used for visibilityResultsBuffers and Set*BufferOffset functions cannot take this offset into account (as the encoder does not hold onto the buffers and I don't want it to). In the case of Set*BufferOffset the caller has to know what is going on and in the case of visibilityResultsBuffers it'll just assert as it isn't sensible.
This makes it *much* easier to do things like sub-buffer allocation, though the caller must be aware of the alignment restrictions of their intended usage as they are not possible to enforce. For example, a call to SetVertexBuffer requires an offset alignment must match the alignment of the data-type in the shader for "device" resources, or for "constant" data it must be max(4, sizeof(datatype)) on iOS and 256 on macOS. This should allow for much more tightly packed sub-allocations than earlier approaches, though older drivers (e.g. Mac OS X 10.11) enforce only the coarser "constant" data restriction everywhere.
Change 3810407 by Marcus.Wassmer
PR #4322: ShadowSetup Bug Fix: Only stencil mask drawn meshes (Contributed by DSDambuster)
Change 3810676 by Guillaume.Abadie
Makes r.Test.SecondaryUpscaleOverride work with any arbitrary pixel size.
Change 3810696 by Guillaume.Abadie
Adds support for #include "../MyFile.ush" in the shader compiler.
Change 3810698 by Guillaume.Abadie
Implements enum class based shader permutation dimension.
Change 3810699 by Guillaume.Abadie
Implements Diaphragm DOF ground work.
Change 3811536 by Guillaume.Abadie
Pulls the trigger on CircleDOF's setup pass for DiaphragmDOF.
Change 3811958 by Mark.Satterthwaite
More fixes for mtlpp.
Change 3811964 by Mark.Satterthwaite
Only views onto a mtlpp::Buffer should return a valid parent-buffer.
Change 3812604 by Guillaume.Abadie
Changes Diaphragm DOF's source file layout.
Change 3812827 by Mark.Satterthwaite
More missing/broken functionality in mtlpp fixed and fixed obvious leaks.
Change 3812920 by Guillaume.Abadie
Adds support for per mip level UAV in FSceneRenderTarget.
Change 3812926 by Mark.Satterthwaite
Change the way we handle mtlpp resource construction to avoid leaks.
Change 3812960 by Rolando.Caloca
DR - vk - Disable DFGI
Change 3812968 by Rolando.Caloca
DR - Linker fix
Change 3813318 by Mark.Satterthwaite
Fix linear texture allocation from a buffer sub-view.
Change 3813326 by Mark.Satterthwaite
Fix another Metal mtlpp sub-buffer allocation failure.
Change 3813328 by Guillaume.Abadie
Removes global samplers in TAA for GL4, Vulkan and Switch.
Change 3813937 by Rolando.Caloca
DR - Fix logs not getting dumped when r.DumpSCWQueuedJobs is on
Change 3813947 by Rolando.Caloca
DR - noshaderworker should override r.XGEShaderCompile
Change 3817017 by Uriel.Doyon
Fixed texture editor black screen
#jira UE-53653
Change 3818568 by Rolando.Caloca
DR - Fix log when shader jobs crash
- Move log10 to common
- Added COMPILER_VULKAN define
Change 3818603 by Uriel.Doyon
Fix to static analysis warning
Change 3818623 by Rolando.Caloca
DR - Workaround hlslcc loop unrolling bug
Change 3819070 by Uriel.Doyon
Fix to stat duplication.
Change 3819105 by Uriel.Doyon
Refactored volume sample shader to avoid using texture dimension.
Change 3819136 by Rolando.Caloca
DR - vk - Per platform files (empty)
Change 3819180 by Rolando.Caloca
DR - vk - Move defines out of config into per platform
Change 3819247 by Rolando.Caloca
DR - vk - Remove more defines into platform settings
Change 3819318 by Rolando.Caloca
DR - vk - Fixes for linking
Change 3819868 by Rolando.Caloca
DR - vk - Linux & Android fixes
Change 3819873 by Guillaume.Abadie
Adds support for PermutationId on r.DumpShaderDebugInfo=1
Change 3819940 by Rolando.Caloca
DR - vk - Fix Linux issues
Change 3819956 by Rolando.Caloca
DR - vk - Invalid check
Change 3819961 by Michael.Lentine
Hide attributes when plugin is not present
Change 3819980 by Rolando.Caloca
DR - vk - Standard validation always
Change 3820039 by Rolando.Caloca
DR - vk - Fix invalid ensure
Change 3820326 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3820422 by Michael.Lentine
Add back GBufferAO.
Change 3820433 by Rolando.Caloca
DR - Fix D3D12 crash on 20 thread (10x2 cores) machines
Change 3821677 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3821961 by Rolando.Caloca
DR - Vulkan uses real UB by default on non-Android
Change 3821968 by Rolando.Caloca
DR - vk - Update glslang 1.0.65.1
Change 3821969 by Uriel.Doyon
Added support for stat groups that must be sorted by name. Defined by DECLARE_STATS_GROUP_SORTBYNAME.
Change 3821983 by Rolando.Caloca
DR - vk - Change to static array (0.1ms on 10k draw calls)
Change 3824141 by Rolando.Caloca
DR - vk - Fix static analysis
- Bumped up some (c) 2017->2018
Change 3824355 by Rolando.Caloca
DR - vk - Accessor to find out if a cmd buffer has been submitted
Change 3824420 by Rolando.Caloca
DR - Sanity check number of queries per batch on D3D11 as to not break other RHIs
Change 3824463 by Rolando.Caloca
DR - Removed dummy ensure for D3D12
Change 3824609 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3826074 by Mark.Satterthwaite
Start IMP-caching the various descriptor types in mtlpp.
Change 3826098 by Rolando.Caloca
DR - vk - Dump layer compile fixes
Change 3826113 by Rolando.Caloca
DR - vk - Missing dump functions
Change 3826302 by Rolando.Caloca
DR - vk - Compile fix
- Change dump handles to %p
Change 3826635 by Mark.Satterthwaite
Forward declarations required for mtlpp compilation without exposing Metal headers - plus fixes to the mtlpp test compiler.
Change 3827072 by Mark.Satterthwaite
Switch some more mtlpp descriptors over to IMPTables from objc_msgSend.
Change 3827909 by Guillaume.Abadie
Replaces diaphragm DOF's prefiltering with LDS bank coherent bilateral reduction, and implements 1/8 res background gathering pass.
Change 3827952 by Guillaume.Abadie
Updates copy right to year 2018 on diaphragm DOF's new files.
Change 3828055 by Rolando.Caloca
DR - vk - Rename in prep for changes
Change 3828229 by Guillaume.Abadie
Avoids to log multiple time global shader type name that have multiple permutations when verifying global shader map.
Change 3828427 by Guillaume.Abadie
Reimplements Max3x3 gathering post filtering for Diaphragm DOF with proper shader permutation.
Change 3829979 by Guillaume.Abadie
Fixes a color NaN source in diaphragm DOF's TAA pass.
Change 3830116 by Rolando.Caloca
DR - vk - Fix GPU queries/frame time on old system
- New system in place, disabled temporarily
Change 3830169 by Rolando.Caloca
DR - vk - Fix async pso creation crash
Change 3830193 by Rolando.Caloca
DR - vk - CPU RHI thread improvement
Change 3830291 by Guillaume.Abadie
Automatically lower the number of gathering rings on background half res gather pass as far CoC is getting smaller.
Change 3830300 by Rolando.Caloca
DR - vk - Static analysis fix: Split VulkanCommon.h out of VulkanConfiguration.h
Change 3830589 by Mark.Satterthwaite
In mtlpp cache the IMPTables for all the Metal @protocol's that are dependent on the MTLDevice, this avoids a mutex & map lookup. Also make all the concrete types store their IMPTable statically as it won't change.
Change 3830793 by Mark.Satterthwaite
Fix a small number of bugs introduced with the mtlpp descriptor and table caching.
Change 3831491 by Jian.Ru
Fix driver version unknown
#jira UE-53688
Change 3832335 by Rolando.Caloca
DR - vk - Change include
Change 3832550 by Rolando.Caloca
DR - vk - Occlusion query rewrite WIP
Change 3832589 by Rolando.Caloca
DR - vk - Minor refactor to pools in prep for timestamps
Change 3832618 by Rolando.Caloca
DR - vk - Do not block timestamp queries
Change 3832636 by Rolando.Caloca
DR - vk - Fix old timestamp queries
Change 3833138 by Rolando.Caloca
DR - vk - Fix timestamp queries
Change 3833249 by Rolando.Caloca
DR - vk - Test lock
Change 3833667 by Rolando.Caloca
DR - vk - Old queries wait on the RHI thread now instead of the driver (disabled)
Change 3833907 by Daniel.Wright
Fixed NextStartOffset UAV index out of bounds
Change 3833918 by Daniel.Wright
D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC or Xbox. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled.
Change 3834852 by Rolando.Caloca
DR - vk - Missing file
Change 3834858 by Guillaume.Abadie
Implements r.DOF.MinimalFullresBlurringRadius
Change 3834979 by Rolando.Caloca
DR - vk - Fix
Change 3836117 by Rolando.Caloca
DR - vk - Update to 1.0.65.1
Change 3836122 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOcclusionBatchCmdBuffer
- Added new error codes/messages
Change 3836421 by Mark.Satterthwaite
For the purposes of debugging and conformance testing mtlpp make it possible to compile *without* the IMP cache so that we call the underlying Objective-C.
Change 3836896 by Uriel.Doyon
Fixed concurrency and exit issues around d3d12 pipeline states on windows.
Change 3837385 by Rolando.Caloca
DR - vk - Dump memory on OOM
Change 3837427 by Rolando.Caloca
DR - vk - Change some arrays to array views
Change 3837800 by Guillaume.Abadie
Implements SHADER_PERMUTATION_RANGE_INT to make contiguous integer permutations that does not start to 0.
Change 3838128 by Rolando.Caloca
DR - vk - Support for non-cached memory types
Change 3838540 by Guillaume.Abadie
Refactors Diaphragm DOF's CoC tile buffer under a single API for better maintainability.
Change 3838731 by Rolando.Caloca
DR - vk - Descriptor pools per command buffer pool (turned off)
Change 3838961 by Rolando.Caloca
DR - vk - Use ring buffer for per frame uniform buffers
- Enable descriptor pools per layout recycled per command buffer
Change 3839087 by Rolando.Caloca
DR - vk - Compile fixes for Android
Change 3839106 by Marcus.Wassmer
PR #4413: Removing unnecessary call to FString::ToLower (Contributed by gsfreema)
Change 3839252 by Mark.Satterthwaite
Fix mtlpp::Resource move operators.
Change 3839426 by Marcus.Wassmer
Duplicate 380972
Make PC GPU Benchmarks more reliable
Change 3840041 by Guillaume.Abadie
Fixes shader compilation failure in TAA with alpha channel through post processing support.
Change 3840257 by Chris.Bunner
Swapping a mul() to * in HLSLTranslator::Dot to allow scalar transformations per a UDN ticket.
Change 3840308 by Rolando.Caloca
DR - vk - Support for UB & non-UB on emulation mode
Change 3840586 by Rolando.Caloca
DR - Copy 3840577
Fix for CPUs with more than 16 cores
Change 3840671 by Rolando.Caloca
DR - vk - Copy from 3840663
Fix for layout ensure on HMD projects on Vulkan
Change 3840980 by Rolando.Caloca
DR - vk - Android compile fixes
Change 3841989 by Guillaume.Abadie
Slices Diaphragm DOF's Gather pass in multi shader files, and CFLAG_StandardOptimization flag for faster iteration time.
Change 3842216 by Guillaume.Abadie
Fixes DDOF's foreground alpha channel.
Change 3842217 by Guillaume.Abadie
Implements r.DOF.MaximalForegroundBlurringRadius
Change 3842353 by Guillaume.Abadie
Allows to disable foreground gathering with r.DOF.MaximalForegroundBlurringRadius=0
Change 3842747 by Rolando.Caloca
DR - vk - Missing use of GPoolSizeVRAMPercentage
- Support for smaller allocations if page size is not available
Change 3842791 by Rolando.Caloca
DR - vk - Use 95% of available GPU memory to handle some fragmentation
Change 3843690 by Guillaume.Abadie
Fixes diaphragm DOF's foreground after all this refactoring.
Change 3844439 by Guillaume.Abadie
Improves Coc dilate pass to make the gather pass as fast as possible, but still without artifacts caused by the fast gathering optimisation.
Change 3844946 by Mark.Satterthwaite
rd_route v1.1.1 with attached TPS approval.
For macOS function interposition which is useful for debugging and the occasional workaround.
Change 3845164 by Mark.Satterthwaite
Add LLM support for macOS, including tracking of memory allocated in Objective-C. This makes use of runtime method swizzling in the Objective-C runtime and the rd_route library I added for Richard Wallis, which allows for arbitrary runtime function interposition and allows me to hook the custom allocators used in Apple's many Objective-C frameworks on which the whole macOS edifice is built. Objective-C objects are charged to the calling scope as they are too common to impose their own without murdering frame rate.
We would need a TPS approval for an iOS function interposition library for this to work fully on iOS, if desired in the short term discarding LowLevelFree events that aren't in the map rather than asserting will workaround the problem.
Change 3845849 by Marcus.Wassmer
Fix clang and some normal refactor errors
Change 3846026 by Rolando.Caloca
DR - vk - Descriptor set allocation scheme rewrite
- Type hash for each pool
- Desc sets Pool on device
Change 3846169 by Rolando.Caloca
DR - vk - Remove old code for non-layout descriptor set pools
Change 3846205 by Mark.Satterthwaite
Disambiguate the PatchControlPointOut struct definitions in Metal tessellation shaders at Apple's suggestion to avoid a metallib gotcha.
Change 3846346 by Arne.Schober
DR - Missing Vector instructions
Change 3847037 by Arne.Schober
DR - Fix issue with GPU skincache where the offset of the clothbuffer is not relative to the offset of the actual vertexbuffer.
Fixed MorphTarget Skincache Offset mixxup
Change 3847275 by Marcus.Wassmer
Copying MGPU to Dev-Rendering (//UE4/Dev-Rendering)
Change 3847464 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3847707 by Michael.Lentine
Only use MorphTargetOffset when the shader enables morph targets.
Change 3848533 by Richard.Wallis
Handle Metal adding FirstInstance into [[ instance_id ]] which is different to other APIs. SV_InstanceID and SV_VertexID should now have their respective base instance and base vertex ID's subtracted before use in the shader.
#jira UE-51716
Change 3848625 by Richard.Wallis
Compile Fix
Change 3848725 by Rolando.Caloca
DR - Remove use of Build/SetLocalGraphicsPipelineState
Change 3848797 by Rolando.Caloca
DR - Deprecate Build/SetLocalGraphicsPipelineState
Change 3849237 by Arne.Schober
DR - AddCustom Ver for ModelVertex Serialization
Change 3851247 by Rolando.Caloca
DR - vk - Util functions
Change 3851523 by Arne.Schober
DR - Update Reflection Comparission shot from the BuildFarm.
Change 3851859 by Rolando.Caloca
DR - vk - Skip loader
Change 3851889 by Krzysztof.Narkowicz
Removed lights with lighting channels out of tiled deferred light list. Tiled deferred lights do not support lighting channels and it's wasn't worth to add extra complexity to this shader in order support this special case.
#jira UE-51512
Change 3852181 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3852547 by Uriel.Doyon
Fixed Pre-Exposure shader compilation and Temporal AA issue.
#jira UE-54276
Change 3852637 by Arne.Schober
DR - Fixing Normal Automated Test Result
Change 3853167 by Richard.Wallis
AvfPlayer - support for streaming media. Due to an operator new/delete mismatch in Apples CFNetwork - we've had to change out one of that framework allocators using rd_route to avoid the memory corruption.
#jira UE-35637
Change 3853447 by Chris.Bunner
Fixing typos.
Change 3853645 by Krzysztof.Narkowicz
Fixed light functions on subsurface materials
Removed strange code from blending between static and dynamic shadows
#jira UE-50275
Change 3853660 by Rolando.Caloca
DR - Fix OpenGL overwriting texture samplers on forward renderer
Change 3853945 by Mark.Satterthwaite
Duplicate #3831616
Fix the black ground scattering on Metal - we've had issues with the atmospheric fog calculations for a long time - one or more intermediate operations generates different precision on Metal so we end up passing -ve values into sqrt which then generates NaN/INF. For Metal when compiling this file and this file only #define sqrt() to sqrt(abs()) so that we don't see anymore unexpected black in atmospheric rendering. This is far from ideal but I don't want to make abs all inputs into every sqrt because AFAIK this is the only case where we have an issue, and until we to investigate each intermediate calculation that isn't ridiculously, soul-crushingly tedious, it isn't practical to identify the source of the error.
#jira UE-53720
Change 3853966 by Mark.Satterthwaite
Duplicate #3835852
Fix tessellation shaders in Metal with Manual Vertex Fetch enabled:
- The control points idnex buffer shouldn't collide with anything else.
- We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures.
#jira UE-53851
Change 3854250 by Uriel.Doyon
Fix fbx automation tests
Change 3854736 by Uriel.Doyon
Added a tooltip to the EV100 slider in the exposure menu.
Using game settings now disables the slider.
#jira UE-53945
Change 3855047 by Jian.Ru
Fix DFAO getting NANs when samples out of ViewRect
#jira UE-54403
Change 3858197 by Krzysztof.Narkowicz
View frustum shadow caster culling for pointlights/spotlights
#jira UE-54381
Change 3860081 by Krzysztof.Narkowicz
Tighter bounding sphere for a spotlight
Replaced IntersectSphere(LightProxy->Origin, LightProxy->Radius) with LightProxy->SphereBounds for tighter culling of spotlights
Directional light GetBoundingSphere() now everywhere returns Sphere((0,0,0),HALF_WORLD_MAX) for consistency and proper SphereBounds
#jira UE-54258
Change 3860324 by Mark.Satterthwaite
Update the macOS deployment target version to 10.12 from 10.11 as we officially ended support for El Capitan a while ago. Should mean that libraries compiled for 10.12 and up won't cause link warnings.
Change 3860945 by Arne.Schober
DR - Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer.
#jira UE-54587
Change 3861129 by Jian.Ru
Prevent distance culled objects from casting distance field direct shadows
#jira UE-54533
Change 3861502 by Jian.Ru
Exclude distance culled objects from DFAO calculation
#jira UE-54533
Change 3862243 by Krzysztof.Narkowicz
Changed radius of a directional light's bounding sphere from HALF_WORLD_MAX to WORLD_MAX in order to encopass entire WORLD_MAX box
Change 3863476 by Krzysztof.Narkowicz
Added BuildReflections option to ResavePackages commandlet
#jira UE-54581
Change 3863717 by Rolando.Caloca
DR - vk - Missed using pipeline cache on compute PSOs
Change 3865332 by Arne.Schober
DR - Fix UE-52356 Bone Weight
Change 3866220 by Rolando.Caloca
DR - vk - Fixed GetNativeResource missing on textures
- Added support for -preferNvidia|AMD|Intel
- Added VulkanRHIBridge.h
- Minor fixes
Change 3866222 by Rolando.Caloca
DR - vk - Missed file
Change 3866951 by Krzysztof.Narkowicz
Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel.
#jira UE-53640
Change 3867231 by Guillaume.Abadie
Adds alpha mode to allow the tonemapper to passthrough the alpha channel for broadcast industry.
Change 3867233 by Guillaume.Abadie
Fixes a compilation failures in TAAU with r.PostProcessing.PropagateAlpha==2
Change 3867594 by Daniel.Wright
Removed EditorOnlyDefaultMaterials, which added 79s of shader compilation during startup
Added a dialog when opening the Material Editor on a Default Material, warning of advanced workflow
Preventing Material Editor Apply or Save for a Default Material when the preview material has compilation errors
Change 3870048 by Daniel.Wright
Cleaned up formatting in TranslucentRendering from merges
Change 3870106 by Krzysztof.Narkowicz
Fixed some FArchive Tell()/Seek() 64bit->32bit truncations
Change 3870211 by Rolando.Caloca
DR - vk - Added -vulkanvalidation=N/-vulkanstandardvalidation/-novulkanstandardvalidation to set validation layer behaviour from cmd line
Change 3870225 by Rolando.Caloca
DR - vk - Some platforms do not use a standard swapchain
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3870647 by Daniel.Wright
Moved FogRendering.h to Renderer
Change 3872130 by Krzysztof.Narkowicz
Disable USE_GLOBAL_CLIP_PLANE for MATERIAL_DOMAIN_POSTPROCESS and MERIAL_DOMAIN_UI
Merging GitHub Pull request #4459
"When material domain is not needing global clip plane there is no need to generate any code involving it. This does not alter output but removes lot of code at vertex shader and pixel shaders. At least on mobile rendered was actually generating clipping code for ui materials."
#jira UE-54616
Change 3872145 by Rolando.Caloca
DR - vk - Optional SupportsMarkersWithoutExtension
Change 3872404 by Uriel.Doyon
Added some guards when streaming virtual textures.
Fixed optimized UCanvasRenderTarget2D::RepaintCanvas() to prevent resolving the texture twice.
Fixed bad mipmap generation with UCanvasRenderTarget2D.
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3874176 by Ben.Marsh
IncludeTool: Add an flag to prevent scanning source files for exported symbols.
Change 3874935 by Krzysztof.Narkowicz
Fixed white thumbnails and other issues with sky lighting on ES3_1 path, by disabling GGX prefiltering, as mobile path doesn't have a single cubemap with all initialized mips. Instead it ping-pongs between 2 partially initialized.
#jira UE-54656
Change 3875710 by Daniel.Wright
Renamed uniform buffer member macros to be much shorter for readability
Change 3876665 by Guillaume.Abadie
Cherry-pick 3870715: Implements DOF's hybrid scatering bare bones.
Change 3876666 by Guillaume.Abadie
Cherry-pick 3871786: DOF hybrid scatering: fixes NaN source, transition to gather on close to screen edge and low intensity.
Change 3876677 by Guillaume.Abadie
Cherry-pick 3872348: Implements neighbor comparison for DOF's scattering compilation pass.
Change 3876680 by Guillaume.Abadie
Cherry-pick 3872357: Oups... fixes build...
Change 3876683 by Guillaume.Abadie
Cherry-pick 3872475: Controls number of mip to generate with DOF's reduce pass.
Change 3876687 by Guillaume.Abadie
Cherry-pick 3874104: Fixes various bugs in diaphragm DOF's hybrid scattering.
Change 3876690 by Guillaume.Abadie
Cherry-pick 3874144: Packs multiple DOF scattering group into same draw instance.
Change 3876694 by Guillaume.Abadie
Cherry-pick 3874275: Switches hybrid scattering with indexed indirect draw call to reduce scatter vertex shader invocation.
Change 3876695 by Guillaume.Abadie
Cherry-pick 3874674: Records min and max coc on DOF's setup's draw event.
Change 3876783 by Rolando.Caloca
DR - Static analysis fix
Change 3876845 by Guillaume.Abadie
Implements USceneCaptureComponent::ProfilingEventName
Change 3877197 by Rolando.Caloca
DR - vk - OQ fixes (disabled)
Change 3877428 by Krzysztof.Narkowicz
Merged with tiny tweaks Ansel photography plugin improvements from Adam Moss (GitHub pull request #4426):
-The free-roaming photography camera has new constraints by default, i.e. it can't pass through walls
-Photography session can be started and stopped programmatically, e.g. making it possible to bind photography to an alternative hotkey or button combo. This was an often-requested feature.
-Tweakables and utilities are now exposed through a Blueprint Function Library (rather than direct manipulation of console variables)
-The Ansel photography session UI now exposes some engine effect tweakables as sliders. For example, if the game is using depth-of-field then sliders are made available to allow the photographer to change the focal depth etc. The developer may suppress this behavior through the Blueprint Function Library.
-Letterboxing is now removed during multi-part capture, d'oh.
-Tiled shots are taken at full resolution even if ScreenPercentage < 100
-SSR is enabled during super-resolution shots since Ansel is now better at hiding any ensuing artifacts
-Postprocess settings are frozen at session start to avoid discontinuities during photography, i.e. wandering between postprocess volumes when the camera auto-moves for stereo and 360 shots.
#jira UE-54244
#4426
Change 3879086 by Krzysztof.Narkowicz
Fixed sky/reflection capture (without owner) update - they are now updated only with a correspoding world
Change 3879090 by Guillaume.Abadie
Fixes tones of regressions on diaphragm DOF's recombine passes.
Change 3879198 by Rolando.Caloca
DR - vk - Support for real uniform buffers on Android platforms
Change 3879993 by Krzysztof.Narkowicz
-Fixed int64->int32 FArchive offset truncation in TShaderMap, VertexFactory and TextureDerivedData
-Fixed FSerializationHistory bug, when trying to serialize 0 bytes
#jira UE-43203
Change 3881462 by Guillaume.Abadie
Implements full res DOF's setup pass for cheaper full res gathering in recombine pass.
Change 3881524 by Krzysztof.Narkowicz
Fixed compilation by removing FTickableEditorObject from FPreviewScene
Change 3881724 by Chris.Bunner
Static analysis fix.
#jira UE-54762
Change 3881861 by Rolando.Caloca
DR - vk - Fix layout warning when generating mip chain
Change 3881864 by Rolando.Caloca
DR - Use render passes on HZB
Change 3882236 by Yuriy.ODonnell
IndirectLightingColorScale is now applied to SubsurfaceLighting and DiffuseLighting. Was previously only applied to DiffuseLighting.
#jira UE-42534
#github 3326
Change 3882325 by Guillaume.Abadie
Implements FocusOnly lower gathering pass for Diaphragm DOF's slight out focus temporal stability.
Change 3882340 by Rolando.Caloca
DR - vk - Fix api dump
Change 3882430 by Rolando.Caloca
DR - vk - KHR_maintenance2
Change 3882563 by Rolando.Caloca
DR - Add depth-stencil access mode to PSO initializer
Change 3882929 by Rolando.Caloca
DR - vk - Proper fix for maintenance extension macros
Change 3883087 by Mark.Satterthwaite
Allow disabling VSync in windowed mode for macOS 10.13.4+ and above.
Change 3883597 by Guillaume.Abadie
Collapses full and half res DOF setup passes together.
Change 3883702 by Guillaume.Abadie
Fixes mac's build.
Change 3884747 by Uriel.Doyon
Fix for static analysis warning
Change 3884975 by Rolando.Caloca
DR - vk - Move some platform defines to platform properties
Change 3884988 by Rolando.Caloca
DR - vk - Make an override per platform
Change 3885832 by Rolando.Caloca
DR - vk - Cosmetic change to group similar members
Change 3885891 by Rolando.Caloca
DR - vk - Some _RenderThread functions to avoid stalls
Change 3886044 by Rolando.Caloca
DR - Added RHI api _RenderThread version of
RHICreateTextureReference
RHICreateShaderLibrary
RHICreateRenderQuery
Change 3886560 by Guillaume.Abadie
Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
Change 3886749 by Guillaume.Abadie
Cherry-pick 3884748: Implements DOF's BuildBokehLUT for diaphragm blades simulation.
Only used in hybrid scattering for now.
Change 3886750 by Guillaume.Abadie
Cherry-pick 3885457: Simulates diaphragm blades' curvature on bokeh.
Change 3886752 by Rolando.Caloca
DR - Fix metal static analysis
Change 3887460 by Uriel.Doyon
Fixed to more static analysis warning.
Change 3888201 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitAfterEveryEndRenderPass
- Fixed bad layout on rendering back buffer
Change 3888209 by Rolando.Caloca
DR - vk - Unity compile fix
Change 3888254 by Rolando.Caloca
DR - vk - Fix async texture layout
Change 3888893 by Guillaume.Abadie
Simulates bokeh in DOF's slight out of focus.
Change 3889085 by Guillaume.Abadie
Fixes DOF's reduce pass sampling outside viewport.
Change 3889924 by Rolando.Caloca
DR - vk - Skip seemingly bad validation error
Change 3890573 by Daniel.Wright
Only initialize FDiaphragmDOFGlobalResource in Feature Level 5
Change 3890590 by Arne.Schober
DR - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890638 by Arne.Schober
DR - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3891099 by Krzysztof.Narkowicz
1.5 texel shadow offset fix inside Manual2x2PCF based on #4485 GitHub pull request
#jira UE-54985
#4485
Change 3891234 by Krzysztof.Narkowicz
Optimized PCF2x2 and PCF3x3 - merged #4494 GithHub pull request
#jira UE-55121
Change 3891407 by Rolando.Caloca
DR - vk - Set vendor id earlier
Change 3891417 by Rolando.Caloca
DR - vk - Missing layout transitions
Change 3891718 by Arne.Schober
DR - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891925 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891987 by Rolando.Caloca
DR - vk - Support for dedicated allocations
Change 3892339 by Jian.Ru
Fix a crash when tessellation shaders are used in dx12
#jira UE-55127
Change 3892528 by Rolando.Caloca
DR - vk - Update Linux headers
Change 3892867 by Rolando.Caloca
DR - vk - Don't create swapchain if not needed
Change 3893416 by Guillaume.Abadie
Implements bokeh simmulation on foreground and background gather.
Change 3893732 by Chris.Bunner
GetRelevance_Internal should use the immediate parent resource, not the base, as some features are overridden by permutations e.g. UsesWorldPositionOffset.
#jira UE-53404
Change 3893868 by Guillaume.Abadie
Allocates diaphragm DOF's buffers and structered buffer only on supported platforms.
Change 3893917 by Chris.Bunner
Potential fix for CIS.
Change 3893933 by Chris.Bunner
Duplicating CL 2647737 as this is the same issue from that JIRA where accessing game-thread data was being prevented. We don't have this check in UMaterial::GetMaterialResource already, but presumably the UMaterialInstance case was never removed as we've not been calling it until now.
Change 3894218 by Rolando.Caloca
DR - vk - Remove stat counters per draw call, gains 10% CPU on Infiltrator
Change 3894579 by Arne.Schober
RT - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894724 by Rolando.Caloca
DR - vk - New API for batching barriers
Change 3894909 by Arne.Schober
DR - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3895414 by Rolando.Caloca
DR - Add a configurable threshold for SCWs time outs
Change 3896429 by Marcus.Wassmer
Allow variable frame-latency delay in FrameGrabber frames. For performance you want at least a 1 frame delay so you don't sync the GPU to the CPU.
Change 3896495 by Marcus.Wassmer
Set pointer properly
Fix CIS
Change 3897253 by Guillaume.Abadie
Fixes CIS warning in diaphragm DOF
Change 3899179 by Guillaume.Abadie
Implements background hybrid scatter occlusion for diaphragm DOF.
Change 3903654 by Rolando.Caloca
DR - vk - Rework dump layer to allow other layers
Change 3903766 by Rolando.Caloca
DR - vk - More wrappers
Change 3904025 by Rolando.Caloca
DR - vk - More wrappers
Change 3904342 by Rolando.Caloca
DR - vk - Track image resources & callstacks
Change 3904346 by Rolando.Caloca
DR - vk - Copy fix from 4.19 for flickering grass
Change 3904510 by Rolando.Caloca
DR - vk - Compile fix
Change 3904914 by Daniel.Wright
[Integrate] Fixed PS4 transitions with forward shading
Change 3904916 by Daniel.Wright
[Integrate] Fixed PS4 transitions with occlusion queries
Change 3905975 by Rolando.Caloca
DR - vk - Missing wrappers
Change 3905977 by Rolando.Caloca
DR - vk - Missed file
Change 3907829 by Rolando.Caloca
DR - Move depth bounds to the PSO
Change 3907832 by Rolando.Caloca
DR - vk - Prep for delaying transitions
Change 3907834 by Rolando.Caloca
DR - vk - Fix for depth stencil issues/validation errors
Change 3907967 by Rolando.Caloca
DR - vk - Linux compile
Change 3908093 by Rolando.Caloca
DR - vk - Fix depthstencil layout on descriptors
Change 3908393 by Rolando.Caloca
DR - vk - Disable dedicated allocation as it causes crashes on Nvidia 700 series
Change 3908401 by Rolando.Caloca
DR - Do transitions outside render pass
Change 3908422 by Rolando.Caloca
DR - vk - Fix transition state not getting stored
Change 3908735 by Guillaume.Abadie
Cherry-pick 3896619: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3908736 by Guillaume.Abadie
Cherry-pick 3891352: Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3908753 by Guillaume.Abadie
Lets the renderer layout the views in the internal render targets like it prefers.
Change 3909119 by Daniel.Wright
Fix some static analysis warnings
Change 3911943 by Rolando.Caloca
DR - vk - Fix for packaging Vulkan projects
Change 3912145 by Rolando.Caloca
DR - vk - Fix layout on streaming textures
Change 3913029 by Rolando.Caloca
DR - Fix missing transition
Change 3913048 by Rolando.Caloca
DR - Fix for hlslcc
Change 3913054 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3913171 by Rolando.Caloca
DR - vk - Fix for decal missing transition
Change 3913211 by Rolando.Caloca
DR - vk - Add debug name to image tracking
Change 3913449 by Rolando.Caloca
DR - vk - Restore transition
Change 3913466 by Rolando.Caloca
DR - Fix Vulkan EngineTest
Change 3913537 by Rolando.Caloca
DR - vk - Fixes independent samplers & textures (contributed by AMD)
Change 3913548 by Rolando.Caloca
DR - vk - Warning fix
Change 3913691 by Rolando.Caloca
DR - vk - Fixes for parallel (wip)
Change 3914656 by Rolando.Caloca
DR - vk - Fix bug when using separate samplerstates and textures
Change 3914730 by Rolando.Caloca
DR - vk - Bump version
Change 3914764 by Rolando.Caloca
DR - vk - Don't crash on exit
Change 3915532 by Rolando.Caloca
DR - vk - Parallel context fixes
Change 3915589 by Rolando.Caloca
DR - vk - Hoist and rename transition and layout manager class out of the context
Change 3915592 by Rolando.Caloca
DR - Fix gpu marker name
Change 3917607 by Rolando.Caloca
DR - vk - Fix depth bounds on Vulkan
Change 3917609 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3917616 by Rolando.Caloca
DR - Fix D3D11 initialization
Change 3920569 by Rolando.Caloca
DR - vk - Prep for layout mgr refactor
Change 3921023 by Rolando.Caloca
DR - vk - Dump layer fixes
Change 3921623 by Rolando.Caloca
DR - vk - Prep refactor for layouts
- Dump now shows marker tree
Change 3922007 by Rolando.Caloca
DR - vk - Fix extra allocation per draw call
Change 3922442 by Rolando.Caloca
DR - vk - Detect potential issues
Change 3922470 by Rolando.Caloca
DR - vk - Minor optimization
Change 3922482 by Rolando.Caloca
DR - vk - More minor optimizations
Change 3923158 by Rolando.Caloca
DR - Move r.DisableEngineAndAppRegistration out to common RHI and use it on Vulkan
Change 3923486 by Rolando.Caloca
DR - vk - Minor cpu optimizations
Change 3923505 by Rolando.Caloca
DR - vk - Use bigger allocations for uniform buffers
Change 3923516 by Rolando.Caloca
DR - vk - Android compile fix
Change 3923557 by Rolando.Caloca
DR - vk - Cache descriptorset layouts, refactor duplicated code
Change 3923851 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3924153 by Rolando.Caloca
DR - vk - Support for dynamic UBs
Change 3924193 by Rolando.Caloca
DR - vk - Remove old per pso descriptor pools
Change 3924197 by Rolando.Caloca
DR - vk - Remove unused global uniform buffer pool
Change 3924220 by Rolando.Caloca
DR - vk - Wrap some unused classes in their define
Change 3924234 by Rolando.Caloca
DR - vk - Show ring buffer wrapping messages
Change 3924243 by Rolando.Caloca
DR - vk - Fix bad dynamic buffer
Change 3924902 by Rolando.Caloca
DR - vk - Fix crash running infiltrator
Change 3925209 by Rolando.Caloca
DR - vk - Fix bug with dynamic buffers
- Remove old defines
Change 3925300 by Rolando.Caloca
DR - vk - Allow packed uniforms as dynamic UBs (with r.Vulkan.DynamicGlobalUBs)
Change 3925627 by Rolando.Caloca
DR - vk - Move DynamicOffsets into the pipeline state
Change 3925834 by Rolando.Caloca
DR - vk - Cache per stage information
Change 3925835 by Daniel.Wright
Fixed DisplayName for UParticleModuleCollisionGPU
Change 3925897 by Rolando.Caloca
DR - vk - Split update descriptors loop
Change 3926488 by Rolando.Caloca
DR - vk - 16MB for ring buffer on desktop, 8 MB for mobile
Change 3928168 by Guillaume.Abadie
Cherry-pick 3917219: Implements r.DOF.RecombineQuality
Change 3928173 by Guillaume.Abadie
Cherry-pick 3927888: Enables r.DOF.HybridScatter.BackgroundCompositing and r.DOF.HybridScatter.ForegroundCompositing to work when both enabled.
Change 3928216 by Rolando.Caloca
DR - vk - Fix Android
- Fix static analysis
Change 3929119 by Rolando.Caloca
DR - vk - Rename some classes for clarity
- Fix read-only cvar
Change 3929151 by Rolando.Caloca
DR - vk - Rename class
Change 3930046 by Rolando.Caloca
DR - Temp fix Vulkan flickering grass
Change 3930148 by Rolando.Caloca
DR - vk - Only update dirty descriptors
- Use dynamic descriptors for packed global uniform buffers
Change 3930998 by Guillaume.Abadie
Packs shader permutation in different XGE submissions.
Change 3931079 by Rolando.Caloca
DR - vk - Fixes for Android and non-real ubs platforms
Change 3931942 by Krzysztof.Narkowicz
Depth rendering - When EarlyZPassMode is set to DDM_AllOccluders, dynamic objects need also to test bUseAsOccluder just like static ones
#jira none
Change 3932819 by Daniel.Wright
[Integrate] Scene Textures uniform buffer
* Base Pass Uniform Buffer now contains a Scene Textures uniform buffer. Previously the translucent base pass had to check ~40 loose scene texture parameters every draw.
* FMeshMaterialShader's must now bind PassUniformBuffer and supply a valid pass uniform buffer. For most passes this is just FSceneTextureUniformParameters.
* FRendererModule::DrawTileMesh can now cleanly set dummy scene texture resources, just by configuring how the pass uniform buffer is created.
* Moved scene texture shader functions out of Common, into SceneTexturesCommon which must be manually included by shaders that want to use them
* Separate Mobile Scene Textures uniform buffer to silo the platform complexities
Moved DBuffer inputs out of FDeferredPixelShaderParameters and into FOpaqueBasePassUniformParameters
Removed per-frame material uniform expressions. GameTime material node with period is now implemented with an fmod in the shader, without the use of MaterialFloat, so that it will happen at full precision.
* Per-frame expressions were used when the GameTime material node had a period, to do the fmod on the CPU where 32 bit precision is guaranteed, for mobile GPU's where pixel shader precision is sometimes less than 32fp.
Moved forward shading data into the Base Pass Uniform Buffer
Removed instanced stereo support for the light cull grid - will have to be reimplemented without changing SRV's per draw
Base pass sets View Uniform Buffer from DrawRenderState instead of choosing which one to set per-draw
Fixed padding in nested uniform buffer structs
Skip SRV members on Feature Level SM4 and below
Change 3932964 by Rolando.Caloca
DR - vk - Renderdoc on Android
Change 3933095 by Daniel.Wright
Moved FSceneTextureUniformParameters out of the opaque base pass uniform buffer.
* Base Pass shaders now enable SCENE_TEXTURES_DISABLED when compiling for a material of any domain other than MD_Surface. These are used when rendering thumbnails of a material in a different domain, which could be opaque, but the opaque base pass drawing policy does not bind a scene textures uniform buffer, so the shader must not bind it.
* Opaque materials can no longer use EyeAdaptation.
Change 3933096 by Daniel.Wright
Better d3d11 assert message when a uniform buffer was not set by the renderer
Change 3933176 by Rolando.Caloca
DR - vk - Prefer mailbox if available
Change 3933271 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3934000 by Guillaume.Abadie
Fixes Win32 build in ShaderCompilerXGE.cpp
Change 3934299 by Guillaume.Abadie
Fixes a bug in DOF's reduce operator that was casusing color leaking between background and foreground.
Change 3934699 by Daniel.Wright
Added bAffectDistanceFieldLighting to landscape
Change 3935190 by Daniel.Wright
Forward Light Grid SRV's use StructuredBuffer on Metal, instead of 'invariant Buffer', which throws off RemoveUniformBuffersFromSource parsing
Change 3935606 by Daniel.Wright
Removed LightmapPolicy::Set which was needed for vertex lightmaps
Renamed FVertexFactory::Set to SetStreams to make it findable
Change 3936510 by Rolando.Caloca
DR - vk - Update glslangValidator.exe to 1.0.65.1 for dumped debug SPIRV shaders
Change 3936545 by Richard.Wallis
Clone of CL's (3925763, 3925430, 3925424, 3925385, 3925278) Mark Satt's Xcode fixes from task stream //Tasks/UE4/Dev-UERNDR-354-mtlpp/
Plus XCode 9.2 compile fix in ApplicationPlatformCompilerPreSetup.h for -Wunused-lambda-capture.
Change 3938061 by Daniel.Wright
Vulkan: Added support for SRV's in Uniform Buffers
Change 3938123 by Daniel.Wright
Vulkan: Slightly better assert for null resources in uniform buffer
Change 3939197 by Rolando.Caloca
DR - vk - Disable custom memory mgmt
Change 3939677 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3939809 by Rolando.Caloca
DR - vk - Fixes for async compute
Change 3939875 by Rolando.Caloca
DR - vk - Support for -vktrace
Change 3939977 by Rolando.Caloca
DR - vk - Skip a condition during gather UBs
- Set up efficient compute async var
- Fix validation cmd line
Change 3939982 by Rolando.Caloca
DR - vk - Revert mipchain
Change 3939984 by Rolando.Caloca
DR - vk - Remove unnecessary asserts
Change 3940082 by Rolando.Caloca
DR - vk - Custom mem mgr
Change 3940475 by Rolando.Caloca
DR - vk - Fix DFAO (indirect draw offset)
Change 3940555 by Rolando.Caloca
DR - vk - Minor fixes
Change 3940675 by Rolando.Caloca
DR - vk - Fix indirect type mismatch
Change 3941111 by Rolando.Caloca
DR - Renderpass bGeneratingMips
Change 3941847 by Daniel.Wright
Fixed Volumetric Lightmaps on Static geometry only working if the geometry had been built with Surface Lightmaps before
Change 3941978 by Rolando.Caloca
DR - vk - Minor fixes for presenting on compute queue
Change 3942074 by Rolando.Caloca
DR - vk - Remove some RHI stalls
- Fixed swap chain stat
Change 3943946 by Daniel.Wright
Fixed Texcoord0 on Volume materials on a particle sprite, including SubUV particles.
Change 3944065 by Daniel.Wright
Fixed SceneDepth collision getting broken on GPU particles when a scene capture is rendering
Change 3944158 by Daniel.Wright
Fixed ViewUniformShaderParameters accessing GEngine->PreIntegratedSkinBRDFTexture too early during slate loading screen
Change 3944865 by Rolando.Caloca
DR - vk - Prep for render passes
Change 3945196 by Rolando.Caloca
DR - Move render pass validate to cpp
Change 3945202 by Rolando.Caloca
DR - vk - Some fixes for using real render passes
Change 3945357 by Rolando.Caloca
DR - Fix bad condition
Change 3946295 by Yuriy.ODonnell
Added a sentinel member to FLightMap, which is initialized in the ctor and reset in the dtor. Sentinel is then checked in FLightCacheInterface::GetLightMapInteraction().
This aims to shed some more light on a hard-to-repro crash, which is suspected to be a use-after-free bug: http://crashreporter/Buggs/Show/1785593
Change 3946407 by Rolando.Caloca
DR - vk - Prep for refactor
Change 3946648 by Rolando.Caloca
DR - vk - Fixes for async compute (wip)
Change 3947299 by Rolando.Caloca
DR - vk - FIx static analysis
Change 3948434 by Rolando.Caloca
DR - vk - Fix exiting with parallel
Change 3948928 by Rolando.Caloca
DR - vk - Fix enabling draw markers for tools
Change 3949021 by Rolando.Caloca
DR - vk - Buffer tracking layer
Change 3949602 by Rolando.Caloca
DR - vk - static analysis fix
Change 3949757 by Rolando.Caloca
DR - vk - Remove bogus parameter
Change 3949810 by Rolando.Caloca
DR - vk - Move waits for cmd buffer
Change 3950270 by Guillaume.Abadie
Implements dedicated gather pass for foreground hole filling to avoid being VGPR bound in foreground gather pass, but still being hable to amend foreground.
Change 3950272 by Rolando.Caloca
DR - vk - Minor refactor for semaphores
Change 3950279 by Guillaume.Abadie
Oups... fixes build
Change 3950298 by Rolando.Caloca
DR - vk - Gather wait semaphores in the cmd buffers
Change 3950371 by Rolando.Caloca
DR - vk - fixes for async compute
Change 3950597 by Rolando.Caloca
DR - vk - Fix for clip distance (fixes planar reflections)
Change 3951075 by Rolando.Caloca
DR - vk - Fix for async compute
Change 3952524 by Guillaume.Abadie
Some DOF enum refactoring.
Change 3955016 by Daniel.Wright
Fixed BuiltData package getting renamed into the map package during a content browser folder move, causing a redirector to be incorrectly placed in the map package
Change 3955668 by Guillaume.Abadie
Fixes a bug where full res coc buffer was computed even if not doing slight out of focus.
Change 3956722 by Guillaume.Abadie
Fixes a bug where r.DOF.MaximalForegroundBlurringRadius was screen percentage dependent.
Change 3959212 by Guillaume.Abadie
Prefixes all DOF's shaders files with DOF keyword.
Change 3959705 by Guillaume.Abadie
Optimises the DOF setup pass outputing half res and full res with LDS downsample.
Change 3959941 by Guillaume.Abadie
Halfs DOF's hybrid scatter compilation by using a unique downsampling for both foreground and background, instead of 2 reduce passes.
Change 3962273 by Rolando.Caloca
DR - Fix typos
#jira UE-56317
PR #4586
Change 3962615 by Rolando.Caloca
DR - vk - Compile fix
Change 3962949 by Rolando.Caloca
DR - Fix DOFDownsample extension
Change 3962993 by Guillaume.Abadie
Back out changelist 3962949
Change 3963016 by Guillaume.Abadie
Adds missing DOFDownsample.usf
Change 3963041 by Rolando.Caloca
DR - vk - Misc changes to help integrate
Change 3964293 by Guillaume.Abadie
Fixes DOF's setup pass reading outside of the viewport.
Change 3964475 by Guillaume.Abadie
Collapses DOF's hybrid scatter compilation passes into reduce passes.
Change 3964883 by Daniel.Wright
Fixed 3d texture in uniform buffer on unsupporting RHI
Change 3964897 by Rolando.Caloca
DR - Compile fixes
Change 3964914 by Guillaume.Abadie
Fixes a bug on r.DOF.RecombineQuality=0
Change 3965153 by Guillaume.Abadie
Fixes compile warning in D3D12Commands.cpp.
Change 3965814 by Rolando.Caloca
DR - Prep for integration conflict resolve
Change 3965899 by Rolando.Caloca
DR - Fix odd linkage issue
Change 3966072 by Rolando.Caloca
DR - More prep for merge
Change 3966163 by Rolando.Caloca
DR - Merge prep
Change 3966844 by Guillaume.Abadie
Packs multiple DOF scattered bokeh per instance and uses PT_RectList in DOF for platforms that can.
Change 3967116 by Rolando.Caloca
DR - Compile fixes for integration
Change 3967273 by Rolando.Caloca
DR - Use same path for mip generation
Change 3967277 by Rolando.Caloca
DR - vk - Fix mips on cubemaps
Change 3967693 by Rolando.Caloca
DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, missing shaders
Change 3967851 by Rolando.Caloca
DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, Engine 2/2
Change 3968083 by Rolando.Caloca
DR - Integration compile fixes
Change 3968240 by Rolando.Caloca
DR - Shader compile fixes for integration
Change 3968270 by Rolando.Caloca
DR - Fix for missing hash calculation
Change 3969426 by Rolando.Caloca
DR - vk - Fix warning
Change 3969869 by Krzysztof.Narkowicz
Back out changelist 3946295 - UE-54537 is fixed, so no need for this debug sentinel.
#jira none
Change 3969944 by Rolando.Caloca
DR - Warning fix
Change 3970020 by Rolando.Caloca
DR - Bump after integration
Change 3970052 by Rolando.Caloca
DR - Fix for mobile
Change 3970236 by Daniel.Wright
Causing decal shader to recompile to fix a merge bug
Change 3970270 by Daniel.Wright
Bump shader version from merge
Change 3970339 by Olaf.Piesche
Replace series of locks/unlocks with a single one for curve injection
#tests QAGame
Change 3970390 by Rolando.Caloca
DR - Rename FSceneTextureUniformParameters to FSceneTexturesUniformParameters
- Remove duplicate method for occlusion queries
Change 3970523 by Rolando.Caloca
DR - Fix serialization of shaders
Change 3970533 by Arne.Schober
DR - fix for removing the Speed tree wind when the scene gets deleted. The original enque rendercommand requeues the element onto the renderthread although the call already came from the Renderthread and the scene can get lost in between.
#jira UE-56322
Change 3971160 by Guillaume.Abadie
Fixes CompositeEditorPrimtive pass and SelectionOutline pass for VR editor to work with TAAU.
Change 3971516 by Guillaume.Abadie
Cherry-pick 3912629: Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3971594 by Krzysztof.Narkowicz
Fixed assert inside BindLightMapVertexBuffer. FSplineMeshSceneProxy was calling BindLightMapVertexBuffer for invalid (still not generated) lightmap UV channel after mesh reimport. Simplified assert, as at the moment almost all of the high callsites already clamp lightmap uv channel.
#jira UE-56321
Change 3971622 by Krzysztof.Narkowicz
Fixed crash inside Indirect Lighting Cache. Data (reflection captures and lightmap) generation calls ULevel::GetOrCreateMapBuildData(), which can destroy lightmap data if level has legacy data. Last Lightmap generation step recreates this data, but if user cancels lightmap generation - it won't do that.
#jira UE-56171
Change 3974788 by Rolando.Caloca
DR - Remove GSupportsGenerateMips
Change 3974789 by Rolando.Caloca
DR - Remove bogus function
Change 3974986 by Rolando.Caloca
DR - vk - Tracking fixes
Change 3974989 by Rolando.Caloca
DR - vk - Don't submit dummy barriers
Change 3975075 by Olaf.Piesche
Update for particle curve injection improvement, fixing ES2 problems
#tests QAGame tm-shadermodels, various color curve tests in-editor
Change 3975957 by Uriel.Doyon
Fixed invalid max texture resolution when using the bake material tools.
Change 3978471 by Daniel.Wright
New cvar r.SkylightUpdateEveryFrame
Change 3978779 by Rolando.Caloca
DR - Accessor for texture sizes
Change 3978797 by Rolando.Caloca
DR - Clean up RHI CopyTexture API
Change 3978832 by Rolando.Caloca
DR - vk - Workaround for RenderDoc crashing due to Descriptor Pool reset
Change 3978836 by Rolando.Caloca
DR - vk - Remove generate mips
Change 3979201 by Rolando.Caloca
DR - vk - RHI CopyTexture. Uses general layout for generating mips
Change 3979204 by Rolando.Caloca
DR - Use render passes and CopyTexture to generate mips
Change 3979592 by Rolando.Caloca
DR - Warning fix
Change 3980855 by Krzysztof.Narkowicz
Optimize bounding sphere radius after non-uniform scale by using bounding box extent.
#jira UE-56227
Change 3981065 by Rolando.Caloca
DR - vk - Fix bad layout
#jira UE-56238
Change 3981346 by Rolando.Caloca
DR - Copy from 3707257
Support for not flushing compute jobs (r.D3D11.UAVFlushNV)
Change 3981347 by Rolando.Caloca
DR - Copy from 3707257
Don't flush between morph dispatched
Change 3981932 by Mark.Satterthwaite
Generate the shader hash and function name when a Metal shader error needs to be reported so that even without shader code we get something to go on.
Change 3982442 by Rolando.Caloca
DR - Fix warning
Change 3982652 by Rolando.Caloca
DR - vk - Signal semaphore cleanup
Change 3983917 by Richard.Wallis
Clone of CL 3974146 converted for mtlpp along with extra mtlpp usage suggestions by Mark Satt:
Fix for black flickering on first paint with weighted material landscape on Mac. When using AsyncCopyFromBufferToTexture in Metal we put the blit operation on the prologue encoder - however after a draw call using that resource the copy operation should happen after on the current encoder, this keeps the correct order of operations.
Added Bool return from various Asnyc renderpass resource requests so caller can decide correct further action. Updated to include the other async functions.
Change 3984409 by Guillaume.Abadie
Attempts to make static analysis happy again.
Change 3984435 by Nick.Bullard
Checking in Performance Test level provided to us by Tor Frick based on UE-44841.
This has been utilized for checking issues against Aftermath performance impact.
The Map includes 2 Level Book marks, most testing has been done against Bookmark 1 view, in fullscreen, in game mode
Change 3985087 by Mark.Satterthwaite
Make sure that the particle scratch buffer is large enough to hold all the data for the curve texture we are rendering to, otherwise a full set of curves will start scribbling memory after 64Kb (the curve texture is 256Kb of data - 512x512x4 as sizeof(RGBAUInt8) == 4). This happens in ElementalDemo.
Change 3985201 by Rolando.Caloca
DR - Fix bad CopyTexture
Change 3985258 by Mark.Satterthwaite
Try and detect orientation changes so that we don't blow-up on iOS due to a huge mismatch between the drawable texture for the display and the scene's depth-stencil target. I can't just fiddle with the depth-stencil texture itself without running the risk of obliterating in-use data and really we shouldn't permit such a mismatch anyway but it is fallout from 3620990.
#jira UE-55756
Change 3986449 by Rolando.Caloca
DR - vk - Update & consolidate Vulkan headers to 1.1.70.1
Consolidate SDK into one
Change 3986571 by Guillaume.Abadie
Makes PVS-Studio happy again in DOF.
Change 3987039 by Yuriy.ODonnell
Initial implementation of tracing profiler to show CPU and multiple GPUs on the same timeline. Currently only supported on DX12 platforms.
Use `TracingProfiler frames=N` console command to trigger a capture of the next N frames. Trace is saved to disk as a JSON file into `Saved/Profiling/Traces` directory.
Trace file uses Google Tracing format and can be visualized in Chrome built-in profiler (chrome://tracing).
`r.GPUStatsChildTimesIncluded=1` CVar makes timing scopes hierarchical.
`TracingProfiler.BufferSize=N` CVar controls the size of the tracing buffer, which may need to be increased for long traces (default is 65k events). Only can be set at startup.
Change 3987074 by Yuriy.ODonnell
Implemented timestamp calibration on DX11. Calibration is only performed when tracing profiler session starts.
Change 3987160 by Yuriy.ODonnell
Added thread naming and ordering to the tracing profiler output
Change 3987331 by Mark.Satterthwaite
Remove the Nvidia hack to retain resource references in command-buffers for UE-46604 as the mtlpp refactor provides stronger resource lifetime guarantees.
#jira UE-46604
Change 3987754 by Mark.Satterthwaite
Fix MetalRHI memory reporting in non-default path.
PR #4568
Change 3988184 by Arciel.Rekman
Linux: Fix editor OpenGL performance (UE-55960).
- GetCurrentThreadId() calls became much more frequent with the OpenGL RHIT refactor.
- We used to only cache that value in monolithic builds, because having per-thread static variables in dynamic libraries is risky due to OS limits.
- This change adds dynamically-managed per-thread cache for non-monolithic builds.
#jira UE-55960
Change 3988394 by Rolando.Caloca
DR - vk - Improve memory mgmt
- Use 256MB pages for Device heap (or 1/8th if less).
- Remove texture allocations not going through resource manager
Change 3988405 by Marcin.Undak
Fix VulkanQuery crash on exit #codereview rolando.caloca #codereview arciel.rekman #rb arciel.rekman
Change 3988567 by Rolando.Caloca
DR - vk - Support for packed global UBs on pci aperture heap
Change 3988668 by Rolando.Caloca
DR - vk - Remove old comments
Change 3988956 by Marcin.Undak
RecordPerformance: added option to skip building/cooking before tests #rb none #codereview arciel.rekman
Change 3989161 by Yuriy.ODonnell
Static analysis error fix
Change 3989196 by Guillaume.Abadie
Fixes a crash in light shaft's TAA pass.
#jira UE-57366
Change 3989207 by Yuriy.ODonnell
Refactored FRealtimeGPUProfilerFrame to avoid splitting profile events when calculating exclusive times of scopes. This allows tracing profiler to retain the hierarchical view of the data, while keeping CSV and GPU Stat system behavior intact.
Change 3989469 by Rolando.Caloca
DR - vk - Fix for bad index; fix for bad transition
Change 3989772 by Yuriy.ODonnell
Implemented timestamp calibration on Vulkan
Change 3990040 by Marcus.Wassmer
Aftermath enabled by default.
Removed unnecessary warning for other vendors
Change 3990064 by Mark.Satterthwaite
Ensure that packed globals are reuploaded when the command-encoder is restarted - don't simply invalidate the existing parameters. This properly handles cases where a single logical render-pass is broken into multiple command-encoders and/or command-buffers - otherwise all shaders must reset all parameters each time. When we move between frames we *do* want to perform a full state reset though as previous frame globals are treated as invalid.
Change 3990080 by Mark.Satterthwaite
Change the way we invalidate the visibility buffer between command-buffers and command-encoders so that on iOS you can reuse the same buffer within the same command-buffer, but not across more than one. The code provides an exception to this rule when running under the MetalRHI validation tools which can break each draw call into its own buffer.
Change 3990084 by Mark.Satterthwaite
Get MetalStatistics compiling again.
Change 3990381 by Arciel.Rekman
Bring back D3D12 in RecordPerformance.
Change 3991113 by Rolando.Caloca
DR - Fix crash on RHI thread on mobile preview
- Check RHI objects are not null in the PSO initializer
Change 3991191 by Ryan.Vance
#jira UE-55952
Reimplemented instanced stereo for forward lighting cull grid after the srv/ub clean up.
Change 3991343 by Rolando.Caloca
DR - Copy from 3911492
UE4 - Disabled parallel mobile bass pass by default. This is experiemental and not known to be useful on any mobile platform.
Change 3991375 by Mark.Satterthwaite
Proper copyright assignment in the mtlpp debugger header.
Change 3993151 by Daniel.Wright
Fix RTDF resource transition found by Rolando
Change 3993818 by Rolando.Caloca
DR - Missed file
Change 3993923 by Krzysztof.Narkowicz
Fixed crashes inside RemoveSpeedTreeWind() and RemoveSpeedTreeWind_RenderThread().
FStaticMeshComponentRecreateRenderStateContext didn't flush deferred render updates causing stale RenderData to be left:
1. Thumbnail manager called SetStaticMesh(nullptr), which added StaticMeshComponent to deferred render updates.
2. UStaticMesh::Build called FStaticMeshComponentRecreateRenderStateContext and destroyed DenderData, but didn't touch Thumbnail's manager StaticMeshComponent as it was nullptr.
3. This resulted in a StaticMeshComponent with stale RenderData pointer.
#jira UE-54544
Change 3994033 by Rolando.Caloca
DR - vk - Reworked layers & extensions, as we were not doing it properly
- Remove -vulkanstandardvalidation and -novulkanstandardvalidation as they are not needed anymore
Change 3994275 by Mark.Satterthwaite
Change to linking against mtlpp via AddEngineThirdPartyPrivateStaticDependencies and marking its header with THIRD_PARTY_* macros in the vain hope that might convince the remote compilation code to distribute the module to the remote machine when building MetalRHI.
#jira UE-57507
Change 3994365 by Mark.Satterthwaite
Pilfer some code from the old MetalHeap file to handle calculating texture memory size on older macOS and iOS builds when running with stats or LLM enabled.
#jira UE-57513
Change 3994382 by Rolando.Caloca
DR - vk - Some missing locks during image tracking
Change 3994422 by Rolando.Caloca
DR - vk - Remove bogus shader format
Change 3995530 by Rolando.Caloca
DR - vk - Fix for crash when validation is enabled
Change 3995531 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3995532 by Rolando.Caloca
DR - vk - Added support for r.Vulkan.SaveValidationCache
Change 3995610 by Uriel.Doyon
Texture Streaming Changes and Fixes:
- Using the small FOV items (like scopes) now only affect visible primitives (through "r.Streaming.MaxHiddenPrimitiveViewBoost").
- Static components added after the level is registered in the streaming manager are now handled correctly (fixes the low quality on the chests)
- Dynamic components do not need to register to the streaming manager anymore.
- Optimized dynamic component management by removing duplicate entries in the update list.
- Added a pregarbage collect pass to the dynamic component management to optimize GC handling.
- Added a budget reset logic whenever the scene requirements change significantly.
- PIE worlds now have correct visibility information.
- Fixed possible invalid memory access when processing the streaming manager slave views.
- Refactored the incremental level texture data build to prevent new components from being unhandled.
- Removed StreamingManager callbacks for NotifyActorSpawned() and NotifyPrimitiveAttached()
- Added a StreamingManager callback NotifyPrimitiveUpdated(), to be used whenever a primitive streaming state must be updated.
#jira none
Change 3995908 by Arciel.Rekman
Fix compile errors when using new Vulkan queries.
Change 3995990 by Arciel.Rekman
More compile fixes to new Vulkan queries.
- MSVC did not catch this, clang did.
Change 3996101 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3996323 by Mark.Satterthwaite
Use the right include path to export the mtlpp headers.
#jira UE-57507
Change 3996392 by Arciel.Rekman
Vulkan: fix crash on start when using new queries.
- CommandBufferManager was not yet set at that point and the code in queries relied on it.
Change 3996585 by Rolando.Caloca
DR - Slight improvement to GL being black, but just a temporary 'workaround' as it's not correct.
Change 3998806 by Arciel.Rekman
Fix Linux build (UE-57602).
#jira UE-57602
Change 3998866 by Arciel.Rekman
SubwaySequencer: fix old shader platform name.
Change 3998947 by Mark.Satterthwaite
Silence deprecation warnings in CEF on macOS now that we've moved to 10.12 as the minimum.
#jira UE-57577
Change 3998951 by Mark.Satterthwaite
Fix last of the deprecation errors that I am aware of for macOS 10.12.
#jira UE-57581
Change 3998984 by Mark.Satterthwaite
Build mtlpp for iOS 9.0 not 9.3.
#jira UE-57586
Change 3999065 by Rolando.Caloca
DR - vk - Make sure we use version 1.0.0
#jira UE-57521
Change 3999071 by Arne.Schober
DR - [UE-55433, UE-57361] Hack SNORM support in OpenGL by re-interpreting UNORM. Underlying data is always SNORM.
#jira UE-55433, UE-57361
Change 3999494 by Rolando.Caloca
DR - Enable r.UnbindResourcesBetweenDrawsInDX11 in debug
- Clear compute resources when r.UnbindResourcesBetweenDrawsInDX11 is enabled
Change 4000197 by Krzysztof.Narkowicz
Mesh simplifier - normalize TexCoordWeights using min/max TexCoord range. This fixes precision issues for very big TexCoord values and allows to optimize for all TexCoord channels when channels have values of different magnitudes (e.g. non standard TexCoord data).
#jira UE-54935
Change 4000305 by Yuriy.ODonnell
Suppress PVS Studio warning V547 (Expression is always true) related to Aftermath
Reported issue to PVS team and to NVIDIA. Confirmed false positive, fix coming in future PVS version (v6.24).
#jira UE-57579
Change 4000853 by Arciel.Rekman
Linux: fix not calling CrashReportClient (UE-57678).
#jira UE-57678
Change 4001504 by Rolando.Caloca
DR - vk - Fix transition
Change 4002460 by Krzysztof.Narkowicz
Toggle for contant shadow length in word space
Exposed contact shadows to Blueprints
#jira none
Change 4002608 by Rolando.Caloca
DR - vk - Fix static analysis
- Fix potential debug image tracking crash
- Comment out unused methods
Change 4002615 by Rolando.Caloca
DR - vk - Allow r.Vulkan.WaitForIdleOnSubmit to be set at startup (e.g. in ConsoleVariables.ini)
Previously, if your map needed to UpdateSkyCaptureContents on startup, an ensure would fail if GWaitForIdleOnSubmit was set.
PrepareForCPURead needs to wait for the command buffer to finish before trying to read the results back, but the wait has already happened when r.Vulkan.WaitForIdleOnSubmit is set. Trying to wait again correctly complains that the command buffer is not in the correct state. So, skip the WaitForCmdBuffer call when r.Vulkan.WaitForIdleOnSubmit is set.
Change 4002640 by Rolando.Caloca
DR - vk - Missing support for CVarDefaultBackBufferPixelFormat
Change 4002919 by Guillaume.Abadie
Implements DOF's temporal upsampling pass for better dynamic resolution stability.
Change 4002984 by Guillaume.Abadie
Integrates Sebastian Aaltonen's ALU optimisations for TAAU.
Change 4003112 by Olaf.Piesche
Fir for TBB stall (resulting in severe hitches and hangs in the editor with stats active); tested multiple scenarios and encountered no hitches.
#tests QAGame PerformanceTest and RenderTest map with various stats on and off
Change 4003159 by Mark.Satterthwaite
Undo parts of changelist 3970553 - the ref-counted pointer approach to returning textures to the pool is not working as expected so we'll remove that. It'll be faster on the CPU without it and everything works thanks to the changes this CL made to the way textures were released.
#jira UE-57538
Change 4003287 by zachary.wilson
Adding reflection capture content to TM-LightingScenarios
Change 4003395 by Arne.Schober
DR - Fix unitzialised value when clicking Go To in the editor
#jira UE-57048
Change 4003425 by Rolando.Caloca
DR - vk - Fix for new occlusion queries
Change 4003530 by Arne.Schober
DR - Disable GPU Benchmark in headless configurations
#jira UE-57673
Change 4003717 by Rolando.Caloca
DR - vk - Fix for depth not store, stencil store
Change 4003719 by Rolando.Caloca
DR - Minor switch to render pass
Change 4003720 by Mark.Satterthwaite
Don't suballocate private memory buffers on Vega and only Vega as there is something wrong with the blits in those cases but I can't capture a GPU trace to find out what right now (the driver is broken) - could be a bug in my code but this works on Polaris and Nvidia so it will need to be filed as a radar for AMD.
Remove the FMetalBufferChunk from FMetalBuffer and simply store a pointer to the owning Heap/Magazine allocator. The FMetalResourceHeap now calls a new Release function to return the buffer to the allocator which will be faster on the CPU.
#jira UE-57659
Change 4003854 by Mark.Satterthwaite
Undo parts of 3990064 and try a different approach to get the uniforms to upload and remain available in the right places. As the original bug has been lost to time we should keep an eye out for missing buffer bindings by running under the Metal validation layer periodically.
#jira UE-57576
Change 4004709 by Rolando.Caloca
DR - Support for D3D 11, 12 & Vulkan for UAVs off Index Buffers
Change 4005149 by Guillaume.Abadie
Adds shader permutation to avoid clamping input buffer UV in DOF's gather pass.
Change 4005284 by Uriel.Doyon
Resaved volume texture assets with proper engine version.
#jira UE-57534
Change 4005286 by Guillaume.Abadie
Reduces constant setup in DOF's gather pass.
Change 4005359 by Rolando.Caloca
DR - vk - Fix annoying warning
Change 4005363 by Rolando.Caloca
DR - Fix android not finding vulkan shaders
Change 4005457 by Rolando.Caloca
DR - vk - Fix swapchain crash
Change 4005473 by Patrick.Kelly
UE-57135: Editor crash if set Reflection Capture Resolution to be 64 and New a Default level
Codde by Daniel
Tested by Patrick
Change 4005474 by Rolando.Caloca
DR - vk - Remove glsl code from shaders. Packaged QAGame goes from 176MB to 162MB
Change 4005759 by Krzysztof.Narkowicz
Fixed a bug, where reflection capture build is called, even though we are in mobile preview mode.
#jira UE-57743
Change 4005774 by Mark.Satterthwaite
Update the wave intrinsics to avoid implicit bool->uint conversion that Apple don't like.
#jira UE-57750
Change 4005974 by Mark.Satterthwaite
Don't use cubemap array types on iOS Metal as they aren't available on all devices and we need to maintain backward compatibiliy for years to come.
#jira UE-57083
Change 4006056 by Mark.Satterthwaite
Remove the use of the PrimitiveType argument from Metal draw calls.
#jira UE-57822
Change 4006139 by Mark.Satterthwaite
- Move the render-pass functions into the MetalRHI implementation for later alteration.
- Implement Index buffer UAVs for Metal - makes them more like vertex-buffers so this is one more step on the road to a unified buffer base-class implementation.
Change 4006215 by Mark.Satterthwaite
Metal's begin & end render/compute pass API implementation will take some time, but for now make it not depend on the parent stub implementation.
Change 4006394 by Mark.Satterthwaite
In lieu of a real instruction count just use the number of lines in the "Main" function of the shader as the instruction count for Metal.
#jira UE-57551
Change 4006493 by Mark.Satterthwaite
MetalRHI can currently support 4-component formats for Buffer UAVs - this might need some thought in the future as the API evolves but we might as well take advantage while we can.
Change 4006495 by Daniel.Wright
Integrate from Refactor branch
* New FMaterialRenderProxy function GetMaterialWithFallback which provides both the FMaterialRenderProxy and FMaterial. Needed when falling back to default material, so that proxy and material resource match.
* Local vertex factory uniform buffer
Change 4006851 by Brian.Karis
Fix for joined charts forming an L to inflate both axii.
Thanks to Jess Kube of The Coalition.
Change 4006852 by Brian.Karis
Fix for hard coded reflection capture cube map size. Should fix light static light aliasing in captures
Change 4006918 by Brian.Karis
New ByteBuffer functionality. Memcpy and scatter upload. Can implement GPU side TArray reflection.
Not yet used by checked in code. WIP optimization.
Change 4007246 by Guillaume.Abadie
Creates lower quality permutation for DOF's gathering pass, without Coc based weighting of the samples, and lower number of gathering ring for fast accumulator.
Change 4007291 by Guillaume.Abadie
Exposes more DOF scalability settings.
Change 4007328 by Guillaume.Abadie
Optimises DOF's half res only setup pass using gather4
Change 4007627 by Richard.Wallis
Fix for when Magic Mouse cannot zoom in World Composition editor. Missing default SNodePanel::OnMouseMove behaviour. Tested using a classic 2xbutton + wheel mouse and a Mac MagicMouse.
#jira UE-57030
Change 4007682 by Richard.Wallis
No video when playing HLS streaming video on Mac. 2 Issues, FPS was zero making duration for video sample buffer nonsense and Video Track dimensions were going to zero on the AVAsset once fully initialized when playing HSL streams. Now cache relevant details and handle zero frame rate.
Notes:
- Caching the frame rate is not as important as we could look it up each time and fix for zero - ignoring that at the moment.
- Assume we DO NOT want the FrameSize to be the last fetched video frame size from the AvfMediaVideoSampler as I think that is the video quality for streaming video and not the media frame size.
- Renamed a variable in the AvfMediaVideoSample - was called FrameRate but it was the FrameDuration by that point.
#jira UE-56734
Change 4007731 by Rolando.Caloca
DR - Disable byte buffers on non-hlsl based platforms
#jira UE-57851
Change 4007741 by Rolando.Caloca
DR - Disable byte buffers on hlslcc platforms
Change 4007782 by Mark.Satterthwaite
Force Metal shaders, including the stdlib, to recompile.
Change 4007918 by Rolando.Caloca
DR - vk - Some static asserts
Change 4008404 by Arciel.Rekman
Do not crash on incompatible Vulkan drivers (UE-57521).
#jira UE-57521
Change 4008442 by Daniel.Wright
Better comments on ERHIFeatureLevel expectations
Change 4008494 by Arne.Schober
DR - moved bDeletedThroughDeferredCleanup before begincleanup to catch cases where the reference is added twice to the array. also removed finishcleanup as all they ever did was deleting the pointer anyway, and it sould be adfded if such functionallity is ever required fom outside of the regular destructor.
#jira UE-57754
Change 4008730 by Mark.Satterthwaite
After the most recent changes to handling uniform buffer dirty bits in MetalRHI we should guard against attempts to set an unbound uniform buffer.
#jira UE-57870
Change 4008949 by Brian.Karis
Fix compile warning
Change 4008951 by Brian.Karis
Added LTC LUT textures
Change 4009326 by Guillaume.Abadie
Compiles out DOF's gathering bokeh simulation on platform other than desktop.
Change 4009380 by Krzysztof.Narkowicz
Moved area light code before the contact shadows, so contact shadows use representative light's direction.
Merged all contact shadows shader code.
Contact shadows keep constant screen space length independent of FoV settings.
Contact shadows for translucents.
Contact shadows for eye.
Change 4009555 by Guillaume.Abadie
Splits DOFCocTile.usf in two.
Change 4009999 by Yuriy.ODonnell
MallocStomp can now be enabled on certain platforms using '-stompmalloc' command line argument.
Previously it was necessary to modify MallocaStomp.h and re-compile the engine.
Currently supported platforms: Win64, Mac, Linux.
Replaced hard-coded page size with FPlatformMemory::GetConstants().PageSize.
Change 4010288 by Rolando.Caloca
DR - vk - Fix for vertex streams
Change 4010289 by Krzysztof.Narkowicz
D3D12 - fixed depth bounds bug, where depth bounds wasn't properly set to [0;1] after disabling.
#jira UE-57510
Change 4010297 by Rolando.Caloca
DR - vk - Remove some functions for android
Change 4010315 by Rolando.Caloca
DR - vk - Remove create info macro
Change 4010451 by Rolando.Caloca
DR - vk - Reuse samplers
- Infiltrator goes from 5759 to 24 samplers!
Change 4010627 by Rolando.Caloca
DR - vk - Fix missing values for tracking swapchain validation
Change 4011924 by Guillaume.Abadie
Implements tile based early return optimisation on DOF's postfiltering method.
Change 4011941 by Guillaume.Abadie
Shaves some ALU in DOF's accumulator for LowQuality permutation.
Change 4012093 by Yuriy.ODonnell
Disable MallocStompOverrunTest() in static analysis config, as it intentionally performs an out-of-bounds access.
Change 4012195 by Rolando.Caloca
DR - vk - Fix for mobile backbuffer layout
Change 4012202 by Rolando.Caloca
DR - vk - Don't use staging buffers on UMA
Change 4012467 by Rolando.Caloca
DR - Remove redundant check
Change 4012486 by Rolando.Caloca
DR - Fix missing transition
Change 4012518 by Guillaume.Abadie
Implements fast shader permutation for DOF's TAA pass.
Change 4013084 by Arciel.Rekman
Fix for Linux clock discrepancy.
- Causing at least one precision issue, possibly more.
(Edigrating 4003273, 4012462 from //UE4/Dev-Editor/... to //UE4/Dev-Rendering/...)
Change 4013266 by Uriel.Doyon
Fixed crash when setting SceneDepthTextureNonMS and not having valid depth buffers in the SceneContext.
Change 4013626 by Uriel.Doyon
Fixed crash in the lighting build when creating a blueprint of the ALight and placing a light component in it.
#jira UE-51672
Change 4013805 by Rolando.Caloca
DR - Fix more missing transitions
Change 4014128 by Arne.Schober
DR - Do not create LocalVFUniformBuffer when running without MVF
#jira UE-57929
Change 4014193 by Uriel.Doyon
Editing component transforms now invalidate the component's lighting cache.
#jira UE-48134
Change 4014282 by Rolando.Caloca
DR - vk - Remove extra validation during dump
Change 4014584 by Uriel.Doyon
Duplicated static meshes now generate a new GUID to prevent possible issues with lightmass.
#jira UE-49064
Change 4014604 by Uriel.Doyon
UStaticMesh postduplicate now only generates a new GUID if !bDuplicateForPIE.
Change 4015460 by Guillaume.Abadie
Composes separate translucency within DOF's recombine pass.
Change 4015571 by Guillaume.Abadie
Refactors tonemapper to use global shader permutation API, that adds permutation for HDR output device rather than dynamic branching that some shader compiler are not very well optimizing.
Change 4015984 by Krzysztof.Narkowicz
Fixed crash inside DFAO resource allocation, when DFAO viewport has zero area.
#jira UE-58000
Change 4016056 by Mark.Satterthwaite
Fix Mac Metal shader compilation of texture cube arrays.
Change 4016062 by Richard.Wallis
Convert things like Space, Delete, F6 etc to unicode so they display correctly on the Mac menu rather than first letter of word. Added the default Mac commands to the GenericCommands so we get a Chord overwrite message and stop things like cmd+ q / w / h from getting bound.
#jira UE-46999
Change 4016109 by Mark.Satterthwaite
One unified Metal buffer implementation - will make further changes a heck of a lot easier.
Change 4016221 by Patrick.Kelly
UE-57617: Ensure changing viewmode to ShaderComplexity while in -game
Change 4016238 by Guillaume.Abadie
Makes clang happy again in Tonemapper.
Change 4016309 by Mark.Satterthwaite
More *_RenderThread implementations for MetalRHI.
Change 4016414 by Mark.Satterthwaite
And MetalRHI version of CreateStructuredBuffer_RenderThread...
Change 4016498 by Mark.Satterthwaite
Don't hold on to the uniform buffers bound to the hull shader when switching to a tessellated draw call as they'll have the wrong buffer layout.
#jira UE-57930
Change 4017394 by Juan.Canada
OpenGL: Fixed shading artifacts due incorrect UNORM/SNORM conversions in skin/skincache/computetangent shaderss.
#jira UE-57691
Change 4017522 by Rolando.Caloca
DR - vk - Remove unused code path (old mip generation detection)
Change 4017539 by Rolando.Caloca
DR - vk - Fix for sky lighting mips showing green on AMD
Change 4017542 by Arciel.Rekman
Moved appCountTrailingZeros to a non-SSE header (fixes ARM64 build).
- Arguably WITH_SLI shouldn't apply to Linux on ARM but the fact that the function wasn't available is bad on its own.
Change 4017827 by Guillaume.Abadie
Optimises DOF's scattering cost by a third.
Change 4017835 by Rolando.Caloca
DR - Only allow a render pass to generate mips for one color render target
Change 4017889 by Mark.Satterthwaite
Cache all the Metal state objects to avoid hitting the API unnecessarily.
Change 4018251 by Mark.Satterthwaite
Fix broken rendering on Metal that tracked back to the innocuous looking changes in CL #4006495 (no blame attached - these changes are entirely reasonable) and cause various bugs in QAGame's TM-DistanceFields, ElementalDemo and probably more. Doesn't fix broken SpeedTree rendering :(.
MetalRHI was allowing uniform buffers to blow away linear texture buffers when the constant buffer has been elided due to dead-code elimination. This problem can manifest without linear textures if the uniform buffer contains both constant data and a resource-table but the shader doesn't use any of the constant data. That's because Metal doesn't separate constant buffers from any other kind of buffer unlike D3D which separates all the slots out - and Metal doesn't provide enough buffers to emulate the D3D arrangement. So far this has only manifested in the MVF + Linear Texture case but a more robust solution will be necessary long term.
Change 4018514 by Guillaume.Abadie
Implements r.DOF.Scatter.MinCocRadius.
Change 4018553 by Guillaume.Abadie
Implements r.DOF.Scatter.MaxSpriteRatio to control the budget upperbound of DOF's scattering
Change 4020369 by Yuriy.ODonnell
Disable MallocStompOverrunTest in all static analysis configs (using USING_CODE_ANALYSIS macro)
Previously was only disabled for PVS-Studio.
Change 4020620 by Arciel.Rekman
Fix XboxOne CIS (fallout of appCountTrailingZeros move).
Change 4020949 by Guillaume.Abadie
Configures DOF in scalability settings.
Change 4021593 by Rolando.Caloca
DR - vk - Support for Aftermath style api on AMD
Change 4021740 by Rolando.Caloca
DR - vk - Change log output
Change 4022008 by Uriel.Doyon
Fixed renderthread stalls when streaming texture mips on low end systems.
Change 4022135 by Rolando.Caloca
DR - vk - Fix last mip's layout during mip chain creation
Change 4022607 by Jian.Ru
Speculative fix for a bug where an invalid vertex buffer is deferenced
#jira UE-56229
Change 4022890 by Rolando.Caloca
DR - Fix reference count not getting released
Change 4023540 by Mark.Satterthwaite
Avoid some pointless retain/release calls on Metal Encoders.
Change 4023796 by Marcus.Wassmer
Tell users they are over the maximum size when allocating very large rendertargets.
Change 4025337 by Yuriy.ODonnell
Improved use-after-free detection mechanism and physical memory usage of MallocStomp on Windows.
MallocStomp on Windows will now reserve virtual address space for every allocation and then commit physical pages only to the valid usable part.
Physical pages will be unmapped on Free, but virtual address space will not be released and therefore will never be re-used.
Virtual address space is allocated from the OS in blocks of 1GB and then linearly sub-allocated.
This reduces VA space usage, as VirtualAlloc returns blocks on 64KB granularity even if we just need 4KB. As a small bonus, this also reduces number of syscalls per allocation.
This dramatically increases accuracy of use-after-free detection, but consumes significant amount of memory for the OS page table.
Virtual memory limit for a process on Win10 is 128 TB, which means we can afford to keep virtual memory reserved for a long time.
Running Infiltrator demo consumes ~700MB of virtual address space per second.
Additionally, committing physical pages only for the usable part of the entire virtual block reduces physical memory usage by ~30% compared to old behavior,
which allocated and committed entire block of pages via BinnedAllocFromOS and then marks border page as non-accessible.
Change 4026047 by Rolando.Caloca
DR - Fix test/shipping
#jira UE-58148
Change 4026150 by Krzysztof.Narkowicz
Force proper ordering of buffer visualization materials - after tonemapping (so exposure doesn't influence it) and before editor stuff like icons.
#jira UE-57992
Change 4026226 by Rolando.Caloca
DR - Fix static analysis
#jira UE-58150
Change 4026354 by Jian.Ru
Debug check trying to catch a crash. Only enabled in editor build
#jira UE-50111
Change 4026655 by Rolando.Caloca
DR - Fix for static analysis
#jira UE-58149
Change 4026763 by Rolando.Caloca
DR - Remove references to defunct CCT to avoid confusing licensees
Change 4027167 by Uriel.Doyon
Fixed possible out of bound buffer access when serializing with FDuplicateDataWriter.
#jira UE-56509
Change 4027850 by Jian.Ru
Prevent log spam
#jira UE-50111
Change 4029546 by Rolando.Caloca
DR - Compile fixes
Change 4029624 by Yuriy.ODonnell
Addressed static analysis errors in MallocStomp
- VirtualAlloc return value is now explicitly checked.
- C6250 is suppressed, as VirtualFree does not release address space by design.
Change 4030225 by Yuriy.ODonnell
Static analysis warning fix: make sure declaration of Sleep() is consistent between Windows headers and TBB
The complexity with this particular case is that the warning is generated in synchapi.h, which is included by some Windows headers.
If a module includes TBB and then Windows platform headers, static analyzer will report this warning.
Suppressing it would require wrapping all instances of Windows header includes in third-party macros.
Current pragmatic solution is to modify the Sleep() declaration in TBB header to be consistent with Windows and to report the issue to Intel for a permanent fix.
Change 4030440 by Rolando.Caloca
DR - Fix crash on mobile
#jira UE-58222
Change 4030570 by Daniel.Wright
Allow null SRV's in uniform buffers for feature levels that don't support SRV's in shaders
Change 4030618 by Arne.Schober
DR - missing tangent/normal sign conversion after integration from main
#jira UE-58224
Change 4031588 by Rolando.Caloca
DR - vk - Fix compile error when missing vkCmdWriteBufferMarkerAMD
Change 4032145 by Mark.Satterthwaite
Fix UE-58268 by only emitting the base_instance/base_vertex variables required to fix-up the instance/vertex ID values to match D3D when the Metal version is 1.1 or higher, earlier versions don't support these features.
#jira UE-58268
Change 4032209 by Rolando.Caloca
DR - Fix crash on EngineTest: Mesh Batch's UserIndex is not a union anymore
Change 4033178 by Guillaume.Abadie
Fixes FXAA sampling outside viewports, that was causing black outline on bottom and right edge of the screen when ViewSize != BufferSize, problematic for some screenshot automated test.
#jira UE-58151
Change 4034489 by Daniel.Wright
Fixed UStaticMeshComponent modifying its UStaticMesh when undoing a change. This caused a crash when other static mesh components using the same mesh asset were rendered, since their rendering state was not recreated. A component should not modify its asset during PostEditUndo.
* This behavior has been present for a long time but was previously hidden because only the vertex factory of the mesh asset is cached in static draw lists, not any of its rendering resources (eg vertex declaration).
Change 4035157 by Uriel.Doyon
Fixed deadlock in the streaming code when running with -onethread.
#jira UE-58299
Change 4035198 by Rolando.Caloca
DR - vk - Fix issue when an older SDK was installed, UBT would pick it (should pick the newer of ThirdParty\Vulkan or installed SDK).
#jira UE-58267
Change 4035730 by Arne.Schober
DR - Fix missing Fog parameters during LightScattering Injection
#jira UE-57608
Change 4035843 by Daniel.Wright
Reimplemented support for EyeAdaptation node in opaque materials
Change 4036837 by Marcus.Wassmer
Replace some of the screenshots to match new un-tonemapped buffer visualization
Change 4036980 by Rolando.Caloca
DR - vk - Fix deadlock contention during mem allocation on Linux
Change 4037225 by Guillaume.Abadie
Fixes jittering selection outline.
#jira UE-58350
Change 4038056 by Marcus.Wassmer
roll back changelist 4026150. breaks a bunch of automated tests by cutting off half the image.
Change can go back in later with that part fixed also
Change 4038296 by Jian.Ru
Static analysis fix
#jira UE-58377
Change 4038402 by Ben.Marsh
Suppress IncludeTool warnings caused by CL 3998947.
Change 4038514 by Arne.Schober
DR - Fix case with MVF where instance offset is not supported by the API (in this case only foliage OpenGL and TvOS), usually the buffers are offsetted instead but with MVF we do not use offsetted buffers, therfore the offset needs to be passed into the shader although we are drawing with offset of 0.
#jira UE-57652
Change 4038747 by Marcus.Wassmer
Back out changelist 3853645, causing us to lose shadows in the shaderhair test
Change 4040138 by Rolando.Caloca
DR - Fix compile warning
Change 4041614 by Rolando.Caloca
DR - vk - Fix for Oculus module
#jira UE-58267
Change 3810277 by Daniel.Wright
Ray Traced Distance Field shadows use a two pass tile culling algorithm with no tile max - fixes flickering from tile overflow in dense areas or with a low sun angle. Costs .2ms on PS4.
The distance field scene buffers now use float4 on PS4 and Xbox, saves .1ms on PS4.
Change 3817029 by Uriel.Doyon
Added UVolumeTexture, which use 3D textures. Compressed formats are supported on DX11, DX12, PS4 and XB1.
Projects targetting OpengGL don't have access to compressed formats (as the implementation has texture tiling issues).
Add "r.AllowVolumeTextureAssetCreation" set as 0 by default, which controls whether volume texture can be sampled in materials and whether they can be created from 2D texture assets.
Platform not supporting BC7, will now fallback on RGBA8 instead of DXT to preserve quality, in an attemps to increase usage of BC7.
#jira UE-32263
Change 3819960 by Michael.Lentine
Expose UEPhysics Clothing Parameters through UI.
Change 3823401 by Rolando.Caloca
DR - Add NumQueriesInBatch to RHIBeginOcclusionQueryBatch
Change 3844805 by Arne.Schober
DR - Increased Intermediate normal of Umodel and Skelmesh from 8bit Unorm Compressed to float. A resave/rebuid/reimport of the meshes is recommended to recover some lost precision.
Fixed an issue with compressed (packed) normals on the GPU which were off by one integer representation. Also switched from UNORM to SNORM to get a discrete zero representation and removed some mads from all the VertexShaders.
Change 3847283 by Marcus.Wassmer
Extra fixes from Uriel
Change 3876607 by Rolando.Caloca
DR - Use render passes when running occlusion queries
- Removes the RHI(Begin|End)OcclusionQueryBatch API
Change 3903799 by Daniel.Wright
[Integrate] Pass Uniform Buffers
* All pass-constant shader inputs should go into the appropriate pass uniform buffer, instead of being set per-draw
* Moved many per-draw base pass parameters over to the Base Pass Uniform Buffer
* Opaque and Translucent base pass shaders have different uniform buffers, which allows compile errors when accessing an invalid resource (eg GBuffer in Opaque), instead of silently falling back to GBlackTexture
Uniform buffers can now contain nested structs with UNIFORM_MEMBER_STRUCT()
* This allows composing a uniform buffer at a particular update frequency out of many features, with encapsulation of each feature's parameters in a struct.
* Eg deferred fog uses FFogUniformParameters, but so does translucency in the base pass, where FFogUniformParameters is reused nested inside the base pass uniform buffer.
* Resources can now be located anywhere in the uniform buffer. Padding is inserted to the cbuffer representation to keep memory layouts matching. In the future the cbuffer could be compacted.
* RemoveUniformBuffersFromSource() which works around HLSLCC lack of struct initializers now handles nested structs
Change 3917500 by Rolando.Caloca
DR - Change depth bounds so only the enable bit is in the PSO, allow min/max to be dynamically modified
Change 3964907 by Guillaume.Abadie
Implements RectList topology support in RHI.
Change 3979171 by Mark.Satterthwaite
Copying //Tasks/UE4/Dev-UERNDR-354-mtlpp to Dev-Rendering (//UE4/Dev-Rendering):
Rewrites MetalRHI in terms of mtlpp, which is a C++ wrapper library built around Metal's Objective-C API that attempts to reduce overheads and eliminate resource lifetime errors.
Regarding mtlpp:
- The mtlpp library uses C++ constructor/destructor and smart-pointer style management of Objective-C retain/release calls to prevent over- and under-release problems.
- To reduce Objective-C overheads the mtlpp library caches the internal C-function that implements the Objective-C selectors for the most commonly used Metal protocol types and calls the function directly - this avoids objc_msgSend which does this look-up dynamically and thus improves CPU performance slightly.
- Another advantage is that mtlpp provides infrastructure to extend the Metal API slightly to help improve MetalRHI - the two important aspects are mtlpp::CommandBufferFence which provides a consistent CPU<->GPU synchronisation primitive and sub-buffer allocations from mtlpp::Buffer which allow for far superior memory management.
- Validation functionality is also provided by mtlpp to detect CPU vs. GPU data races and resource lifetime validation - this is expensive and is thus optional and compiled out from Shipping binaries that should be used when performance is most critical. The validation only works between resource modification and *submitted* command-buffers - anything that is being actively encoded on the CPU is ignored and it remains the responsibility of the application to validate the order of operations when encoding.
Apple Platform:
- LLM support which tracks Objective-C objects is enabled only on macOS - we don't have the necessary libraries to intercept and override the internal system calls on iOS.
MetalRHI:
- All the types are switched over, (mostly) insuling the external API from the horror of Metal and Objective-C.
- Buffers are now managed quite differently, small buffers are allocated from a magazine allocator that allocates in fixed blocks from a larger parent buffer, intermediate sized buffers are allocated from a simple heap allocator that wraps a larger buffer and anything of reasonable size (>2Mb) will use the pooled allocator. This *radically* reduces the number of buffer resources, by as much as a factor of 10, because they are now sub-allocated without the need to use MTLHeap or MTLFence so they are performance equivalent to the existing implementation on the GPU and much faster on the CPU. Total memory use is approximately the same.
- Vertex & index buffer management has been updated to reflect changes in the management and to avoid reallocating buffers which provide a Linear Texture (for SRVs) unless strictly necessary. This ensures that even in cases where a dynamic buffer is updated multiple times in a frame it will still work acceptably well.
- The Metal ring-buffer implementation is completely different again, this time it can use Managed memory on macOS which allows for much better performance on eGPUs which will be more and more important for Mac.
- Everyone that needs to wait on a command-buffer fence (rather than a command-buffer itself) now use mtlpp::CommandBufferFence, which prevents race conditions between the different command-buffer handlers (which sometimes execute out of order).
- LLM tracking should now report the same data as the MetalRHI stats group for buffer & texture allocations - there is no segmentation for Vertex/index/Structured/Uniform allocations in Metal so these numbers are going to be wrong and will need to be rethought.
- What will be unseen are the number of small but important resource usage fixes that avoid stale resources from being bound to the device after the point at which they become invalid. This should eliminate a class of errors where the GPU uses a resource pointer that is modified by the CPU and was necessary to satisfy the new mtlpp validation code.
Other:
- Remove the Metal focused workarounds from the ClothBuffer resource binding and related vertex-buffer SRV - these were put in when MetalRHI/MetalShaderFormat couldn't handle float->uint conversions correctly and they should now.
- Fix a validation error caused by trying to render a 0-sized scissor rect which is invalid in Metal and simply pointless elsewhere.
- Consistency of disabling the Manual Vertex Fetch behaviour in shaders.
#jira UERNDR-354
Change 3979312 by Rolando.Caloca
DR - Remove bogus bKeepOriginalSurface parameter in CopyToResolveTarget
Change 4005122 by Rolando.Caloca
DR - Support for PS4 Index Buffer UAVs
Change 4016298 by Guillaume.Abadie
Fixes DOF hybrid scattering on platforms that supports RectList topology.
Change 4018575 by Guillaume.Abadie
Optimises DOF's reduce pass when doing scattering compilation.
Change 4020317 by Guillaume.Abadie
Implements WaveBroadcastIntrinsics.ush.
[CL 4042226 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3503468 by Marcus.Wassmer
Fix merge conflicts
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3608300 by Chris.Bunner
Added post process material to preview compile cache set to allow post process volume preview scene improvements.
Change 3608302 by Chris.Bunner
Fixed decal lifetime fading.
#jira UE-48400
Change 3608303 by Chris.Bunner
Updated default WritesAllPixels input to ignore dithering (as intended, was disabled due to isues at the time).
Fixed material instances returning their local data when not overridden.
#jira UE-48254
Change 3608455 by Mark.Satterthwaite
Enabling WorldPositionOffset requires disabling fast-math on Metal because the manually specified FMA's are not respected if one or more arguments is a literal which then leads to very different compiler optimisation between the depth-only shader and the base-pass shader. This change will only affect the way Metal compiles shaders.
#jira UE-47372
Change 3608462 by Rolando.Caloca
DR - Cloth vertex buffers no longer generate dummy vertices
Copy from 3608349 and 3608407
Change 3608491 by Rolando.Caloca
DR - hlsl - Fix crash when type was not found
Change 3608513 by Rolando.Caloca
DR - Default to real uniform buffers for Vulkan SM4 & SM5
Change 3608794 by Mark.Satterthwaite
Implement SV_DepthLessEqual (maybe right?) for Metal - seems to work in the ParallaxOcclusionMapping test map.
#jira UE-47614
Change 3608929 by Mark.Satterthwaite
Fix ambiguous expression compile error.
Change 3608991 by Mark.Satterthwaite
Fix a dumb bug when parsing the Metal compiler version that breaks Metal shader PCH generation on HFS+ volumes.
Change 3609090 by Uriel.Doyon
StaticMeshComponent and LandscapeComponent now register AO material mask and sky occlusion texture in the texture streamer.
Changing the current lighting scenario now triggers an update of the texture streamer, and a refresh of lighting data for instanced static meshes.
Added an option to the "liststreamingtextures" named UNKOWNREF allowing to inspect texture without references in the texture streamer.
BUILDMATERIALTEXTURESTREAMINGDATA now rebuild every shader in memory and mark for save those with different data.
MipBias now behaves the same way in shipping than in other builds.
Fixed texture resolution logic for editor tooltips and in game stats.
Change 3609659 by Richard.Wallis
Remove Eye Adaption Pixel Shader Workaround for macOS 10.11 (El Cap) Nividia.
#jira UE-48642
Change 3610552 by Mark.Satterthwaite
Optimise the constant-propagation pass in hlslcc by using a hash-table to reduce the cost of looking up the existing constant assignment instructions. The get_assignment_entry drops from 25% of runtime to 2.2% of runtime on a 4.2Ghz Quad i7 2017 iMac.
Change 3610662 by Rolando.Caloca
DR - hlsl - Fix for rwstructured buffer
Fix for floats printed as ints
Change 3610830 by Michael.Lentine
ByteAddressBuffer does not have a subtype.
Change 3610869 by Rolando.Caloca
DR - hlsl - Fix disambiguation between 1.r and 1.0.r
Change 3610982 by Mark.Satterthwaite
Use the correct code to dump Metal shader text for debugging at runtime.
Change 3610996 by Rolando.Caloca
DR - hlsl - Actual fix for 0.r
Change 3611312 by Rolando.Caloca
DR - Integrate: Improve performance of bokeh depth of field.
* Fewer instances with more work (higher quad count) per instance.
* Improves performance on RX 480 in the Infiltrator demo by 0.37 ms at 1080p and 0.50 ms at 1440p (average frame time over the beginning of the demo, including the hallway confrontation between the guard and the infiltrator, where heavy DOF is used).
* Similar optimizations may be possible for other systems that perform similar "instanced draws of quads" (e.g. virtual texture page table updates, lens blur, and velocity scatter).
Change 3611345 by Mark.Satterthwaite
Missed the hash-table destructor in previous change.
Change 3611372 by Rolando.Caloca
DR - vk - New barrier/layout api
Change 3611445 by Mark.Satterthwaite
Fix stupid bugs in MetalBackend's LoadRWBuffer helper function where the wrong type was being used - won't fix problems in the LinearTexture case though.
Change 3611686 by Mark.Satterthwaite
Remove the sampler from the Metal Linear Texture SRV path as for reasons so far unknown it doesn?╟╓t work with the light grid culling.
#jira UE-48881
Change 3611743 by Mark.Satterthwaite
Implement early depth test for Metal - it is implemented such that manual specification of the SV_Depth* outputs will elide the early_fragment_test qualifier as Metal does not permit both at present.
Change 3611746 by Mark.Satterthwaite
Use early fragment tests implicitly unless we perform a direct resource write or use discard - explicit depth writes always disable early fragment tests as Metal doesn?╟╓t allow both. This should better match D3D driver behaviour.
Change 3611756 by Mark.Satterthwaite
Missed a header file in last commit.
Change 3611836 by Mark.Satterthwaite
Fixed the use of Metal?╟╓s capture manager so that it doesn?╟╓t capture more frames than intended.
Change 3611843 by Mark.Satterthwaite
Tidy up the handling of when to increment the frame count for the Metal capture manager.
Change 3612279 by Michael.Lentine
Move FP16 Math to Public so that it can be included as part of platform which is where the other float/half defines happen.
Change 3612595 by Rolando.Caloca
DR - hlslcc - Rebuilt with CL 3611345
Change 3612665 by Rolando.Caloca
DR - Make cubemap mip barrier consistent with HZB mip barriers
Change 3612758 by Daniel.Wright
FColor usage comment
Change 3612980 by Rolando.Caloca
DR - hlsl - Do not overflow ints
Change 3613068 by Rolando.Caloca
DR - vk - Initial fix for transition validation warnings
Change 3613115 by Daniel.Wright
Volumetric lightmap voxels are now always cubes
Bricks outside of any Lightmass Importance Volume will never be refined
Change 3613124 by zachary.wilson
Enabling Eye-Adaptation in TM-ShaderModels.
Change 3613205 by Mark.Satterthwaite
Fully disable linear textures in Metal - they simply aren't performant. Instead we'll have to use helper functions to dynamically type-cast appropriately within the shader. This is currently only configured for a handful of UAV types and will need to be extended.
Change 3613208 by Mark.Satterthwaite
Add code to MetalBackend to promote half types to float for math operations to avoid compiler errors.
Change 3613354 by zachary.wilson
Fixing up the Bloom_FFT map. Renaming to fit qa conventions, updating content and improving workflow.
Change 3613409 by Rolando.Caloca
DR - vk - Layout as part of descriptor writes
Some access flag warning fixes
Change 3613518 by Daniel.Wright
Added 'Render Unbuilt Preview Shadows in game' rendering project setting and r.Shadow.UnbuiltPreviewInGame cvar
Change 3613610 by Daniel.Wright
Volumetric lightmap visualization sphere size is now a fraction of the corresponding brick world size
Change 3613651 by Daniel.Wright
[Copy] Fixed landscape in the Global Distance field on PS4. Multiple updates to a vertex buffer using BUF_Dynamic cause a race condition on PS4 with no assert.
Also added shrinking for GDistanceFieldUploadData which saved 15Mb.
Change 3613696 by Mark.Satterthwaite
Add the Metal SRV format for Index buffers so that they can be properly type-cast inside the shader. Fixes recompute tangents with latest changes.
Change 3613697 by Rolando.Caloca
DR - vk - Fix missing layout
Change 3613922 by Rolando.Caloca
DR - vk - Some fixes for layout/transitions
- Disable GSupportsDepthFetchDuringDepthTest on desktop as the deferred renderer is not copying the aux depth in the right spot and will be removed
Change 3614009 by Mark.Satterthwaite
TPS Approved: Integrating the MIT-licensed mtlpp C++ Metal wrapper from Nikolay Aleksiev which will slowly replace previous Metal API wrappers in MetalRHI.
Change 3614015 by Mark.Satterthwaite
Initial extensions to mtlpp:
- Fixed over retention of alloc-init'd objects.
- Added 10_13 & 11_0 availablity macros.
- Started, but have not yet finished adding new Metal API function wrappers.
Change 3614909 by Rolando.Caloca
DR - Fix static analysis
Change 3614916 by Michael.Lentine
Add function to convert FP32 to FP16
Change 3614957 by Mark.Satterthwaite
mtlpp declarations for macOS 10.13 & iOS 11 Metal features - no matching definitions yet.
Change 3614995 by Mark.Satterthwaite
Revert all changes to project config's from Rhino that should not have come back to Dev-Rendering, keeping only the solitary change to Metal shader standard necessary for ShowdownDemo.
Change 3615035 by Rolando.Caloca
DR - Generate mips using shader for HZB
Change 3615561 by Rolando.Caloca
DR - Fix deprecation warning
Change 3615787 by Mark.Satterthwaite
Only emit min. OS version specification into the Metal shader bytecode for macOS as we share shaders between iOS & tvOS and this option inhibts that.
#jira UE-48919
Change 3616317 by Mark.Satterthwaite
Make TonemapperConfBitmaskPC the proper size so we dn't attempt to access uninitialized memory.
Change 3616357 by Mark.Satterthwaite
And fix some compile errors...
Change 3616473 by Rolando.Caloca
DR - Render pass api minor changes
Change 3616518 by Mark.Satterthwaite
Fix a merge snafu where dead code was retained where it shouldn't be.
#jira UE-48472
Change 3616706 by Rolando.Caloca
DR - Vulkan fixes (integration from Vulkan working branch)
- Fix for editor outline
- Fix for profilegpu
Change 3616770 by Rolando.Caloca
DR - vk - Mark GIsGPUCrashed on device lost
Change 3616993 by Daniel.Wright
IndirectLightingCacheQuality respects VolumetricLightingMethod
Change 3616996 by Daniel.Wright
Volumetric Lightmap show flag is respected by Volumetric Fog
Change 3616999 by Daniel.Wright
Fixed ObjectRadius in Volume domain materials
Change 3617777 by Rolando.Caloca
DR - Fix static analysis warning
Change 3617863 by Guillaume.Abadie
PR #3875: Removed Duplicated "RHI" Module Dependency (Contributed by DavidNSilva)
#jira UE-48159
Change 3618133 by Rolando.Caloca
DR - vk - Set general layout for compute shader resources
- Assume transitions to writable imply end render pass
Change 3618292 by Michael.Lentine
Add support for Expressions, Jump Statments, and Structs.
Change 3618326 by Rolando.Caloca
DR - vk - Fix transition flags
Change 3618408 by Daniel.Wright
Lightmass skylight solver improvements
* Lightmass uses a filtered cubemap to represent the skylight instead of a 3rd order Spherical Harmonic. Directionality in shadowed areas is improved. Mip level is chosen based on the ray differential for anti-aliasing.
* Multiple skylight and emissive bounces are now supported with a radiosity solver, controlled by NumSkyLightingBounces in Lightmass WorldSettings. More bounces results in longer build times, and the radiosity time is not distributable.
* The mapping surface cache is now rasterized with supersampling, reduces incorrect darkness in corners
* Combined direct lighting, photon irradiance, skylight radiosity and diffuse in the mapping surface cache so final gather rays only have to do one memory fetch, speeds up lighting builds by 7%.
* Added support for Embree packet tracing although no solver algorithms use it yet
Change 3618413 by Daniel.Wright
Swarm hands out the most expensive tasks in roughly a round robin ordering among distribution agents. Lightmass processing of a single task is multithreaded, so ideally the most expensive tasks are evenly distributed among active agents. This has the biggest impact in small scenes with 10's of high resolution lightmaps, and with a distribution farm. Build time in one scene went from to 113s -> 47s.
Change 3618439 by Mark.Satterthwaite
Fix the assert in hlslcc when we have saturate(int) and the shader language spec. supports a native saturate intrinsic.
Change 3618468 by Rolando.Caloca
DR - vk - Fix copy to non render target surface
Change 3618696 by Daniel.Wright
Worked around Lightmass crash callstacks not getting reported back to the editor
Change 3618779 by Mark.Satterthwaite
mtlpp definitions for a few of the new calls & fixing the max. number of samplers it assumes.
Change 3618789 by Daniel.Wright
Added missing file
Change 3618816 by Daniel.Wright
Another missing file
Change 3618855 by Rolando.Caloca
DR - vk - Show user debug markers when using dump layers
- Remove old defines
Change 3618887 by Rolando.Caloca
DR - Fix for missing transition to readable for blur widget. Was causing corruption on Vulkan.
Change 3618999 by Mark.Satterthwaite
Definitions for Metal's new CaptureManager & CaptureScope classes.
Change 3619790 by Jian.Ru
Add some debug info
#jira UE-48710
Change 3619834 by Rolando.Caloca
DR - vk - static analysis fix
Change 3619952 by Rolando.Caloca
DR - vk - Static analysis not smart enough...
Change 3620191 by Jian.Ru
Revert 3584245 to prevent focus stealing
#jira UE-49044
Change 3620402 by Mark.Satterthwaite
Remaining Metal definitions for mtlpp.
Change 3620803 by Brian.Karis
Removed faceting bug I introduced to Dither Opacity Mask. Removes the attempt to make opacity stack properly.
Change 3620904 by Michael.Lentine
Change the order of static and const
Change 3620975 by Rolando.Caloca
DR - Updated Vulkan headers to SDK 1.0.57.0
Change 3621026 by Rolando.Caloca
DR - Remove unused type
- Force recompile with new Vulkan headers
Change 3621070 by Rolando.Caloca
DR - glslang - Fix pdb option
Change 3621157 by Arciel.Rekman
Added files to cross-build glslang on Windows.
(Edigrating //UE4/Main/...@3621127 to //UE4/Dev-Rendering/...)
Change 3621194 by Rolando.Caloca
DR - glslang - Update to 1.0.57.0
- Fix some tab/whitespace mismatch
Change 3621225 by Rolando.Caloca
DR - Revert glslang (Back out changelist 3621194)
Change 3621254 by Mark.Satterthwaite
Duplicate 3610656 and revert the incorrect merge from the Rhino task stream. Fixes EyeAdaptation on all clang platforms properly thanks to RCL.
Change 3621261 by Mark.Satterthwaite
Trivial FMetalStateCache optimisations - won't help much but equally they shouldn't hurt.
Change 3621262 by Mark.Satterthwaite
Correct the handling of MSAA target in Desktop Forward for iOS - now the problem is that iOS always creates an internal resolve target so which texture to bind depends on the shader parameter type. Not sure (yet) how best to solve that.
Change 3621263 by Mark.Satterthwaite
Don't mandate Mobile Metal for projects that have Metal MRT enabled.
Change 3621301 by Rolando.Caloca
DR - Unity build fix
Change 3621349 by Mark.Satterthwaite
Fix a bug in MetalBackend that was omitting the depth-output variable from the hlslcc signature if the semantic was SV_DepthLessEqual rather than SV_Depth.
Change 3621546 by Uriel.Doyon
Refactor of the texture 2D mip update logic to offload more work on the async thread.
#jira UE-45332
#jira UE-45789
Change 3622210 by Rolando.Caloca
DR - Do not store DDC data if static mesh failed to build
#jira UE-48358
Change 3622349 by Arciel.Rekman
Better build script for Linux glslang and a bugfix.
(Edigrating CL 3622235 from //UE4/Main/... to //UE4/Dev-Rendering/...)
Change 3622401 by Rolando.Caloca
DR - vk - Integration
- Support for r.Vulkan.ProfileCmdBuffers
Change 3622506 by Rolando.Caloca
DR - vk - Back out changelist 3622401
Change 3622521 by Mark.Satterthwaite
Support disabling V-Sync in MetalRHI on macOS 10.13+.
Change 3622910 by Rolando.Caloca
DR - static analysis fix
Change 3622964 by Mark.Satterthwaite
Fix generation of .metallib on local Macs and exclude .metallib files from the pak - they must always be loaded from disk.
#jira UE-48193
Change 3622986 by Mark.Satterthwaite
A couple more trivial optimisations to MetalRHI for iOS:
- Metal page size is 4k but only buffers under 512 bytes should go through set*Bytes on iOS to balance CPU cost.
- On iOS the minimum buffer size should therefore be 1k and on Mac 4k as nothing else makes much sense.
- No need to rebind uniform buffers if to the same slot - it just wastes cycles.
Change 3623266 by Rolando.Caloca
DR - Fix GL4 rendering
#jira UE-49187
Change 3623377 by Daniel.Wright
Volume materials applied to static meshes operate on the object's bounding sphere
Change 3623427 by Mark.Satterthwaite
Fix MetalViewport compile errors on Xode 8.3.
#jira UE-49231
Change 3623443 by Daniel.Wright
Fixed out of bounds crash in lightmass
Change 3623751 by Daniel.Wright
Volume materials on static meshes now voxelize the mesh's Object space bounding box
Change 3625142 by Guillaume.Abadie
PR #2992: Fixing aspect ratio issue of SceneCapture2D rendering in "Ortho" camera mode (Contributed by monsieurgustav)
Change 3625983 by Jian.Ru
Fix a LPV race condtion due to parallel RSM draw-call submission
#jira UE-48247
Change 3626015 by Jian.Ru
Small fix to 3625983
Change 3626294 by Michael.Trepka
Copy of CL 3535792 and 3576637
Added support for changing monitor's display mode on Mac in fullscreen mode. This greatly improves performance on Retina screens when playing in resolutions lower than native.
Fixed a problem with incorrect viewport size being set in windowed fullscreen in some cases. Also, slightly improved screen fades for fullscreen mode transitions on Mac.
#jira UE-48018
Change 3626532 by Marcus.Wassmer
Fix divide by 0 crash when GPU timing frequency not available for whatever reason.
Change 3626548 by Ryan.Brucks
KismetRenderingLibrary: Added EditorOnly function for creating static textures from Render Targets. Has options for Mip and Compression Settings
Change 3626874 by Mark.Satterthwaite
Fix Metal 2.0 compilation.
Change 3626997 by Rolando.Caloca
DR - vk - cis fix
- Initial RGBA16 readback
Change 3627016 by Mark.Satterthwaite
Workaround more of Metal's unfortunate tendency to re-associate float mul/add/sub operations - this time from Metal's own standard-library.
Change 3627040 by Brian.Karis
Removed old rasterized deferred reflection env path.
Removed reflection compute shader. Replaced with PS. Small perf gain.
Change 3627055 by Mark.Satterthwaite
No MSAA support on Intel Metal or iOS Desktop Forward for the moment as neitehr work and I don't want to have lots of crashes out in the wild until we have a solution.
Change 3627057 by Mark.Satterthwaite
Make SCW's directcompile not fall over with Metal when there are compilation errors.
Change 3627083 by Mark.Satterthwaite
Invalidate Metal shaders so QA testing picks up the most recent changes.
Change 3627788 by Chris.Bunner
[Duplicate, CL 3627751] - VisibleExpressions static switch value evaluation needs to handle reroute nodes rather than only verify first expression.
Change 3627834 by Rolando.Caloca
DR - cis fix
Change 3627847 by Rolando.Caloca
DR - 4th try to fix static analysis
Change 3627877 by Guillaume.Abadie
Works arround a HLSLCC bug in a SimpleComposure project's material where x != x does not work for an unknown reason yet.
#jira UE-48063
Change 3628035 by Marcus.Wassmer
Duplicate 3620990
Smarter scenecapture allocation behavior.
Change 3628204 by Daniel.Wright
Fixed denormalization scale on one of the 2nd SH band of volumetric lightmaps
Change 3628217 by Mark.Satterthwaite
Fix InfiltratorForward project defaults so that iOS will package.
Change 3628515 by Arne.Schober
DR - [UE-49213] - Fix case where HZB was not generated for SSR and SSAO when Occlusion culling was disabled.
#RB Marcus.Wassmer
Change 3628550 by Chris.Bunner
Merge fixes.
Change 3628597 by Chris.Bunner
Merge fixes.
Change 3628656 by Michael.Trepka
One more workaround for a bug in StandardPlatformString.cpp. It doesn't handle %lf format correctly, parsing it as long double instead of ignoring the 'l' format sub-specifier.
Change 3628685 by Daniel.Wright
CPU interpolation of Volumetric Lightmaps for the mobile renderer. They use a scene cache based on interpolation position, since the precomputed lighting buffer for movable objects is recreated every frame.
Change 3629094 by Ryan.Brucks
Fixes to RenderTargetCreateStaticTexture2DEditorOnly with additional error checks
#RB none
Change 3629223 by Rolando.Caloca
DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847
Change 3629491 by Rolando.Caloca
DR - Revert back to emulated uniform buffers on SM4/SM5
Change 3629663 by Daniel.Wright
Fixed NaN when capsule shadow direction is derived from volumetric lightmap with completely black lighting
Change 3629664 by Daniel.Wright
Don't render dynamic indirect occlusion from mesh distance fields when operating on a movable skylight, since DFAO fills that role
Change 3629708 by Rolando.Caloca
DR - vk - Redo some changes from DevMobile
3601439
3604186
3606672
3617383
3617474
3617483
Change 3629770 by Mark.Satterthwaite
Fix a mobile Metal shader compilation error when using the FMA workaround for "cross" which should only be applied if the min. Metal version is 1.2 (as FMA is not known to work prior to this).
Change 3629793 by Daniel.Wright
Fixed VolumetricLightmapDetailCellSize not being respected in small levels, causing too much volumetric lightmap density and memory
Change 3629859 by Mark.Satterthwaite
macOS 10.12 also had problems with MSAA in forward rendering - so only permit it to work on macOS 10.13 and above.
Change 3630790 by Mark.Satterthwaite
Move RHISupportsMSAA so that the Metal related complications for when it is viable can be hidden within.
Change 3630990 by Rolando.Caloca
DR - vk - Redid CL 3617437 (optimize number of Buffer Views, eg 165 to 58)
Change 3631071 by Mark.Satterthwaite
Fix a small gotcha in a change from Dev-Mobile: for MetalRHI we need to explicitly configure the ShaderCacheContext for the immediate/device context after initialising the shader-cache.
#jira UE-49431
Change 3631076 by Rolando.Caloca
DR - vk - Redo 3617574, reduce number of render pass objects created
Change 3631250 by Mark.Satterthwaite
Make another Metal warning a Verbose log instead as it isn't interesting unless you are me.
Change 3631911 by Chris.Bunner
Back out changelist 3628035.
#jira UE-49364, UE-49365
Change 3632041 by Mark.Satterthwaite
Fix cloth rendering on Metal - some of the data in FClothVertex is uint but we load it from a float buffer. This could be due to a bug in Metal's as_type<uint4>() or it could be that Xcode 9's compiler is now finally enforcing Metal's official flush-to-zero-on-load semantics for denorms - it isn't immediately obvious.
#jira UE-49439
Change 3632261 by Brian.Karis
SM4 fallback for reflection captures.
Change 3632281 by Mark.Satterthwaite
Fix an intermittent assert on startup when the AVFoundation movie player gets the QAGame TM-ShaderModels video ready to play prior to the rendering thread being back online when resizing the window. This is done by deferring the processing of AVFoundation events to the game-thread where it won't cause a threading violation.
Change 3632382 by Rolando.Caloca
DR - vk - Fix clang warning
Change 3633338 by Chris.Bunner
Static analysis/Linux compile fix.
#jira UE-49502
Change 3633616 by Jian.Ru
Force alpha to 0xff for functional UI screenshot tests
#jira UE-48266
Change 3633818 by Daniel.Wright
Better indirection texture clamping and asserts
Change 3634319 by Mark.Satterthwaite
Stop FVolumetricLightmapDataLayer ::Discard which is invoked by the Editor RHI during texture-upload from chucking the backing data when in the Editor - because if we do that then cooking will serialise an empty array. This was only apparent on Mac because Metal always invokes Discard on BulkDataInterfaces and D3D11 never does.
#jira UE-49381
Change 3634613 by Rolando.Caloca
DR - Call discard on bulk data for textures
#jira UE-49533
Change 3634654 by Mark.Satterthwaite
Fixes for broken iOS builds:
- Fix RHIGetShaderLanguageVersion returning the wrong version for iOS Metal if the Mac version had already been queried - this has been wrong for a long while.
- Remove the precise:: qualifier for Metal's fma intrinsic - it isn't necessary and breaks on older OSes.
#jira UE-49381
Change 3634820 by Mark.Satterthwaite
Change the hash-function for the preprocessed HLSL source in FMetalShaderOutputCooker to reduce risk of hash-collisions. Fixes one cause of UE-49381 and reveals an underlying driver bug on iOS 9 with runtime-compiled text shaders *only*.
#jira UE-49381
Change 3634821 by Mark.Satterthwaite
Force Metal shaders only to recompile by incrementing the format version.
[CL 3635058 by Chris Bunner 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]