Metal 2.3 removed, Metal 3.0 added for Mac
#jira UE-163352
#rb adam.kinge bertrand.carre
#preflight 631ea7eb94758d0bf2008668
[CL 21960671 by axel riffard in ue5-main branch]
On Windows, "TargetedRHIs" is now split into "D3D11TargetedShaderFormats", "D3D12TargetedShaderFormats" and "VulkanTargetedShaderFormats". "TargetedRHIs" is still parsed for backwards compatibility.
Using this, projects can now be more easily configured for D3D12-only or even Vulkan-only.
Updated FShaderFormatsPropertyDetails to use FName instead of FString for shader platforms. Also added a filtering method for mixed RHI platforms like Windows.
#jira none
#rb mihnea.balta, josh.adams
#preflight 6287cbf46c7692ac8cc8805f
[CL 20300786 by christopher waters in ue5-main branch]
This removes a UE4 references and fixes icons by updating to the new name.
#jira UE-111650
[REVIEW] [at]will.damon
#lockdown cristina.riveron
#ROBOMERGE-SOURCE: CL 16012622 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
[CL 16012656 by dave hunter in ue5-main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4073167 by Krzysztof.Narkowicz
Added subsurface profile for eye shading model.
#jira none
Change 4073422 by Krzysztof.Narkowicz
Added dual specular for subsurface profile shading model.
#jira none
Change 4075278 by Krzysztof.Narkowicz
Fixed forward reflection/refraction rendering issues, which caused ShaderModels.Material.Refraction to fail.
#jira none
Change 4084231 by Krzysztof.Narkowicz
Dual specular - replace lobe spread with two separate roughness multipliers. Default material roughness is now replaced by an average lobe roughness in order to support non dual specular features.
#jira none
Change 4092798 by Matt.Collins
Some HDR refactoring.
Previously the DisplayOutput and ColorGamut were only set in GameUserSettings.
I added a Sink that checks the HDR enable. If it's toggled we apply the correct DisplayOutput and ColorGamut for the current platform (this way we get good settings even if you toggle via the console). These settings are still exposed via the console and can be set independently if the user wants.
Change 4096954 by Chris.Bunner
Added ShaderModelID as scene texture option and renamed existing value to ShaderModelColor to better reflect the internal code.
Change 4111285 by Brian.Karis
Eye shading update.
Added Iris normal (disabled). Removed wrap. Fixed contact shadows.
Change 4155261 by Krzysztof.Narkowicz
Planar reflection prefilter - use scene viewport size instead of reflection target size in order to keep filter size constant in screen space. This makes planar reflection filter more stable in case of dynamic resolution.
#jira none
Change 4167644 by Krzysztof.Narkowicz
Global shader map is now stored in multiple DDC entries (one per shader filename) instead of keeping everything in a single one. This allows to skip recompilation of unchanged shader files.
Change 4183727 by Yuriy.ODonnell
Implemented auto-conversion from deferred to DBuffer decals in forward shading mode (when GBuffer is not available).
Added support for specular and metallic channels for DBuffer decals, based on work by Chris Bunner.
This requires DBufferC to be expanded from 2 to 4 channels, leading to slight increase in DBuffer bandwidth and memory requirements.
Appearance of DBuffer decals is affected by this change, as specular and metallic channel values previously hard-coded in DBufferDecalShared.ush.
Decals were forced to be non-metallic and have specular of 4% (0.5 numeric value). Now the authored decal material values will be used, which matches GBuffer decals.
Added support for DBuffer decals with emissive component.
Most decal types can now be automatically converted, with the exception of stain decals. Those are currently approximated as regular translucent decals.
Change 4197684 by laz.matech
Added a PostProcess Volume test to the map to test that Cinematic Depth of View can be achieved through PPVs as well. Changed the BP_DepthOfFeildPOV asset - I exposed Focus Method so that it can be disabled for the PPV test. Added a second Hair Model head to the InFocusHair test so that it tests in and out of focus hair models (changed the name of the test to FocusHair).
#jira none
Change 4225614 by Rolando.Caloca
DR - Enable depth collision particles on Vulkan mobile
Change 4235489 by Uriel.Doyon
Removed r.DefaultFeature.PointLightUnits and r.DefaultFeature.SpotLightUnits and replaced them by a single r.DefaultFeature.LightUnits which also controls the units of newly placed rect lights.
#jira UE-59525
Change 4260154 by Mark.Satterthwaite
Parallelize the creation of Metal archives and libraries when they are broken up into smaller sub-libraries, this should reduce apparent cook time by going wide across threads on the host of the cooker.
Change 4270594 by Brian.Karis
Fix for textured rect light L pointing away from plane due to approximate diffuse integration.
Change 4273361 by Daniel.Wright
Particle Cutouts with 8 verts now always use stochastic approach. Circle textures with > 234 edges in the convex hull were overflowing the uint64 calculation of the total number of combinations, causing an infinite loop.
Change 4309174 by Mark.Satterthwaite
Graph device utilization from the driver monitor stats - really helps see how well the GPU is being used.
Change 4310121 by Matt.Collins
Optmizing RemoveUniformBuffersFromSource. Brings it from ~20% to ~1.5% in my testing.
#jira none
Change 4312960 by Daniel.Wright
Fix from Stephen Hill for incorrect light grid culling near the near plane
Change 4314169 by Richard.Wallis
FShaderCache and associated public structures are now marked as deprecated. All FShaderCache code hooks removed from MetalRHI, OpenGLDrv and engine Launch/Shutdown logic.
#jira none
Change 4320760 by Arne.Schober
DR - Remove SV_Coverage from basepass interpolants when running with Masked in early Depth with ForwardShading as otherwise earlyZ will be disabled (as the PS has to run).
#jira UE-60992
Change 4334607 by Uriel.Doyon
Added custom overrides to reset ULightComponent::Intensity to default (in FLightComponentDetails).
Now settings a light Intesity to default resets the brightness to the archetype brightness.
This handles correctly cases where the intensity units differs between the two objects.
Also changed FLocalLightComponentDetails so that changing intensity units kepts the same brightness
(by recomputing the Intensity).
#jira UE-61401
Change 4336188 by Rolando.Caloca
DR - Added -ReduceThreadUsage so programs can use less threads (for SCW )
Change 4337967 by Rolando.Caloca
DR - Remove unused RHISupportsShaderCompression function
#rb none
[CL 4358751 by Rolando Caloca in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
#rb Rendering
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3658809 by Chris.Bunner
Changing default HDR display gamut to P3 as in practice that's more common than Rec2020, this should be a user-facing option where possible though as we can't automatically retrieve that data.
Change 3658842 by Chris.Bunner
Backing out previous HDR default gamut change as it conflicts with mandatory platform defaults.
Change 3695269 by Arne.Schober
DR - Make clang happy wreorder
Change 3695418 by Guillaume.Abadie
Fixes compilation failure in FoliageType_InstancedStaticMesh.cpp.
Change 3695430 by Guillaume.Abadie
Fixes missing BeginFrame dynamic resolution event in EngineTest.
Change 3695469 by Guillaume.Abadie
Fixes crash when passing down an invalid parameter on the sample material expression's DDX, DDY parameters.
Change 3696091 by Guillaume.Abadie
Fixes Linux compilation failure in DynamicResolution.cpp
Change 3696593 by Chris.Bunner
Fixed typo in vetex factory enum.
Change 3696596 by Chris.Bunner
Added material attributes type checking to If material expression.
Updated If material expression to validate compilation of inputs.
Change 3696597 by Chris.Bunner
Allow visible parameter retrieval to correctly traverse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs.
Change 3696599 by Chris.Bunner
Fixed material instance parameter visiblity when using nested static switches across functions.
#jira UE-50878
Change 3696734 by Chris.Bunner
Return type fix.
Change 3697123 by Guillaume.Abadie
Fixes compilation failure in PostProcessWeightedSampleSum.cpp on Windows 32bits.
Change 3697125 by Guillaume.Abadie
Fixes compilation failure in MaterialExpressionIf.h
Change 3697127 by Guillaume.Abadie
Fixes compilation failure in DynamicResolution.cpp on shipping build.
Change 3697135 by Guillaume.Abadie
Fixes crash in dynamic resolution event frontend when resizing game play viewport in EngineTest.
Change 3697199 by Guillaume.Abadie
Fixes TAA upsample's shader compilation failure on Mac.
Change 3697220 by Guillaume.Abadie
Makes static analysis happy again.
Change 3697280 by Chris.Bunner
Fixing up invalid casts in material layers validation.
Change 3697366 by Rolando.Caloca
DR - hlslcc - Fix warning
#jira UE-43988
Change 3697451 by Rolando.Caloca
DR - vk - Per pipeline descriptor pools
Descriptor pool are now allocated per PSO instead of globally to reduce peak mem consumption and fragmentation
Enabled on Windows only via VULKAN_USE_PER_PIPELINE_DESCRIPTOR_POOLS
Change 3697477 by Rolando.Caloca
DR - vk - Custom memory allocator
Remove old/unused stats
Change 3697486 by Rolando.Caloca
DR - vk - Fix validation issue
Change 3697488 by Richard.Wallis
Fix for Mac editor session no longer accurately tracking Mouse location after moving between Desktops in Mission Control on 10.12.6. Problem stems from the extra call to update the slate cached window position in mouse move while dragging, which is itself is a hack but apparently this is needed as we don't get window position updates on Mac while dragging (although I couldn't see any -ve side effects without it) then the OS (in 10.12.6) doesn't always push out a final window did move notificaiton when changing desktops which leaves the window according to slate incorrectly positoned to it's frame.
Solution is to either remove the mouse-move-while-drag window position hack or add a final window position update to the mouse-up event while dragging - this change is the latter.
#jira UE-37553
Change 3697501 by Richard.Wallis
Move audio processing over to audio bus tap. Currently on Mac Media audio playback uses OS media player mixer rather than Engine as existing implemtation, using AVAssetReader, now suffers from poor performance with new Media Framework. This audio tap version replaces that asset reader implementation but also suffers from bad quality audio hence is still disabled at the top of AvfMediaTracks.cpp.
Original Code Review Description:
Convert Mac to Play audio through the engine MediaFramework API rather than using AVMediaPlayer. This is the Mac implementation only - this should work ok on iOS but unable to test due to missing audio type implementation (throws error "Init Buffer on unsupported sound type name = Synth type = 5"), as such is only enabled for Mac. There maybe some extra tweaks required for iOS on app backgrounding etc if this feature is enabled.
- Stuttering Audio Performace issue investiagation: Re-Tested this implementation against [now fixed] current Mac implementation which was working fine last year and that implementation now has the same audio output quality (performance) issues as this one. Basic investigation seems to point to somewhere in the engine audio handing. When poor audio is heard the FMediaAudioResampler::Generate() function is dequeing an IMediaAudioSample sample buffer and the audio sample queue usually has 50-100 of these IMediaAudioSample buffers waiting in the queue. I think the AvfMedia playback system is providing the sample buffers in good time but they are not getting consumed "fast" enough. This under consuming also occurs if I force the Core Audio - Audio Unit mixer to use 48000 samples/sec.
#jira UEPLAT-1677
Change 3697517 by Richard.Wallis
XCode 9.0 extra nullability specifiers required.
Change 3697537 by Richard.Wallis
Back out revision 23 from //UE4/Dev-Rendering/Engine/Plugins/Media/AvfMedia/Source/AvfMedia/Private/Player/AvfMediaTracks.cpp
Change 3697670 by Rolando.Caloca
DR - vk - Fix mapstaging surface
Change 3697846 by Uriel.Doyon
Allow denormalized values when converting float32 to float16.
Change 3697892 by Uriel.Doyon
Fix for unaligned structure elements
Change 3699335 by Richard.Wallis
Mac compile fix - turns out I did need these nullability specifiers here.
Change 3699663 by Guillaume.Abadie
Fixes time unit conversions from microseconds to milliseconds error in dynamic resolution heuristic when using GPU busy time queries.
Change 3699959 by Rolando.Caloca
DR - Fix barrier in the middle of render pass
Change 3699969 by Rolando.Caloca
DR - vk - Change dump layer location so it prints out validation ids
Change 3700356 by Guillaume.Abadie
Implements secondary screen percentage to be able to do TAA upsample followed spatial upscale so that the editor viewport still have same TAA upsample screen percentage range to test the content with no matter monitor's DPI.
Change 3701105 by Guillaume.Abadie
Ignore per view automatic mip bias on texture type other than 2d textures.
#jira UE-51396
Change 3702297 by Richard.Wallis
Mac compile fix for nullable specifier. Looks like Obj class using the C++ class also needs this otherwise it throws. Seems to be some kind of xcode/compiler caching bug with this stuff as it'll report the error once then on subsequent compiles say everything is ok.
#jira UE-51386
Change 3702357 by Richard.Wallis
Mac nullability compile fix - again. Looks like I fell foul of that xcode compile caching!
#jira UE-51386
Change 3702424 by Guillaume.Abadie
Fixes planar reflection from drowing themselves in their own FSceneRenderer in forward shading.
#jira UE-51395
Change 3702464 by Guillaume.Abadie
Fixes wrong viewport to buffer conversion of the distortion.
#jira UE-51406
Change 3702819 by Guillaume.Abadie
Fixes planar reflections with secondary screen percentage for HighDPI editor viewports.
Change 3703732 by Guillaume.Abadie
Removes unecessary check(); when there is more than 2 players with planar reflections.
#jira UE-51436
Change 3704302 by Guillaume.Abadie
Removes unecessary Interface suffix on new dynamic resolution related interfaces
Change 3704390 by Chris.Bunner
Fixed a coincidentally correct define.
Change 3704730 by Rolando.Caloca
DR - vk - Fix map for depth surfaces
Change 3704739 by Rolando.Caloca
DR - Debug label on D3D11 UAVs
- Validate when running -d3debug
Change 3705000 by Chris.Bunner
Skip compiling opacity and opacity mask inputs on opaque surface materials. Previously the code was always added to the shader, sometimes we force opaque materials down a masked path which then calls the dormant code unintentionally. A safer fix for UE-48254.
Partially reverted previous fix in CL 3608303 which removed a material instance optimization caching the overridden base properties.
Change 3706065 by Guillaume.Abadie
Does some renaming for primary screen percentage, and move the primary screen percentage method selection from dynamic resolution driver to FSceneView.
Change 3706464 by Chris.Bunner
Fixed material property translate overrides that were generating code in the wrong entry.
Fixed conditions in If material expression GetInputType and IsMA check.
#jira UE-51368
Change 3706641 by Chris.Bunner
Missing "break" in switch statement (which unfortunately needs another bump to resolve).
Change 3706642 by Guillaume.Abadie
Fixes assertion failure when r.TemporalAA.EnableUpscale = 1
Change 3706650 by Gil.Gribb
UE4 - UE4 - Changes from intel. Increase number of worker threads on Windows to if hyperthreads (hyperthreads √ 2) else cores √ 1 up to a max of 22 workers. Increase MAX_THREADS multiplier per bank from 22 to 26. Intel VTune ITT event annotations. Wrapped in same function as your existing CPU events and enabled with √vtune. Optimize NV cloth by consuming FVector instead of FVector4 out of the solver. Vertex buffers were using FVector all along. ~15% improvement. Optimize cloth copy to vertex buffer by adding prefetch (similar to how bones are already done). Move local to world cloth transform from CPU to GPU. When simulating lots of vertices game thread was becoming bottleneck doing matrix multiply. Add your TaskGraph task switch latency test code.
Change 3706733 by Daniel.Wright
Print Embree Build time
Change 3706841 by Daniel.Wright
EmbreeFilterFunc4 now handles masked out intersections properly
Change 3707437 by Rolando.Caloca
DR - vk - Android compile fix
#jira UE-51474
Change 3707785 by Guillaume.Abadie
Fixes viewport issue in bloom setup pass with TAA upsample.
Change 3709623 by Rolando.Caloca
DR - vk - Missing barrier for reading into cpu
Change 3709633 by Rolando.Caloca
DR - vk - Compile fix
Change 3710454 by Mark.Satterthwaite
Refactor the way we compile Buffer<> & RWBuffer<> types for Metal so that we can support the type-conversion semantics of HLSL/D3D.
- Buffer<> types are converted to Linear Textures unless the internal type is 3-compnent or the STRONG_TYPE macro is added as a type-qualifier. Linear Textures require an MTLTexture "view" object be created around the MTLBuffer which is the backing-store and it is typically best if that buffer is marked as Private (GPU-only) memory, reading from this in the shader then uses the texture-fetch hardware to perform the format conversion on load.
- RWBuffer<> & 3-compnent Buffer<> types are converted to use template functions to load/store - the implementation of which will read the format from the BufferSizes meta-table and determine which type-conversion to apply. Function-constants are used to specialise the shader where feasible to reduce branch costs (function-constants are a Metal feature that allow efficient runtime recompilation of bytecode shaders).
- Buffer<> & RWBuffer<> types where the STRONG_TYPE macro is added as a type-qualifier (only does something on Metal, everywhere else it is #define'd away) are compiled as "raw" Metal buffers of the inner-type (e.g. float4 for Buffer<float4>) and the MetalRHI runtime will enforce that only SRVs/UAVs of the proper format are bound to it. This is necessary in a couple of cases (BoneMatrices, NumCulledLightsGrid, CulledLightDataGrid & ForwardLocalLightBuffer buffers) which are used in a larger number of shaders as Linear Textures have poorer performance than Buffer<>/RWBuffer<>.
- Most of the complications to generating subtly different Metal code for different OS/device combinations have been factored out into ue4_stdlib.metal which acts as an extension to the Metal shader standard-library and helps simplify the MetalBackend code - particularly helpful for Buffer<>/RWBuffer<> but also texturecube_array and the SM6 wave-related intrinsics.
- Reverted some of the awkward Metal-specific changes Richard.Wallis & Arne had to make to the high-level shaders as they aren't necessary anymore.
- Made the existing Metal-specific changes to use uint32 for all light-grid injection buffers apply to all Metal platforms again (I had hoped that it would not be necessary anymore, but it is much faster this way).
- STRONG_TYPE is actually hlslcc's "invariant" keyword applied as a type-qualifier to a Buffer<>/RWBuffer<> type - only valid when using Metal which exports this through ILanguageSpec and #define'd out for everyone else.
- Old versions of iOS (anything earlier than iOS 10.3) won't be able to use this new code, so every buffer will be treated as "raw" and the MetalRHI will now properly report when something goes awry rather than it leading to mysterious rendering errors and crashes.
Change 3710456 by Mark.Satterthwaite
Fix the Eddie workset project generator so that Enterprise projects don't get mixed in with regular projects at the top-level because of the way Eddie combines workset groups.
Change 3710457 by Mark.Satterthwaite
DX11 texture formats for Mac Metal please!
Change 3710480 by Mark.Satterthwaite
Permit RHI thread and parallel execution in Mac -game mode again.
Change 3710522 by Mark.Satterthwaite
MSVC type-mismatch error fixes.
Change 3710580 by Mark.Satterthwaite
Alright then - if I can't use the C++11 extended string semantics I'll have to use "xxd -i" to generate a hex-dump include header from ue4_stdlib.metal instead. This can only be updated from a machine with access to the POSIX xxd command (Mac & Linux, possibly the new Linux sub-system for Win10).
Change 3710616 by Mark.Satterthwaite
Missing file.
Change 3712972 by Guillaume.Abadie
Fixes Circle DOF's negative alpha channel getting clamped to 0 in TAA pass.
Change 3712979 by Guillaume.Abadie
Fixes wrong RT reallocation when doing TAA upsample in editor viewports with secondary upscale.
Change 3713406 by Mark.Satterthwaite
Use GPU morph targets on Mac - the necessary buffer conversions will always be available there. For iOS it can only be supported if iOS 10 is the minimum OS & Metal standard so leave that on the CPU path for now.
Change 3713494 by Richard.Wallis
Fix for hitch when PIE unloading sublevel. PerformReachabilityAnalysisOnObjects is spawing multiple threads in Editor builds as there is an extra code path that results in Critical Section locking within a singleton type static object - this is a bottle neck for multiple threads. However they all just need to read the data not change it. Replaced FScopeLock with a Read/Write version allowing these threads to all take a read lock at the same time to reduce contention.
Changed the FUObjectAnnotationDense implementation only - left the sparse implementation alone as its not currently affecting this - although we could proactivly change that too.
Also tested again repro in linked bug UE-24711.
#jira UE-40533
Change 3713612 by Mark.Satterthwaite
Integrate LPV_STORE_INDEX_IN_HEAD_BUFFER related changes from //depot/Partners/Microsoft/UE4-MS/Engine-Fable @ 2954744
This should make Light Propagation Volumes potentially viable on non-Microsoft platforms.
Change 3713623 by Mark.Satterthwaite
Implement ByteAddressBuffer/RWByteAddressBuffer in hlslcc in a similar manner to StructuredBuffer/RWStructuredBuffer so that the backends don't need too much modification. Implement the necessary changes into MetalBackend to make this work for Metal.
Load/Store{+2,3,4} & Atomics are supported. Counter operations are not supported and aren't likely to be.
Change 3713636 by Mark.Satterthwaite
Enable LPVs for Mac Metal.
- Rework some multi-dimensional arrays & array-index dependent HLSL code that hlslcc simply can't cope with, the mesa-glsl compiler core is only capable of dealing with 1 dimensional arrays and array-indexing can't itself be directly dependent on the result of an array-index operation.
- MetalRHI needs to ignore any SetRenderTargets call that binds nothing at all as you must bind at least one target (UAV, RT, Depth/Stencil) for it to be able to do anything sensible.
- Turn on LPVs for Metal as it works now.
Change 3714049 by Guillaume.Abadie
Do not set screen percentage method to TAA upsample when anti aliasing method is not TAA even if there is automatic fallback in the renderer.
Change 3714306 by Guillaume.Abadie
Fixes assertion failure in dynamic resolution state proxy with GPU busy time queries.
Change 3714714 by Mark.Satterthwaite
Tweak Metal GPU identification so that it works with eGPU boxes and protoype hardware - these changes only apply to macOS 10.13 so the system as a whole remains.
Change 3716104 by Mark.Satterthwaite
Fix 10.12/Xcode 8 compile errors from the build-farm which is still split until Fortnite can update.
Change 3716120 by Mark.Satterthwaite
Silence static-analysis.
Change 3716158 by Guillaume.Abadie
Rewrites editor primitive compositing to support TAA upsample.
This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.
Change 3716271 by Daniel.Wright
Lightmass correctness fixes
* After these changes, point, spot, directional and sky lights closely match reference renderer Mitsuba after light unit conversions
* Photon density trimming intended for direct photons was affecting indirect photons as well. This caused high noise for point / spot lights with a large attenuation radius. Indirect photon density even for small lights is 5x with this change, which improves 2nd bounce quality.
* Removed legacy fudge factor on point / spot light photon energy
* Spotlights no longer emit based on indirect photon paths. Fixes excessive photon energy from spot lights as they were emitting outside of the cone.
* Fixed photons computing one more bounce than requested.
* Added an option to use the Radiosity solver for all multibounce, replacing photons. Useful as a reference but generally too much noise indoors.
* Fixed visualization of photons without final gather
Change 3716434 by Mark.Satterthwaite
Backout the remaining change from 3632041 that is no longer necessary - this was the last of the 4.18 Metal workarounds.
Change 3716491 by Chris.Bunner
Fixing up an edge-case on a recent optimization.
Change 3716611 by Guillaume.Abadie
Allows secondary screen percentage >= 100%.
Change 3716977 by Guillaume.Abadie
Back out changelist 3716158 to unblock QA pass.
#jira UE-51580
Change 3717111 by Arne.Schober
Fixing nomalization of Morph Tangents https://udn.unrealengine.com/questions/392462/
Also implemanted batching of the dispatches which should help worst case perfomance where dispatches become too small.
CalculateInverseAccumulatedWeights is not cheap and proably should be moved onto a task thread that runs as soon as the input weights are ready.
Change 3717127 by Mark.Satterthwaite
Fix a mismerge from the reversion of 3632041 - part of the modified code had been moved into another file and I didn't initially notice.
Change 3717178 by Mark.Satterthwaite
Remove useless copy-pasted expressions from glsl_type::GetByteAddressBufferInstance & force MetalBackend to relink. Apparently the previous Mac libs were mysteriously broken.
#jira UE-51583
Change 3717476 by Marcus.Wassmer
Fix PS4 compile. funciton local statics not allowed on PSSL
Also enabled the new atomics method for LPVs for all platforms
Change 3717502 by Arne.Schober
DR - Compiletime option for compressed ruleset (0.02ms perf gain on PS4 and disabled by default as it limits array size to 2million entries)
Change 3717601 by Arne.Schober
DR - Move cycle counter into more meaningfull locations.
Change 3718054 by Guillaume.Abadie
Removes unecessary check() failure on secondary upscale that fires when testing raw output screen percentage method.
Change 3718066 by Guillaume.Abadie
Reland: Rewrites editor primitive compositing to support TAA upsample.
This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.
Change 3718589 by Mark.Satterthwaite
Console-variable to enable and disable Manual-Vertex-Fetch for Metal and fix the internal code to handle the subtle changes in behaviour for vertex-declarations so we don't explode under the Metal validation layer. MVF works on macOS, though testing did expose an error with Tessellation on Nvidia (true for MVF enabled & disabled).
Change 3718633 by Guillaume.Abadie
Fixes temporal instability issue of TAA upsample with secondary screen percentage.
Change 3718658 by Arne.Schober
DR - 25% MorphTarget Speed increase because there was a bit of cache thrashing between the waves going on.
Change 3718818 by Mark.Satterthwaite
Fix compilation on hlslcc - integral values are not automatically converted into comparisons with zero.
Change 3719004 by Guillaume.Abadie
Lets the game viewport client automatically set raw output screen percentage method when doing dynamic resolution with stereo rendering but without TAA upsample.
Change 3719375 by Mark.Satterthwaite
Extend mtlpp compiler testing app to support Metal tessellation compute shaders so we can send Nvidia a much simpler reproduction of their regression.
Change 3720099 by Mark.Satterthwaite
Make the left-hand arguments work in airdiff.
Change 3720413 by Mark.Satterthwaite
Support standalone compute shaders in the mtlpp compiler test app.
Change 3721232 by Mark.Satterthwaite
No more Metal Shader Model 4 - instead we have to have a Metal Shader Model 5 w/o Tessellation as Nvidia's shader compiler is broken on all tessellation shaders in 10.13.0 and above. There is no guarantee that they will fix this prior to 10.14 and I can't afford to disable tessellation entirely as if I do that then the AMD & Intel compilers will also regress. As there is no Shader Model 4 platform on Mac anymore I've amended the LevelEditorActions to disable the preview modes when no appropriate shader platform is available.
Change 3721244 by Mark.Satterthwaite
Fix incorrect enum handling for Metal features due to overflow.
#jira UE-51643
Change 3721338 by Mark.Satterthwaite
MIssing file from 3721232
Change 3721818 by Mark.Satterthwaite
Fix the Intel vector-array-dereference workaround so that it doesn't cause the AMD compiler to explode instead.
Change 3722139 by Arne.Schober
DR - [UE-51602] -Fixed Typo that accidently bound the LightingInstancebuffer to the Transform one
#jira UE-51602
Change 3722165 by Rolando.Caloca
DR - Default -opengl to GL4
Change 3722682 by Guillaume.Abadie
Fixes wrong clear color in SSR important for VR that has a HMD mesh.
Change 3722766 by Rolando.Caloca
DR - Fix static analysis
Change 3722943 by Mark.Satterthwaite
Disable the METAL_SM5_NOTESS shader platform again - I can workaround the Nvidia pipeline state compiler crash by changing the buffer address space from "constant" to "device" as we're managing to confuse the poor thing. This won't materially affect AMD or Intel as they don't care much about this, but to limit performance issues on Nvidia we only need to do this for Tessellation Compute shaders.
Change 3723100 by Mark.Satterthwaite
Apparently users like enabling Metal shader standards that won't work on their current OS, so don't display those that aren't going to work & display an error message before quitting rather than crashing when trying to load a project that tries to use an incompatible shader version.
Change 3723121 by Mark.Satterthwaite
Fix build error.
Change 3723245 by Daniel.Wright
Ensure for when a reflection capture upload fails due to incorrect lighting scenario level handling
Reflection captures with no data use an array index of 0, instead of -1. Might avoid reading uninitialized memory on PS4.
Change 3723387 by Arne.Schober
DR - Metal already applies the instance and vertexoffset in the shader
Change 3723393 by Mark.Satterthwaite
More fixes to the mtlpp compiler test application.
Change 3725258 by Guillaume.Abadie
Improves fast TAA upsample shader permutation by 15% on console.
Change 3725555 by Chris.Bunner
[Dupliate] CL 3725548 - Fixed invalid screenpercentage value in VehicleGame sample (was setting -1 but should default to 100). This has always been broken but was recently exposed by CL 3686200.
Change 3726845 by Guillaume.Abadie
Exposes SvPosition to material through screen position material expression, so that material no longer have SvPosition * InvViewSize * ViewSize precision loss.
#jira UE-51428
Change 3728014 by Guillaume.Abadie
Uses ScreenPosition material expression's PixelPosition pin in existing engine functions to improve precision.
#jira UE-51428
Change 3728053 by Richard.Wallis
Duplicate CL 3727958: Crash fix when using shared material libraries. Initial shader code library offset is not zero'd so all entry offsets were garbage.
Change 3728339 by Guillaume.Abadie
Adds project setting for TAA upample, and officialises TAA upsampling CVar.
Change 3728549 by Guillaume.Abadie
CsvProfiler is pretty cool, but even better with console autocompletion for lazy developers.
Change 3728752 by nick.bullard
Built and re-saved QA-MeshPaint
#jira UE-50978
Change 3728775 by Guillaume.Abadie
Implements r.DynamicRes.ChangePercentageThreshold to stabilize primary screen percentage.
Change 3729224 by Uriel.Doyon
Hidden levels now keep their last build data when using lighting scenarios.
Hidden levels don't affect the scene anymore volumetric lighting when not using lighting scenarios.
#jira UE-40454
#jira UE-38131
Change 3729243 by Marcus.Wassmer
Update Ansel to 1.4
#github 4159
#jira UE-51545
Change 3729325 by zachary.wilson
Adding indirect lighting to TM-LightingChannels
#jira UE-47069
Change 3729485 by zachary.wilson
Fixing ambient occlusion bias on QA-LightsStationary. Removed global PPV with bad settings, also fixed the shadow on the roof.
#jira UE-50972
Change 3729629 by Uriel.Doyon
Fixed crash when using debug view modes.
Fixed d3ddebug error when clearing quad overdraw buffer.
#jira UE-51836
Change 3730053 by Guillaume.Abadie
Allows edititing of AScreenshotFunctionalTestBase::ScreenshotCamera.
Change 3730308 by Guillaume.Abadie
Disables TAA upsample on buffer visualization, and disallow screen percentage preview in editor viewport with any buffer visualization.
Change 3730355 by Guillaume.Abadie
Sacrifices consistency for good cvar name for TAA upsample.
Change 3731403 by Daniel.Wright
Reduced slider for ContactShadowLength to .1, algorithm produces poor results with larger values.
Change 3731404 by Daniel.Wright
Checkpoint for ScreenShadowMaskTexture, allowing 'vis ScreenShadowMaskTexture'
Change 3731407 by Daniel.Wright
Must opt-in for FDistanceFieldSceneData::VerifyIntegrity
Change 3731517 by Guillaume.Abadie
Freezes dynamic resolution heuristic when doing pause.
Change 3732168 by Guillaume.Abadie
Renames TAA upsampling cvar.
Change 3732295 by Guillaume.Abadie
Lets the scene texture's size and texel size return the correct sizes after TAA upsample.
Change 3732313 by Guillaume.Abadie
Implements SceneTexture material expressions' automated tests.
Change 3734928 by Guillaume.Abadie
Adds panic mode when the last N frames are over budget to the dynamic resolution heuristic.
Change 3735966 by Ryan.Vance
Fixing mac steamvr compile issue. Missed a few lines in the refactor because mac.
Change 3736104 by Guillaume.Abadie
Removes FSceneViewInitOptions::bDisableGameScreenPercentage brought by 4.18, that new screen percentage API do in a better way.
Change 3736346 by Daniel.Wright
Volumetric fog is always interpolated in the pixel shader, since per-vertex interpolation gives consistently poor results. Fixes Volumetric Fog on opaque in Forward, and on transparent in Deferred.
Forward shading: per-pixel height fog is always done in the base pass, to work with MSAA correctly
Change 3736348 by Daniel.Wright
Forward shadowing of directional light for translucency
* Static shadowing and CSM supported with minimal filtering (1 PCF)
* Deferred renderer: affects translucency using 'Surface ForwardShading' lighting mode. Forward renderer: affects all translucency.
Change 3736650 by Rolando.Caloca
DR - vk - # of desc pools
Change 3737985 by Guillaume.Abadie
Fixes pixel inspector with primary and secondary screen percentage.
Change 3738638 by Michael.Lentine
Compile fix due to unclear operator precendence.
Change 3739417 by Daniel.Wright
Fixed a few issues with irradiance cache visualization
Change 3739447 by Daniel.Wright
Skip forward static shadowing in projects with static lighting disabled
Change 3739595 by Daniel.Wright
ConditionalPostLoad DistanceFieldReplacementMesh. Should fix a crash on load when static mesh derived data is being rebuilt, and the DistanceFieldReplacementMesh is in use.
Change 3739598 by Daniel.Wright
Disable capsules shadows on lowest shadow quality
Change 3739611 by Daniel.Wright
Added r.CapsuleDirectShadows and r.CapsuleIndirectShadows for more specific scalability control over capsule shadow features
New Lighting Feature show flags for RTDF shadows and Capsule Shadows
Change 3740516 by Guillaume.Abadie
Fixes VR editor rendering only on eye with TAA upsample.
#jira UE-52016
Change 3740580 by Guillaume.Abadie
Fixes chromatic aberration with TAA upsample and multiple view rendering.
#jira UE-51993
Change 3740588 by Guillaume.Abadie
Gives to FXAA a more explicit draw event name for easier UDN support.
Change 3740845 by Michael.Lentine
Fix shipping build.
Change 3740903 by Guillaume.Abadie
Disables dynamic resolution threading outliers detection by default and includes editor UI GPU cost within dynamic resolution's begin/end frame events for better reliability of timestamp query based dynamic res in editor.
Change 3741355 by Daniel.Wright
Normalize planar reflection plane - fixes crash when scaling a BP with a planar reflection component
Change 3741357 by Daniel.Wright
More info on volumetric lightmap import failure
Change 3742535 by Ryan.Vance
Fix for view rect changes.
Change 3743282 by Guillaume.Abadie
Fixes a bug in dynamic resolution heuristic's outlier detection that was preventing the over budget panic to react.
Change 3743559 by Michael.Lentine
Port Siren changes for recompute tangents. This adds recompute tangents for cloth as well as the ability for recompute tangents to work across seams where vertices are duplicated.
Change 3743679 by Guillaume.Abadie
Cherry-pick 3743621: Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.
#jira UE-51569
Change 3743906 by Ryan.Brucks
BlueprintMaterialAndTextureNodes Plugin: Fix for clamping sampled HDR render target values by setting ERangeCompressionMode in the FReadSurfaceDataFlags to RCM_MinMax
Change 3744096 by Ryan.Brucks
BlueprintMaterialAndTextureNodes Plugin: removed Mip option from Texture2D_SampleUV_EditorOnly for now since reads from source data cannot access mips and it can be misleading.
Change 3744253 by Guillaume.Abadie
Fixes merge collisions of debug canvas rendering with High DPI, fixes stat unit on high DPI monitors, and fixes secondary screen percentages.
Change 3744953 by Chris.Bunner
Crash workaround.
Change 3745628 by Marcus.Wassmer
Temporarily disable recalctangent normal-smoothing
#jira UE-52166
Change 3745942 by Guillaume.Abadie
Fixes a todo in FCommonViewportClient
Change 3746005 by Guillaume.Abadie
Fixes stat UnitGraph on high DPI monitor.
Change 3746029 by Guillaume.Abadie
Oups.... Fix compilation. :D
Change 3748322 by Guillaume.Abadie
Shows dynamic resolution's primary screen percentage on stat unit/unitgraph console commands.
Change 3748346 by Chris.Bunner
Potential static analysis fix.
Change 3748349 by Chris.Bunner
Mac feature support flag fix on versions < 10.30.
Change 3749336 by Guillaume.Abadie
Fixes some spelling mistakes in dynamic resolution cvars. Thanks Daniel!
Change 3749374 by Guillaume.Abadie
Adds a black background on the stat unitgraph so timing curves can be seen no matter the content.
Change 3749437 by Guillaume.Abadie
Final UI polish up for `stat unitgraph`
Change 3749719 by Guillaume.Abadie
Fixes a crash when changing r.DynamicRes.MaxScreenPercentage below current screen percentage.
Change 3750243 by Chris.Bunner
Increasing controller's automated test timeout to allow for slower machines to complete the longest tests.
#jira UE-48494, UE-51907
Change 3750728 by Guillaume.Abadie
Fixes merge collision in chromatic aberration.
#jira UE-52282
Change 3750791 by Guillaume.Abadie
Fixes chromatic baerration R and G channel swap.
Change 3751246 by Guillaume.Abadie
Bypasses screen percentage apply with mobile LDR rendering.
#jira UE-52089
Change 3752624 by Guillaume.Abadie
Simplies dyn res state's event interface to a single virtual method.
Change 3753766 by Chris.Bunner
Rebuilt volumetric baked lighting test map and updated screenshots.
#jira UE-52322
Change 3755108 by Guillaume.Abadie
Fixes a bug where default dynamic resolution state was created at startup of server build.
#jira UE-52345
Change 3755267 by Mark.Satterthwaite
Fix condition controlling which features are enabled when iOS >= 10.3 - it wasn't working for iOS 11+ which was causing all kinds of problems.
#jira UE-52301
Change 3755811 by Chris.Bunner
Disable some new logging that was causing a stack overflow during EnginePreInit.
#jira UE-52345
Change 3756983 by Mark.Satterthwaite
Prevent different versions of metal_stdlib/ue4_stdlib from causing shader compilation failures due to a time-stamp mismatch between the local file & the PCH. This can happen when working with Xcode Beta releases that change the modification date, but not the content or compiler version, amongst other possibilities.
#jira UE-52073
Change 3757156 by Guillaume.Abadie
Fixes editor compositing with wireframe rendering.
#jira UE-52017
Change 3757435 by Mark.Satterthwaite
Workaround a bug in the MobileSceneCaptureRendering where it was copying the ViewInfo's ViewRect prior to it being configured by the mobile renderer.
#jira UE-52327
Change 3757523 by Uriel.Doyon
Fixed d3ddebug warning with unused inputs
Change 3758318 by Guillaume.Abadie
Cleaner fix for mobile scene captures.
#jira UE-52327
Change 3759541 by Mark.Satterthwaite
Don't enable Manual Vertex Fetch on iOS Metal for the moment as it isn't well tested there and will probably need further changes.
Change 3695086 by Guillaume.Abadie
Render thread dynamic resolution & TAA upsample.
Merging //Tasks/UE4/Dev-DynamicRes/...@3694528 to //UE4/Dev-Rendering/...
New features breakdown:
- TAA upsample compute shader that accepts screen percentage from 50% to 200%, with a faster shader permutation for consoles;
- Material no longer have to deal with BufferUV, and post process material after TAA upsample can sample any scene buffer seamlessly;
- Material texture per view mip bias to produce sharper images with TAA upsample;
- Render thread dynamic resolution heuristic is fully plugable by game code (for VR plugin specific heuristics);
- Dynamic resolution in PIE and game builds;
- Busy time queries in the RHI to be implemented on the different platforms so that the dynamic resolution heuristic can exactly associate GPU frame times with screen percentages in its history;
- Game user settings to enable/disable dynamic resolution;
- In editor viewport screen percentage config to previsualise and test content at different screen percentage.
Fixes:
- Various fixes for algorithms producing different outputs at different screen percentage.
- Various fixes for algorithms sampling outside view rects.
Refactors:
- TAA shader
- Moved some screen percentage specific members from FSceneView to FViewInfo for thread race bullet proofing.
Aknowledgements:
- VR plugins are broken
- DFAO still have some artifacts
Premiliminary review: Marcus.Wassmer
Review for TAA refactor and TAA upsample shader: Brian.Karis
Review for dynamic resolution: Brian.Karis
[CL 3761165 by Chris Bunner in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3536809 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 1.
Change 3536814 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 2.
Change 3596207 by Thomas.Sarkanen
Copying //Tasks/UE4/Dev-UEAP-29-PhATUpgrade to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3590250
PhAT Upgrade
#jira UEAP-29 - New PhysicsAsset editor
Changelists from task stream:
Change 3380649 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Initial pass at allowing viewports to be extended more easily, still plenty TOD, but just unearthing this old shelf and getting it working.
This gets the Persona skeleton tree and viewport into PhAT, without any PhAT functionality added.
Change 3380685 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renaming PhAT files to PhysicsAssetEditor
Change 3380749 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rename PhAT -> PhysicsAssetEditor
Change 3380832 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up PhAT to Physics Asset Editor
Change 3380884 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Reverted some over-zealous renaming
Change 3380970 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked ISkeletonTreeBuilder interface to make way for actually making a derived class of it
Added the ability to hide filter menus to skeleton tree
Change 3381017 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added new physics asset skeleton tree builder
Change 3384407 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree extensions to support physics assets
Only started this work - still much to do
Change 3384460 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged persona viewport menus
Change 3392222 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed body/constraint modes.
Added graph editor
Added edit mode - moved viewport client code over
Got PhAT skel mesh rendering in viewport
Change 3392268 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Increased hit proxy priority to improve selection
Change 3401648 on 2017/04/20 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree gets bodies & shapes back.
Selection works in graph, now displaying the correct constraint in the detials panel. Still need to add selection from viewport.
Added multi-select to bone proxy customization
Re-tweaked editor layout
Change 3403701 on 2017/04/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection sync work.
Customization of anim viewport menus.
Context menus for physics asset items, as well as masking of various context menu items via settings.
Change 3405246 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Started more work on viewport menu extensions, but need to refactor the toolbar system to use actual multiboxes. Up next!
Change 3405274 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
More viewport menu fixups (plus deleting duplicate functionality).
Change 3409155 on 2017/04/26 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Got simulation working again - as we switched to the debug skel mesh comp, the normal tick path didnt work for post-blend physics (it tried to flip the buffer too early).
Also tweaked debug skel mesh comp root motion consumption code to not reset transfor every frame if we are not using root motion.
Cleaned up unused files & code
Change 3410814 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Allow extensibility of viewport menu bars
Slate changes:
Allow menu bars to optionally specify an icon to use. This is intended to allow us to move viewport tool/menu bars over to use multibox, with all the attendant features and extension points.
Allow menu bars to optionally invert-on-hover.
Allow styling of menus to affect closed appearance of menu header. Previously only NoBorder was used.
Adjusted core styling of menu bar elements.
Other changes:
Adjusted padding for various UI elements to preserve previoud behavior.
Adjusted SAnimViewportToolbar to use the new menu bar builder.
Exposed SEditorViewportViewMenu so that it can be used in a standard menu bar.
Change 3410816 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added extension point to viewport menu bar
Change 3410818 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Getting sim working again
Moved over to using preview instance so we share functionality with Persona editors.
Added time dilation options to persona preview scene.
Removed PhAT specific recording functionality (it is in the viewport now).
Change 3410840 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Recreate physics state on edit, not sim start
This allows velocity to be inherited when simulation is started
Change 3410863 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moving viewport to continually-invalidated one like animation editors
Fixed crash in non-extended viewport toolbars
Change 3410936 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bodies start off non-expanded
Selection now synced between viewport and graph
Constraint selection in graph not works on the first try
Change 3410943 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added missing icon
Change 3410966 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed shape listing from graph nodes
Change 3411013 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Double click on body node recenters graph
Fixed graph disappearing on right-click
Change 3411111 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented cursor getting swallowed in sim mode
Change 3411126 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed overlapping text
Change 3411213 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Node layout now takes dimensions into account
Change 3411320 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash opening Persona editors
Renamed file
Change 3411327 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to profiles menu
Change 3420822 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Profiles can now be edited in their own details panel
Existing customizations folded into the new panel
Tweaks to toolbar
Added the ability for the persona details panel to have extra top/bottom content added
Change 3420832 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Add profile control to context menus
Also delete old unused code
Change 3422651 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Toolbar trimmed down & re-ordered
Body/constraint ops moved to context menus
Apply physmat now a context-menu option with an asset picker
Change 3422654 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed extra warning dialog when auto-creating bodies
Changed title of new asset dialog to "auto-create bodies"
Change 3422680 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix "simulate selected"
As we dont re-init the physics state each time we start simulating, our tweaked physics type was never applied. We now manually do this in the editor.
Change 3422937 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Replaced EKCollisionPrimitiveType with EAggCollisionShape::Type
Fixed up selection so body selection works & tree seleciton is properly synced with viewport
Added recursion guard to selection delegate handlers.
Removed vestigial instance property editing support (no longer needed).
Removed unused old tree support code
Change 3423034 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added constraints to tree
Change 3423318 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix bone proxiies stopping updating after initial viewport selection
Change 3424993 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up selection issues when creating new bodies
Added constraint context menu
Change 3424998 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved icons to central location
Change 3425445 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Customized filtering of the skeleton tree
Hide constraints by defualt
Added option to hide parents when filtering (so the vertical space is nto wasted, but some idea of hierarchy is preserved).
BREAKING CHANGE: changed skeleton tree filtering API to add args & removed bWillFilter bool.
Change 3425488 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3425303
Change 3427886 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved physics sim options to viewport menu (so seleciton changing is not required to change them)
Moved physics-related rendering options to show menu
We no longer switch to sim options when nothing is selected.
During simulation we now disable the details panel
Constraint scaling now works correctly (rather than just scaling the screen size limit that axes only are rendered)
Change 3428040 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Small fixes based on feedback:
Exposed Mirror tool to menus
Exposed constraint quick actions to menus
Added edit condition to Position & Velocity strength for physical animation
Fixed up some tooltips & display names
Change 3428143 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Defaulted to constraints as points
Change 3428216 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Request from Nick D:
Update in-level primitive transforms immediately, rather than on mouse up. We only do this for non-convex primitives however, to avoid re-cooking meshes.
Change 3430326 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to rendering of constraints and shapes to allow for better seleciton & interaction with editor widgets.
Slightly increased point-constraint rendering size and added crosshair cursor to constraints
Change 3430327 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed object-reuse issue in skeleton tree items with sanem names (use a GUID instead)
Change 3430391 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed duplicate time dilation (can just use viewport menu!)
Change 3430419 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge
Prevent crash by attaching to root component in the correct place
Add IWYU include for TArrayView
Remove more unused code
Change 3430443 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix constraint/body selection one final time
Move constraint drawing to SDPG_World (apart from point mode)
Remove depth offset in material
Change 3430495 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enabling/disabling collision between bodies is now clearer
Menu items are now enabled and disabled correctly depending on collision state
Tooltip reflects what actually gets done when the operation is enacted
Also corrected a few functions that still reference constraint & body mode
Change 3430553 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added enable/disable collision with all
Change 3432386 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code graph items based on current profile
Change 3432401 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code tree items too
Change 3432418 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bone selection & manipulation now possible - allows for pose setup before simulation
Item expansion now expands leaf nodes when selecting - helps with constraint selection etc.
Change 3432427 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix compile error
Color code according to simulated/kinematic status
Change 3432428 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
File i missed
Change 3432540 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added physics asset factory so physics assets can be created form the "new asset" menu.
Skeletal mesh is picked then a defualt asset is generated
Change 3432556 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Improve interactions with bones & bodies
Clear bone selection when selecting bodies/constraints
Always hide gizmo in simulate
Change 3432703 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused selection lock feature
Fixed selection working incorrectly with details panel closed
Change 3434710 on 2017/05/11 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection improvements
Multiselect in tree now only selects non-collapsed tree elements
Selection API revamped in shared data, so multiselect of constraints can work correctly (they appear more than once in the tree, so the preivous single-point-of-access API was insufficent).
Change 3489030 on 2017/06/14 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3488994
Change 3491459 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge issues
Change 3491486 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Simulation now works in a simlar way to the level editor
Only on 'simulate' button, which controls repeating the last simulation (be it selected or not). Options are on a dropdown.
Change 3491529 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed selection color of wireframe drawing (this broke ages ago!)
Fixed initialized environment color/intensity
Change 3491537 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked materials so they dont repend on seperate translucency (which is optional, and disabled currently)
Change 3491791 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when simulating selected new bodies
Make sure we recreate physics state appropriately (it used to be done on simulation start, so wasnt needed each time)
Change 3494359 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Select all is now a menu option
Context menu pops when right-clicking nothing now too
Menu no longer grows enormous when multiple types of objects are selected
Change 3494373 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enlarged constraint rendering size
Show constraints (rather than points) by default
Change 3511708 on 2017/06/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Assets now appear in the asset family shortcut bar
Physics Assets now render thumbnails
Skeleton tree can now work in 'picker' mode
Constraints can now be created manually in the graph, tree and viewport
Fixed double-click and mousewheel not working right sometimes
Change 3513121 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed clicks incorrectly selecting bones in simulate mode
Change 3513160 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Asset config is now loaded/saved
Fixed antoher corner case with viewport clicks in sim
Change 3513540 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved body creation params over to a details panel & settings object
Moved initial creation dialog over to use the new system too
Change 3513591 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renamed shapes and constraints in the tree view
Change 3513752 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Constraints are now not filtered by default
Change 3513797 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selecting constraints now shows them (and the bodies involved) in the graph
Change 3513859 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed "Show Kinematic Bodies"
We now always show kinematic status in simulate mode
Change 3515732 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
PhAT rendering settings are now persisted across sessions.
Access to sim/edit settings is now not gated on state of the editor. Sim/edit settings are always both available.
Added editable opacity to collision rendering.
Change 3515735 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
New materials with opacity parameter
Change 3515757 on 2017/06/29 by thomas.sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Re-saved materials
Change 3515759 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added ability to only show selected bodies as solid
Change 3515812 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix focus 'F' shortcut sometimes not working
Change 3515984 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix a bunch of selection issues with the graph not keeping in sync
Change 3517456 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3516853
Change 3517514 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed disappearing convex meshes on simulate
Also fixes crash in thumbnail rendering
Change 3517556 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled selection on mesh. Fixes selection issues.
Also made the hit proxy use a crosshair when over bodies, for easier selection
Change 3517642 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added body/body collision buttons back to the main toolbar
Fixed solid body drawing using the wrong material when no bodies are selected
Change 3517828 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix delete shortcut not working when tree is focused
Change 3517927 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Integrated per-bone primitive generation with the new tab method
Removed context menu item for bones (fixes duplicate popup)
Fixed undo/redo not working for regenerating all bodies
Change 3519931 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled body regeneration when simulation is running
Fixed up tab icons
Change 3519978 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Preview mesh is now set like every other Persona editor (via toolbar picker of via preview scene settings)
Animation picker removed from toolbar (we use the preview scene settings for this now)
Fixed profiles tab icon
Change 3519982 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Show attached assets in tree
Change 3519995 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix broken multi-selection of bone proxies
Change 3532799 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed code that prevented parts of the UI (like simulation) from working in PIE
Removed graph overlays & added "PHYSICS" label
Change 3532837 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed arrows from graph
Fixed dragging off constraints/input pins/bodies in constraint-created graphs
Constraint names now include both bodies
Change 3532880 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched from colors to icons in the skeleton tree
Removed bold fonts
Change 3532907 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Layout fixes
Added border around generate button in tools panel
Removed skeleton tree header in contexts where it is not needed
Change 3532932 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added slow task dialog for body generation
Change 3532992 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged context menus to be not so huge
Change 3533134 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged menus some more
Change 3533135 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Colorized details customization of swing/twist items
Change 3533174 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Auto-open assets when creating from skeletal mesh
Tweaked tooltip on suggestion from Nick D
Change 3535652 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed mirroring changes not showing up straight away
Change 3535731 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved over to Persona-style floor adjustment
Change 3539689 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked tooltips for filtering items
Change 3539693 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added "deselect all" option (Esc)
Change 3539731 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Graph selection tweaks
Selected bodies in the viewport/tree are now also selected in the graph.
Selection outline is now matched to the graph outline instead of using default outline.
Pin allocation no longer happens twice
Change 3539750 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched simulate shortcut to Alt+Enter
Avoids conflict with clobal PIS/SIE shortcuts
Change 3539933 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Minor body regeneration refactor
Label for tools tab button is dynamic depending on selection context
Generation setttings are now re-used by creation dialog too
Added in per-bone and per-body regeneration menu items. Bone regeneration now deletes the old body(s) instead of aborting
Change 3543884 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Resetting animation to default now correctly applies the animation
Change 3544101 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up physics asset editor's use of debug skel mesh component
This broke post-merge from Dev-AnimPhys.
Kinda hacky, but we need to double-flip the buffers in this case as we want to force non-threaded work AND also wait on the physics tick group to complete (to blend in physics).
This also requires making ShouldBlendPhysicsBones protected, otherwise the buffers are never flipped in the non=simulating case (before simulation is enabled in the physics asset editor).
Change 3547893 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved code to add/remove/assign/unassign profiles to details customization
Also allowed dupication again (via the menu)
Allows correct naming of new profiles as before (as this is handled in PostEdit)
#jira UE-47448 - Deleting profiles in Physics Asset Editor does not update the current profile
#jira UE-47514 - Unable to duplicate profiles in Physics Asset Editor
#jira UE-47384 - New profiles in Physics Asset Editor are all named the same
#jira UE-47375 - Physics Asset Editor 'None' current profile Delete option is available
#jira UE-47378 - Current Profile name boxes in Physics Asset Editor are size limited and overlap buttons if too long
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3547925 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented ctrl+selection of constraints from re-selecting
Avoided defered broadcast of seleciton event from the graph
#jira UE-47515 - Ctrl + click and Shift + click does not remove constraints from skeleton tree in Physics Asset Editor
Change 3550332 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed bodies incorrectly simulating outside of 'simulate' mode
Forced all bodies to be non-simulated when simulation is disabled.
Also removed non-functioning motor menu options & disabled more menu options when simulating
#jira UE-47579 - Entire mesh rotates uncontrollably after rotating a simulated body in Physics Asset Editor
Change 3550355 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when failing to create a physics asset with multi convex hull
#jira UE-47590 - Crash when New Physics Asset window is closed with no asset being created
Change 3558007 on 2017/07/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed typo that disabled editability of profile names incorrectly
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3566157 on 2017/08/01 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when opening a physics asset with a deleted preview skeletal mesh
Now assigns default mesh as before
If the mesh is then reset, the asset editor must be re-opened as the skeleton will have changed underneath it.
#jira UE-47918 - Crash when opening certain Physics Assets
Change 3568327 on 2017/08/02 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevent "set bodies below" from improperly enabling simulation on bodies
#jira UE-47752 - Set all bodies below to simulated causes the viewport to simulate those bodies immediately in Physics Asset Editor
Change 3570436 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics assets with simulated bodies no longer simulate when first opened
#jira UE-48000 - Physics assets with simulated bodies begin simulating when first opened
Change 3570470 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix excessive gravity crash when actors pop out of the world
Also restrict gravity to non NaN-causing levels.
#jira UE-48002 - Crash when mesh falls out of world due to high gravity simulation in Physics Asset Editor
Change 3570717 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3570581
Change 3570781 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix merge issues
Change 3587760 on 2017/08/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed delegate for skeleton tree context menu extension, now uses an empty section
Change 3589915 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added comments to bone proxy & physics asset editor shared data
Removed unused variables
Change 3589976 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed constraint 'all positions' rendering
Removed empty override of unregister tab spawners
Change 3589983 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when setting skeletal mesh
Toast is not displayed when the skeleton is changed as well as the skeletal mesh.
Toolkit was getting invalidated as setting the preview mesh to a different skeleton ends up restarting the sub-editor
#jira UE-48196 - Crash when changing preview mesh of Physics Asset and applying
Change 3589990 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics asset selection color now uses editor settings
Change 3589994 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused functions
Change 3589997 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Commented SetBodiesBelowPhysicsType as per code review
Change 3590007 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled physical material menu in simulate
Change 3590130 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused code
Commented a few functions
Re-instated preview mesh selection
Removed delegate allowing viewport client class creation
Change 3590154 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Remove unused code
Change 3590197 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3589965
Change 3590250 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup merge errors
Change 3596227 by Jonathan.Poncelet
Fixed physics substepping interpolation using the wrong starting value.
#jira UE-48150 Physics Substepping doesn't have the same effect from 4.15 to 4.16
Change 3596241 by Jonathan.Poncelet
Fixed cloth not being drawn correctly in the editor, due to bounds not being computed accurately.
#jira UE-48243 Clothing disappears during cloth paint mode once you navigate to a section far from the origin
Change 3596247 by Thomas.Sarkanen
Fixup CIS errors post PhAT Upgrade merge
Change 3596250 by Thomas.Sarkanen
More CIS fixes
Change 3596255 by Benn.Gallagher
Fixed compilation errors when nativizing animation blueprints that use subinstances
#jira UE-46522
Change 3596256 by Benn.Gallagher
Fixed orphaned sub anim instance pins hanging around
#jira UE-46545
Change 3596257 by Benn.Gallagher
Fixed skel surf particles being misplaced when clothing was active. And fixed particles spawning on disabled cloth proxy sections.
#jira UE-48045
Change 3596258 by Benn.Gallagher
Hide mass override when selecting skeletal meshes. Mass overrides are taken from physics asset and will be ignored on the component so it makes no sense to have this visible
#jira UE-47755
Change 3596259 by Benn.Gallagher
Fixed mismatch between paint values and view values for clothing tools
#jira UE-48110
Change 3596260 by Benn.Gallagher
Stopped property context menus killing the whole window stack when an item is clicked
#jira UE-48158
Change 3596261 by Thomas.Sarkanen
One last Mac CIS fix (hopefully)
Change 3596308 by Benn.Gallagher
Removed outdated references to APEX in clothing example map.
Change 3596360 by Martin.Wilson
Fixing inconsistent animation entries in blueprint context menu (displaying differently depending on whether the asset is loaded) + Cache correct tooltip when asset isn't loaded
#jira UE-48452
Change 3596459 by Benn.Gallagher
Fixed anim curves not correctly being updated to post process instances. Change made to curve update in Dev-General fixed main and sub instances but missed post process instances.
#jira UE-47567
Change 3596967 by Aaron.McLeran
Adding setting default reverb send level in audio settings.
Change 3596974 by Ethan.Geller
Merge in fix from Christopher Oliver
Change 3597243 by Aaron.McLeran
Checking in missing files.
Change 3597686 by Ethan.Geller
Fix warnings/errors from CL 3597452
Change 3597846 by Ethan.Geller
Fix errors, take 2
Change 3598290 by Ethan.Geller
Panning Angle Issue
Change 3598412 by Ethan.Geller
Change Core.h header to CoreMinimal.h, fix warnings
Change 3599797 by Jurre.deBaare
LODs from Merge Actor tool have bad normals
#jira UE-47129
#fix normals weren't wrong but user was complaining about the lightmap resolution behaviour, so added a new feature that calculates the lightmap resolution according to:
1) Summing all lightmap pixel counts for each mesh component being merged
2) Calculating fitting texture dimension by taking square root of the total pixels
Change 3599863 by Lina.Halper
PR #3919: rename flag 'DEPERCATED_PHYSBLEND_UPDATES_PHYSX' to 'DEPRECATED_PHYSBLEND_UPDATES_PHYSX' to fix the typo (Contributed by aziot)
Change 3599883 by Jurre.deBaare
HLOD: update outliner tooltip when UE docs arrive
#jira UE-20352
Change 3599944 by Martin.Wilson
Smart name refactor
- Remove guids entirely
- Remove automatic fix up
- Simplify smart name mapping container
- Make animations deterministic for cooking
#jira UEAP-264
Change 3600133 by Benn.Gallagher
Fixed crash shutting down editor with active cloth paint tab, as mode manager was being used unsafely.
#jira UE-48612
Change 3600166 by Benn.Gallagher
Fixed cloth paint gradient allowing invalid values
#jira UE-48114
Change 3600719 by Lina.Halper
PR #3894: PlayMontage node bug Fix (Contributed by ArCorvus)
Change 3601668 by Jurre.deBaare
Improve BlendSpace preview pin dragging controls
#fix Click and drag now also works for the preview pin which should allign it with other pins on the grid and makes the preview functionality more discoverable
#misc Also added tooltips on the grid to make the functionality more discoverable
#jira UE-43011
Change 3601669 by Jurre.deBaare
No easy way to tell which Blend Sample in the blend graph matches up to which Blend Sample in the Asset Details panel
#fix I've added the SampleIndex to the names to make it easier recognizing which one is which
#jira UE-46892
Change 3601731 by Benn.Gallagher
Fixed cloth paint falloff to actually calculate falloff, and take brush strength into account.
#jira UE-48329
Change 3601897 by Lina.Halper
fixing issue with sequencer reinitialization
#jira: UE-48556
Change 3602339 by Benn.Gallagher
Fixed comment/tooltip typo
Change 3602502 by Benn.Gallagher
Fixed clothing gradient tool renderer not showing selected points when camera was moving
#jira UE-48331
Change 3602664 by Ethan.Geller
Unshelved fixes from Dev-VR
Change 3602726 by Lina.Halper
Back out revision 3 from //UE4/Dev-AnimPhys/QAGame/QAGame.uproject
#jira: UE-48700
Change 3603011 by Lina.Halper
Fix build error
Change 3604139 by Benn.Gallagher
Restricted painter processing to no longer attempt painting while in simulation previews in cloth paint mode.
#jira UE-47960
Change 3604284 by Benn.Gallagher
Fixed crashes in physics asset editor and skeletal mesh editor when the preview scene clears out the preview mesh while clothing is running
#jira UE-48687
Change 3604612 by Lina.Halper
Fix curve issue from automation test
- It was actual bug.
Change 3604614 by Lina.Halper
- Fix crash with macro anim notify
- Make sure macro anim notify doesn't show up in the menu
#jira: UE-45036
Change 3604725 by Lina.Halper
fixed issue with opening state machine from anim graph
#jira: UE-48726
Change 3604971 by Aaron.McLeran
#jira UE-48738 Launching Oculus Rift without -VR plays audio in the oculus rift.
Bringing fix from 4.17 to Dev-AnimPhys
Change 3605787 by Aaron.McLeran
Adding ability to pass in an optional owner in PlaySound2D and PlaySoundAtLocation BP calls
- This is necessary in order to use the sound concurrency "limit by owner" feature
Change 3606851 by Jurre.deBaare
UE4Editor Static Analysis Win64 - Warning fix
Change 3607022 by Lina.Halper
Fix static analysis warning
Change 3607229 by Jurre.deBaare
RemoveAllCurveData should not allow removing data from the Skeleton
#jira UE-48107
Change 3607660 by Martin.Wilson
Live link client can run in cooked builds too
#jira UEAP-306
Change 3607668 by Ethan.Geller
#jira UE-48792 fix null dereference case in audiodevice.cpp
Change 3607734 by Lina.Halper
LOD linking to curve
- consolidated to one param - curve eval option
- for long time, looking at why morphtarget wasn't working on LOD 1, later realized it was due to simplified :(
- fixed to make sure param to clear is always checking with default value - this is correct behavior and it's not too bad for perf because internally the default value is also in the TMap
- flipped meaning to align with bAllowCurveEvaluation
- also fixed issue with orion cooking - where transform curves are added as normal curves
#jira: UE-37996, UE-48782
Change 3607859 by Martin.Wilson
Missed files from live link editor checkin
Change 3607958 by Martin.Wilson
Redo Jurre's changes from CL 3607229 (were removed by CL 3607734)
Change 3608566 by Ethan.Geller
change include to avoid header conflicts on Linux
Change 3609074 by Ethan.Geller
Take 2: Fix capitalization on include, fix Linux build.
Change 3610024 by Lina.Halper
Fix issue with material editor crashing due to missing load module of AdvancedPreviewScene
- we used to load advanced preview setting by persona module
- this has been moved to persona tool kit, and now all other modules are crashing
- If we want to do it for tool kit, we have to make sure all other editor's loading should change also.
#jira: UE-48809
Change 3610081 by Jurre.deBaare
Animations can't be set on blend samples from the dropdown
#fix Skeleton asset registry tag now includes 'AssetTypeName' PathToAsset, so replacing compare with contains
#jira UE-48746
Change 3610088 by Jurre.deBaare
Editor crashes if you CtrlZ several times after adding animations to a 1D blendspace
#fix removed the hacky OnObjectPropertyChanged and tied the refresh into propertyhandles instead
#misc found out of sync widget values due to incorrect encapsulation inside of lambdas
#jira UE-48741
Change 3610862 by Ethan.Geller
Fix submix effects for situations where number of input channels does not equal output channels
Change 3611346 by Aaron.McLeran
Using audio thread platform affinity mask for audio render thread.
Change 3613297 by Ethan.Geller
Simple delay submix
Change 3614435 by Martin.Wilson
CIS fix
Change 3614482 by Martin.Wilson
Store root motion on anim instance instead of proxy to avoid thread safety stalls
#jira UE-46896
Change 3614483 by Martin.Wilson
Evaluate curves in anim offsets
#jira UE-47119
Change 3614495 by Jurre.deBaare
Reimport alembic file with new source option does not automatically tick any tracks
#fix If no tracks are set to import, reset them all to do so (we're assuming here the user is importing something completely different, and we wouldn't want her to import an empty animation either)
#jira UE-46141
Change 3614645 by Thomas.Sarkanen
Fixed physics assets not simulating when BlockAll was globally overridden
Persona viewport was overriding the collision profile back to BlockAll, which projects can override. Setting to the internal PhysicsActor profile prevents this, as it used to in PhAT
#jira UE-48591 - Physics assets not simulating correctly in Orion
Change 3614683 by Lina.Halper
Fixed crash when modifying default physicsasset
#jira: UE-48844
Change 3614721 by Jurre.deBaare
Vertex painting on skeletal meshes bound by physics asset
#fix Now try and find intersecting triangle if we do hit the mesh bounds, but not any physics bodies
#jira UE-48004
Change 3614730 by Thomas.Sarkanen
Fixed crash when regenerating multi convex hulls from zero-vert bones
We handled this in the single convex hull case, but multi did not.
#jira UE-48780 - Editor crashes if you regenerate a box body to a complex hull body
Change 3614763 by Jurre.deBaare
Moving over:
HLOD crash when dragging and dropping actors into their own cluster in the HLOD outliner - ALODActor
#jira UE-48249
#fix ensure that we nullptr check the static mesh as a LODActor can be reset to have a null static mesh
Change 3615029 by Lina.Halper
Fix issue with highlight
#jira: UE-48855
Change 3617593 by Thomas.Sarkanen
Fixed crash when regenerating large amounts of bodies
We were overflowing the PhysX shape limit for aggregates - this refers to shapes, not bodies, it seems
#jira UE-48606 - Crash when adding new multi convex hull body to bone on skeleton that already has multi convex hull bodies
Change 3617609 by Jonathan.Poncelet
Fixed crash that could occur when opening a physics asset and deleting bones.
#jira UE-48971 Editor crashes if you clear a preview mesh on a physics asset and delete the bones when reopening it
Change 3617723 by Thomas.Sarkanen
Prevented actors & components of anim preview scenes (and the preview scenes themselves) from persisting after editors are shut down
Fixed up 2 locations where the persona toolkit was being held onto by a strong ptr (cloth paint and new PhAT). This should stop the preview scene from persisting.
Moved AddToRoot pattern used for anim preview scene to FGCObject
#jira UE-47227 - [CrashReport] UE4Editor_Persona!TSharedPtr<IEditableSkeleton,0>::ToSharedRef() [sharedpointer.h:794]
#jira UE-47717 - SkelMesh Editor creates preview World, but it never gets destroyed
Change 3617818 by Benn.Gallagher
Final v1 UX changes for clothing tool, and removed experimental flag
Change 3617937 by Jurre.deBaare
Default bounds for Alembic skel-mesh are too large
#fix bounds was initialised to zero and +-ed which meant that it would always include (0,0,0) and enlarge the bounds
#jira UE-47139
Change 3618187 by Ethan.Geller
Implement Audiomixer in HTML5
Change 3618188 by Lina.Halper
Fix issue with highlight in persona
#jira: UE-49020
Change 3618229 by Lina.Halper
Fix crash on exit when modify is causing it to serialize again in the middle of tear down
#jira: UE-48025
Change 3618248 by Lina.Halper
fix issue by workaround where clamp is not happening with allowspin is false
#jira: UE-47001
Change 3618289 by Aaron.McLeran
Removing audio format types we're not using for simplicity
Change 3618291 by Martin.Wilson
Fix duplicate of curve name appearing in list when renaming
#jira UE-49041
Change 3618390 by Aaron.McLeran
Removing a case for DTYPE_Xenon since this is never used.
Change 3618425 by Martin.Wilson
Keep notify UI up to data across multiple editors when adding notifies to an animation
#jira UE-48104
Change 3619023 by Aaron.McLeran
Removing DTYPE_Xenon from XAudio2Buffer.cpp since it's not used
Change 3619129 by Aaron.McLeran
Source bus feature.
- New architectural feature for audio mixer that allows audio sources to route to other audio sources.
- Buses can be routed to each other
- Buses have a duration which can be set in bus asset
- Buses can choose between mono and stereo channels
- Sources can send to buses and also toggle to *only* output to buses (and bypass submixing)
- Will allow persistent source effects on different source audio, while also maintaining 3d spatialization capabilities. Lots of future features will build on this change: 3d audio-volume-based submixing, sidechaining, environment reflections, diagetic microphones, etc.
- Some engine changes and optimizations:
- Format conversion to float is done in async workers for decode vs the render callback
- Procedural sound waves can opt to output only float vs int16 PCM data (avoids a format conversion in audio mixer)
- Apply master attenuation at the final output vs per-source
- Fixed code that performs fade in/fade out for smooth startup and shutdown.
- Moved FSourceParam to FParam into DSP utility so others can use it.
- Some engine fixes:
- Audio spat plugins that are external sends will not send audio to default/base submix. But will also allow their audio to be panned and sent to submix sends (e.g. reverb) so external HRTF rendering can also get reverb effects, etc.
- Fixed an issue with pause
- Fixed an issue with the final source buffer in a source voice not getting properly rendered and causing discontinuties
- Fixed an issue with WorldID not getting set for listeners
TODO:
- fill out source bus details panel customization to hide USoundBase params which aren't relevant to source buses
Change 3619159 by Ethan.Geller
#jira UE-48950 fix steam audio crash on editor exit
Change 3619555 by Jonathan.Poncelet
Fixed constraint debug drawing arrows in the physics asset editor being too large.
#jira UE-48863 Limited constraints and free constraints are much larger on screen
Change 3619574 by Thomas.Sarkanen
Fixed debug link for animation blueprints not persisting when changing preview mesh
Anim instance is no longer re-created all the time when setting skeletal mesh, so we need to re-init the preview instance and re-set the linked skeletal mesh component manually when the mesh changes.
#jira UE-46642 - Switching Preview mesh when you've selected an AnimBP breaks the link between the AnimBP and PIE session
Change 3619586 by Thomas.Sarkanen
Fixed physics asset shortcut not working correctly in certain circumstances
FBox was using uninitialized memory
#jira UE-49034 - Pressing F to focus on a physics body focuses on the area in between the root and the physics body and not the selected body
Change 3619640 by Thomas.Sarkanen
Assets with no preview mesh now no longer allow access to other skeleton's physics assets in their shortcut bars
Unified the skeleton/mesh search code between FPersonaAssetFamily and FPersonaToolkit, so they bot *look* for a compatible skeletal mesh if one was not found on the asset (but still dont set it automatically).
#jira UE-49038 - If you open a skeleton or an animation it won't open persona with the correct physics asset in the quick switch bar
Change 3619644 by James.Golding
Change FBodyInstance::InstanceBodyIndex back to int32 (need to support ISMC with many instances)
#jira UE-47652
Change 3619654 by Martin.Wilson
Fix removing a curve when it isn't used on any animations
#jira UE-49048
Change 3619771 by Thomas.Sarkanen
Make sure the physics asset editor floor has collision, regardless of what BlockAll does
#jira UE-49088 - PhysicsAsset Editor Floor should not depend on BlockAll config
Change 3619803 by Jonathan.Poncelet
Fixed localization warnings caused by duplicate keys.
#jira UE-48580 //UE4/Main: Step "Build Engine Localization" has completed with 4 Warnings
Change 3619813 by Jurre.deBaare
Baked bones using a pose animation are rotated in the wrong direction
#fix root bone transform wasn't being taken into account while generating final bone transforms
#misc added debug logging for future work
#jira UE-47362
Change 3619830 by Jurre.deBaare
Biased Texture Size option is not functioning when Merging Actors
#fix Fixed up material baking setup after refactoring, now sets correct texture sizes again according to texture sizing type, this will be removed in the long term anyhow
#misc Found a bug in material rendering if previous render size < current render size it would not set the viewport size/projection matrix correctly which broke the material bake
#jira UE-48108
Change 3619859 by Thomas.Sarkanen
Fixed HLOD selection sphere persisting on undo/redo
Removed HLOD selection actors when the outliner is refreshed
#jira UE-47032 - HLOD Cluster radius sphere remains in level if you move an actor in a cluster and then undo the movement.
Change 3619871 by Martin.Wilson
Calculate root motion over the correct segment times, not the track times
#jira UE-43719
Change 3619898 by Thomas.Sarkanen
Improve UI feedback around bounds/in-game bounds in animation editor viewports
Tooltip for in-game bounds is now more detailed
In-game bounds cannot be selected if bounds is not also selected
#jira UE-47958 - Bound vs In-game Bound in Viewport Show menu in Physics Asset Editor is confusing
Change 3619908 by Thomas.Sarkanen
Fixed tooltip for PhysicsType
#jira UE-48421 - Incorrect tooltip for Physics Type
Change 3620014 by Jurre.deBaare
Only the first mesh bake material property in the array can be set to diffuse, diffuse cannot be selected on the other array elements
#fix Changed the way the restriction is setup and retrieve the UMaterialOptions from the details view instead of GetDefault<>
#misc Also added more delegates to ensure the restriction is up to date
#jira UE-46980
Change 3620104 by Jurre.deBaare
HLOD doesn't support renaming in levels
#fix ensure that during renaming of UWorld we also rename the HLOD assets into their respective new HLOD package outer
#jira UE-48072
Change 3620151 by Thomas.Sarkanen
Undo/redo now correctly affects animation preview scene settings
Preview scene desc is now transactional & state is correctly set up on undo/redo according to the current preview scene desc
#jira UE-47816 - Undoing setting the animation mode to Refrence pose doesn't update the UI
Change 3620152 by Thomas.Sarkanen
Exposed LOD menu in PhAT
This allows auto LOD to be optionaly selected. It was hidden and we forced to LOD 0 before. We still default to forcing LOD 0 to preserve the old behavior.
#jira UE-47970 - LODs not working in Physics Asset Editor
Change 3620177 by Benn.Gallagher
PR #3696: Fix for USkinnedMeshComponent::GetCPUSkinnedVertices() (Contributed by Koderz)
Change 3620250 by Jurre.deBaare
HLOD assets left in HLOD folder when clusters are deleted
#fix some added lifetime management for HLOD assets, keeping list of 'stale' HLOD assets which if not Undo-ed will either be deleted when LODActor is saved, or marked PendingKill when LODActor is destroyed
#jira UE-47450
Change 3620273 by James.Golding
PR #3908: Removing duplicated forward declation (Contributed by celsodantas)
#jira UE-48530
Change 3620274 by James.Golding
PR #3909: Removing unnecessary conditional (Contributed by celsodantas)
#jira UE-48531
Change 3620275 by James.Golding
Add icon for destruction plugin
Change 3620401 by Ethan.Geller
#jira UE-47684 Remove SDL dependencies from Win64
Change 3620586 by Jurre.deBaare
Linux CIS fix
Change 3620660 by Martin.Wilson
Fixes for state machines getting reinitialized in situations that users don't want them to.
-Added option to state machine to allow it to skip reinitialization when it becomes relevant
-Added option to slot nodes to keep source pose relevant while montage slot is playing.
#jira UE-43578
Change 3620665 by Aaron.McLeran
Making source buses only show relevant source bus data.
- hiding sound wave categories that aren't relevant to source buses
Change 3621087 by Ethan.Geller
#jira UE-49000 implement device change listener to ensure we are properly handling when audio is disabled.
Change 3621144 by Aaron.McLeran
#jira UE-49147
#jira UE-49145
Fixing concurrency and volume stats
Change 3621148 by Aaron.McLeran
Fixing typo
Change 3621180 by Ethan.Geller
#jira UE-49151 Fix for browser preview on bus only sounds
Change 3621421 by Ethan.Geller
#jira UE-49165 Fix real time audio slider.
Change 3621604 by Ethan.Geller
#jira UE-44847 fix iOS panning algorithm on non-audio mixer
Change 3621626 by Lina.Halper
Fix issue with anim montage displaying when selecting animation
#jira: UE-48749
Change 3621813 by Thomas.Sarkanen
Fixing undo/redo of bone modifications in Physics Asset Editor (and others)
Bone proxy objects now get recycled (instead of the pool constantly growing) as their names are stable and unique.
Fixed broken skeleton tree RTTI (so selection persistance now works correctly on undo/redo again)
We no longer force a re-selection on phyiscs asset changes (the tree takes care of that anyway).
#jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work
Change 3621831 by Jurre.deBaare
Crash fix for Material baking when trying to analyse a MP_MAX material property
#jira UE-49172
Change 3621936 by Thomas.Sarkanen
Fixed CIS error from merge
Change 3621937 by Thomas.Sarkanen
Fix merge issue with API change in USynthComponent
Change 3622173 by Thomas.Sarkanen
Fixed ortho viewports being bright white in sub-editors
Preview scenes in general are responsible by default for the background color.
Advanced preview scenes now use background color from settings. Previously only te animation editors did this.
#jira UE-48841 - The background of the orthographic viewports is bright white
Change 3622730 by Ethan.Geller
#jira UE-49182 UE-49198 UE-49201 Fix for channel mismatch in procedural sound waves, remove singleton behavior for MMNotificationClient. CL by Aaron.McLeran
Change 3622759 by Ethan.Geller
#jira 49170 reduce static analysis warnings for audiodevice.cpp
Change 3622901 by Benn.Gallagher
Bumped PhysX DDC key after change in Orion caused verify failures
Change 3623458 by Aaron.McLeran
#jira UE-49204 Delores monologue cut short in Odin elevator
Change 3623667 by Aaron.McLeran
#jira UE-49204 UE-49243 Delores monologue cut short in Odin elevator
Change 3623752 by Aaron.McLeran
#jira UE-49247 Sound Source Bus Properties Are Inappropriate
Fixing issues with new source bus uobject so properties show up appropriately.
Change 3624058 by Ben.Marsh
Fix stale module being enumerated when running UE4Editor-Cmd.exe, causing warning when running incremental automated tests.
Module and version manifest filenames are derived from the executable filename, so when running the executable compiled for the console subsystem, we need to strip the -Cmd suffix from the executable name to find the correct path.
Change 3624193 by Ethan.Geller
#jira UE-49170 Static analysis fix, take 2
Change 3354003 by Thomas.Sarkanen
Back out changelist 3353914
Change 3355932 by Thomas.Sarkanen
Back out changelist 3354003
Reinstating merge from Main:
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3353839
Change 3477632 by Jurre.deBaare
Automated test content and ground truths for Actor Merging and Material baking functionality
Change 3491464 by Jurre.deBaare
Updated automation content for MergeActor behaviour
Change 3587878 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3587489
Change 3597452 by Ethan.Geller
#jira UEAP-304, UEAP-280, UEAP-281: Major structural refactor of Audio Plugin interfaces, Oculus Audio plugin, Steam Audio Plugin. Introduction of Sony Audio3D plugin.
Change 3602935 by Lina.Halper
Allow curve evaluation to be controlled by users
#jira: UE-46446
Change 3606120 by Ethan.Geller
Move Tap Delay Submix to Synthesis library, modify tap delay API
Change 3621830 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3621691
Change 3622807 by Ethan.Geller
#jira UE-49201 Fixing volume issues
Issue is that these platforms weren't using the proper public function and an audio mixer refactor changed how volume is calculated to seperate out distance attenuation vs other volume gains.
[CL 3624383 by Thomas Sarkanen in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]