2019-12-26 23:01:54 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
// ShaderCompileWorker.cpp : Defines the entry point for the console application.
//
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "CoreMinimal.h"
2014-03-14 14:13:41 -04:00
# include "RequiredProgramMainCPPInclude.h"
# include "ShaderCore.h"
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#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]
2018-01-20 11:19:29 -05:00
# include "HAL/ExceptionHandling.h"
# include "Interfaces/IShaderFormat.h"
# include "Interfaces/IShaderFormatModule.h"
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 4362408)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 4125165 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4124306 to //UE4/Dev-Console/...
Change 4136060 by Marcin.Undak
Editor: fixed device unclaiming
#jira UE-58464
Change 4190321 by Marcin.Undak
Linux: fixes for automation and RecordPerformance
#jira UE-61053
Change 4199010 by Marcin.Undak
Linux: remove unnecessary -g option
Change 4201876 by Marcin.Undak
First implementation of WebM media player for Windows and Linux
Change 4201922 by Marcin.Undak
Whitelisted WebMem plugin only for Windows and Linux
Change 4202203 by Marcin.Undak
WebM build fixes
Change 4223102 by Marcin.Undak
Vulkan: console commands for testing device lost
#jira UE-61789
Change 4225028 by Marcin.Undak
WebMMedia: disabled on Linux until fixed compilation issues
Change 4231444 by David.Harvey
UI - Fixing where the virtual cursor renders. It doesn't correctly take into account DPI scale, which isn't apparent except on the Xbox One.
Integrate as edit from CL 4166648.
#jira UE-62115
Change 4233057 by Marcin.Undak
TestPAL: added new test for string allocation size
Change 4234649 by Marcin.Undak
Linux: switched linux plaform to 16bit wide strings
Change 4235253 by Marcin.Undak
TestPAL: compilation fix for platforms that don't use DirectoryWatcher
Change 4235477 by Marcin.Undak
Linux: re-enabled WebMMedia plugin
Change 4242242 by Marcin.Undak
WebMMediaPlayer: implemented proper format retrieving. MediaFrameworkTest now works.
Change 4243321 by Marcin.Undak
WebMPlayer: static code analisys fix
Change 4243505 by Marcin.Undak
MediaFrameworkTest: added WebM video for testing
Change 4244646 by Marcin.Undak
WebMMedia: improved concurrency
Change 4244735 by Arciel.Rekman
Vulkan: skip unnecessary transitions properly (UE-62348, merge).
(Edigrating CL 4244274 from Release-4.20)
Change 4246685 by Arciel.Rekman
PhysX: remove Cygwin from %PATH% on Windows as it confuses CMake (UE-62326).
Change 4247808 by Marcin.Undak
WebMMediaPlayer: added support for seeking
Change 4254841 by Marcin.Undak
WebM: module dependencies fix
Change 4255124 by laz.matech
Updated UMG_AllPaletterWidgets' combo box to include options so that when selected, the dropdown presents 2 options instead of it appearing like it is broken
#jira none
Change 4256415 by Marcin.Undak
WebM: added missing editor module
Change 4256716 by Arciel.Rekman
Make SetReuseAddr() also set SO_REUSEPORT where available (UE-57076).
- Pull request #4617 by malavon.
#jira UE-57076
Change 4266049 by Marcin.Undak
Linux: UnrealLightmass and CrashReportClient compilation fixes
#jira UE-62521
#jira UE-62522
Change 4266678 by Arciel.Rekman
Merge speculative commit to get aligned pointer on mmap().
(Edigrating CL 4225330)
Change 4267998 by Anthony.Bills
Fix DBufferC clear color due to bad merge.
#jira UE-62649
Change 4269441 by Marcin.Undak
GenericPlatformStrings::VarArgs() implemented %-*s, %lu, %z, %h formatting
#jira UE-62582
Change 4269712 by Marcin.Undak
WebMMediaPlayer: removed LibSimpleWebM
Change 4272849 by Marcin.Undak
WebMMediaPlayer: fixed re-initialisation
Change 4277931 by Arciel.Rekman
Linux: switch to Vulkan by default (UE-62807).
- Default behavior: attempt Vulkan first, but in case of failure instead of quitting silently fall back to GL, unless -vulkan is passed.
- Forcing GL is still possible.
Change 4277965 by Arciel.Rekman
Fix standalone applications after the Vulkan switch.
Change 4277968 by Arciel.Rekman
Linux: make CrashReportClient headful (UE-14089).
- The -unattended flags keep even a headful CRC usable on the servers.
- ldd did not change. Need to check Localization stuff to see if there are any deployment concerns.
#jira UE-14089
Change 4279402 by Arciel.Rekman
Merge from 4.20.1: Vulkan: log validation errors. Also fix handling of some message types (UE-62628).
(Edigrating 4273516 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)
Change 4279992 by Marcin.Undak
Linux: fix SlateViewer compilation
#jira UE-62831
Change 4285613 by Arciel.Rekman
Vulkan: fix mismatched layout.
- I tested with RecordPerformance on InfiltratorDemo and haven't found any impact.
Change 4285622 by Arciel.Rekman
Merged from 4.20.2: Linux: do not refuse to start if system limits cannot be raised (UE-62515).
- Too aggressive behavior, which can break cooking for no valid reason.
- If a commandline argument is used, the engine will still treat inability to raise the limits as an error.
(Edigrating 4273547 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)
Change 4293083 by Arciel.Rekman
Merging //UE4/Main@4291654 to //UE4/Dev-Console
Change 4295297 by Marcin.Undak
Vulkan: temporary disable generic pipeline cache saving to prevent crashes
#jira UE-62848
Change 4300191 by Arciel.Rekman
Delete files added under lowercase directories.
Change 4300211 by Arciel.Rekman
Re-add files deleted in previous commit under camel-cased paths.
Change 4300895 by Arciel.Rekman
Linux: fix editor build
Change 4303543 by Ben.Marsh
Fix compile error for FortGPUTestBed.
Change 4305659 by Marcin.Undak
[Vulkan][Engine] Update the Vulkan RHI to obey r.VSync (and the vsync and novsync command-line arguments).
Change 4222769 by Jason.Stewart@Jason.Stewart_AMD_Dev_Rendering_threadripper-win10 on 2018/07/19 10:55:48
The original implementation ran into a latent thread hazard between the RHI thread and the rendering thread, where the rendering thread would try to use the backbuffer of the swap chain while the swap chain was being recreated (specifically after the swap chain recreation code had released and nulled out the back buffer, but before swap chain creation had actually happened to get a new back buffer). This implementation addresses that issue.
This is Tim's code. I'm just submitting it as Tim is currently out of office.
Change 4305661 by Marcin.Undak
Moved libwebm and libvpx inside WebMMediaPlayer directory
Change 4308659 by Marcin.Undak
Linux: fixed LLDB visualizers
#jira UE-52619
Change 4313650 by Marcin.Undak
WebMMediaPlayer: implemented looping
Change 4321713 by David.Harvey
removed hard-coded platform labels from device output log window in favour of ITargetPlatform::SupportsFeature + updated editor tooltip with correct platform list.
https://ec-01.epicgames.net/commander/link/jobDetails/jobs/8641984?
Change 4321942 by Brandon.Schaefer
Linux: Use the Target RHI list as the default ordering for which RHI is prefered
Also update the RHI list in the project settings for our default list
#jira UE-59487
#review-4316134 @Arciel.Rekman
Change 4322230 by Brandon.Schaefer
Treat %lf as %f in GenericWidePlatformString
#jira UE-62582
Change 4322392 by Brandon.Schaefer
Make sure our fmt size is large enough to check indexes
#jira none
Change 4322895 by Brandon.Schaefer
Actually get the current size of Src as it could have been moved down
#jira none
Change 4327866 by Brandon.Schaefer
Linux: Tell the platform misc what RHI we are using
#jira none
Change 4328926 by Brandon.Schaefer
Linux: Add haptic support for controllers
Github PR #4167 (thanks maiself!)
#jira UE-51681
Change 4328963 by Arciel.Rekman
TestPAL: improve the test by randomizing allocation size.
- The range will no longer be constrained to <=128KB at once, allocations can be as big as 16MB but they will unevenly distributed, with smaller sizes being more frequent.
Change 4329208 by Arciel.Rekman
hlslcc: suppressed benign compiler warning during the Linux build (UE-43988).
Change 4329283 by Arciel.Rekman
Linux: replace CachedOSPageAllocator with PooledVirtualMemoryAllocator for Linux.
For the explanation of FPooledVirtualMemoryAllocator, see PooledVirtualMemoryAllocator.h
For the details, test data and comparisons, message Arciel Rekman.
Relevant command line args added:
-vmapoolscale=<float> (defaults to 1.4)
-vmapoolevict
-novmapoolevict
By default, freed memory will not be evicted from RAM (unless running on a server)
Also changed:
- Removed the fixed-size pool previously used by Linux (and supporting machinery like scaling it on start)
- Replaced the way we manage free blocks from pointers to a bitmap to reduce memory footprint.
Change 4331946 by Luke.Thatcher
[CONSOLE] [^] (merging CL 4162064) Implement new thread heart beat clock to solve the suspend/resume problem across all platforms.
- The hang and hitch detectors now maintain their own clocks which are ticked by their respective threads.
- If the title is suspended, the ticking thread will stop and the clock will stop advancing. On resume, the maximum delta in the clock is clamped to a small value, so we ignore all the time the thread was not ticking for (i.e. the duration of the title being suspended).
- As such, we don't need any logic for handling PLM suspend/resume in the hang and hitch detectors, so this change removes that too.
#jira FORT-96886
Change 4331973 by Luke.Thatcher
[CONSOLE] [^] (merging CL 4183499) Add frame-present-based hang detection.
- RHIs call FThreadHeartBeat::PresentFrame() whenever they present a frame to the swap chain.
- These calls form a separate heartbeat from the thread-based ones, allowing the hang detector to fire if, for example, the game thread is stuck in an async loading loop and is ticking the game thread heartbeat, but making no progress.
- Also refactored ThreadHeartBeat.cpp to move hang detection logging into a FORCENOINLINE function. This will put OnHang and OnPresentHang at the top of the callstack in retail crash dumps, making the bucketing easier to recognise.
Change 4332200 by Luke.Thatcher
[CONSOLE] [+] (merging CL 4227517) Add PlatformDebugData to FShaderResource.
- We can use this to store platform specific shader symbols etc. The data gets serialized to the DDC and can be retrieved during a cook.
- Data is entirely discarded in cooked builds, and is a no-op on platforms which don't implement support for shader debug data.
- Bumped shader version to invalidate DDC keys.
Change 4332407 by Luke.Thatcher
[CONSOLE] [CORE] [!] (merging CL 4279686) Fixed unaligned integer load macro inconsistencies.
- Renamed PLATFORM_SUPPORTS_UNALIGNED_INT_LOADS to PLATFORM_SUPPORTS_UNALIGNED_LOADS
- Merged it with REQUIRES_ALIGNED_ACCESS and REQUIRES_ALIGNED_INT_ACCESS
- Fixed Linux platform which had both the old macros defined to 1, which is wrong because they are mutually exclusive.
Change 4333386 by Luke.Thatcher
[CONSOLE] [!] (merging CL 4317367) Fix compile error in AnimationCompression.h
Change 4334395 by Arciel.Rekman
Corrected PLATFORM_DESKTOP definition.
Change 4336190 by Anthony.Bills
(Original CL4314280) Use the debug file writer when using framepro. This buffers more data which should reduce stalls when writing out on certain platforms.
#jira none
Change 4336291 by Anthony.Bills
Use a clamped local clock when timing out the renderthread.
- This prevents suspend and resume issues on platforms where suspend events may not occur or the system clock is not set to the process time.
#jira none
Change 4336292 by Anthony.Bills
(Orignal CL 4195778) Fix printing of the hang detector multiplier and other logging.
"f" is the correct format specifier for a double.
#jira none
Change 4336307 by Anthony.Bills
(Orignal CL 4257875) Use the correct clock when printing the scoped hitch stat.
- Needs to be the internal FGameThreadHitchHeartBeat clock incase FPlatformTime::Seconds becomes out of sync with FrameStartTime.
#jira none
Change 4336321 by Anthony.Bills
(Original CL 4258186) Add GetNoInit function to FGameThreadHitchHeartBeat.
#jira none
Change 4336397 by Anthony.Bills
Fix redefinition of macro.
#jira none
Change 4336738 by Brandon.Schaefer
Linux: Add options for ASan, TSan, and UBSan
#jira UE-62784 UE-62803 UE-62804
Change 4336791 by Brandon.Schaefer
Linux: Add missing xml comments
#jira none
Change 4336957 by Joe.Barnes
Integrate as edit CL#4218145:
Convert some of our Vector macros to inline functions as thier names class with 3rd party functions.
#jira ue-61733
Change 4338228 by Arciel.Rekman
Switch to v12 Linux cross-toolchain (UE-63589).
#jira UE-63589
Change 4339195 by Ben.Woodhouse
Integrate-as-edit latest CSV profiler changes up to CL 4292187
Change 4339237 by Ben.Woodhouse
Integrate-as-edit CL 4226269
Add support for extern GPU stats, so we can use one stat across multiple CPPs
Fix the Forward rendering GPUProjection stat
Change 4339239 by Ben.Woodhouse
Integrate-as-edit CL 4292520
Support different sized buffers for FArchiveFileWriterGeneric per-platform so we can tune per-platform as needed.
No changes to existing defaults values of 1KB for read, 4KB for write:
#define PLATFORM_FILE_READER_BUFFER_SIZE 1024
#define PLATFORM_FILE_WRITER_BUFFER_SIZE 4096
#define PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE 4096
Change 4339241 by Ben.Woodhouse
Integrate-as-edit CL 4210462
Comment out an assert while I investigate properly (doesn't appear to be fatal)
Change 4339265 by Anthony.Bills
[Linux] Fix ContainerBuildThirdParty.sh to pick the first default interface.
#jira none
Change 4339274 by Anthony.Bills
[Linux] Cache the bundled toolchain when using git builds.
- Also will not attempt to download the toolchain if AutoSDK or Multiarch root are specified.
#jira UE-63394
Change 4339623 by Anthony.Bills
[Linux] Update native toolchain buildscript to support clang 6.0.1
- Main issue was due to libxml2 as an extra dependency of some test libraries, so needs to be disabled via DLLVM_ENABLE_LIBXML2.
#jira UE-63588
Change 4339685 by Anthony.Bills
[Linux] Update toolchain setup script to download v12 when it is available.
#jira UE-63588
Change 4339833 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4339548 to //UE4/Dev-Console/...
Change 4339843 by Ben.Woodhouse
Attempt to fix a weird possible bad merge issue
Change 4339890 by Ben.Woodhouse
Fix a build issue
#jira nojira
Change 4340314 by Anthony.Bills
Fix mesh decal rendering when write mask is enabled and no deferred decals are in the scene.
#jira UE-55159
Change 4341099 by Marcin.Undak
Mediashader fix
#jira UE-63650
Change 4341106 by Marcin.Undak
QAGame: added MediaPlayer for Linux test
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341107 by Marcin.Undak
WebMMediaPlayer: blacklist all not supported platforms
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341110 by Marcin.Undak
WebMMediaPlayer: enable for Unix platforms
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341804 by Luke.Thatcher
[CONSOLE] [!] Fix memory scribble in black depth texture cube on platforms with 16-bit depth.
- Original code was writing a FColor into the locked texture data, which causes a 2 byte scribble if the PF_ShadowDepth format is 16-bits.
[!] Also fixed GWhiteTextureCube being black. FColor::White is not a compile-time constant, so an initialization order problem meant the value of FColor::White is actually black when the GWhiteTextureCube constructor runs.
#jira none
Change 4342244 by Anthony.Bills
[Linux] Allow restarting the crashed application from the crash report client
#jira UE-62903
Change 4342636 by Brandon.Schaefer
Linux: Update LLVM libc++.a libc++abi.a with version 6.0.1
#jira UE-63587
Change 4343420 by Marcin.Undak
Fixed assert in console
#jira UE-63643
Change 4345166 by Luke.Thatcher
[CONSOLE] [!] (merging CL 4345072) Fix initialization order bug with FColor and FLinearColor constants.
- The original constants were dynamically initialized during startup. Using these constants from other global constructors may result in getting the wrong value (transparent black) if a given constructor runs before FColor/FLinearColor's constructor.
- Adding constexpr to the FColor/FLinearColor constructor makes these constants known at compile-time, and included in the readonly data section, so they don't require dynamic initialization.
[~] Also restores the original constant color values in RenderUtils.cpp
#jira none
Change 4345860 by Arciel.Rekman
Make StompMalloc return 16-byte aligned memory on 64 bit platforms (UE-63743).
#jira UE-63743
(Edigrating 4345734 from Release-4.20)
Change 4345950 by Brandon.Schaefer
Linux: Remove libelf/libdwarf fallback for symbolicating symbols during a crash
#jira UE-63103
Change 4350249 by David.Harvey
helper function to retrieve an LLM tag's name, including platform tags.
Change 4351184 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4348973 to //UE4/Dev-Console/...
Change 4351593 by Ben.Woodhouse
Clean up aggressive batching (remove xbox specific #if and //TODO)
#jira UE-46780
Change 4351734 by James.Cobbett
Setting TM-ShaderModels_Niagara to always load
Change 4351984 by Marcin.Undak
QAGame: restored platform media source in TM-ShaderModels map
Change 4353508 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4353110 to //UE4/Dev-Console/...
Change 4354237 by Anthony.Bills
[Linux] Fix Linux compilation issues due to change over to TCHAR being char16_t.
#jira UE-63544
Change 4354334 by Anthony.Bills
[Linux] (Missing file from CL 4354237) Fix Linux compilation issues due to change over to TCHAR being char16_t.
#jira UE-63544
Change 4355994 by Brandon.Schaefer
Linux: Agree not Agreed
#jira UE-63937
Change 4356068 by Joe.Barnes
Replace a duplicate DEFINE_EXPRESSION_NODE_TYPE(bool,...) causing errors with iOS unity build compiles. Remove version in ExpressionParser.cpp and include TextFilterExpressionEvaluator.h.
#jira ue-63877
Change 4357726 by David.Harvey
[iOS] add clean support for device output log, after catchup.
#jira none
Change 4357724 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4357176 to //UE4/Dev-Console/...
Change 4359634 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4359072 to //UE4/Dev-Console/...
Change 4359958 by Ben.Woodhouse
Fix FortGPUTestbed merge issues via p4 copy (content files didn't get moved before for some reason)
Change 4361108 by Anthony.Bills
Fix webm deprecation issues with DrawPrimitiveUp.
#jira UE-64012
Change 4361896 by James.Cobbett
Re-saving materials so that they render correctly outside of the editor.
Change 4362262 by Anthony.Bills
Fix for WebM video decoder crash.
#jira UE-64025
[CL 4362700 by Joe Barnes in Main branch]
2018-09-12 15:59:49 -04:00
# include "Interfaces/ITargetPlatformManagerModule.h"
2018-09-11 14:44:10 -04:00
# include "RHIShaderFormatDefinitions.inl"
2020-04-16 16:36:56 -04:00
# include "ShaderCompilerCommon.h"
Shader compiler improvements.
Local shader compiler:
- Not making 1 job batches (for High prio jobs) on startup
- Randomizing pending job selection to reduce chance that multiple 60+ sec jobs get into a single batch
(the above have the most effect on speed up, below is optional/misc)
- Pushing the completed jobs back to manager before, and not after, pulling new ones to reduce idle time
- Processing jobs in FIFO rather than LIFO order (change to LIFO seems like an ODSC regression? Hard to say definitively if it's a regression from the numbers, but seems odd to have the earliest jobs processed last)
- Parallel processing of input and output files (starts sequential by default to reduce the CPU overhead, but is enabled if we ever see too long write/read)
- More insights scopes
Distributed:
- Not avoiding local machine for XGE on startup
Both:
- Input file compression (disabled by default, need to better figure out when it's beneficial in a general case. Mostly for people with really slow I/O and XGE over VPN).
- More stats, also more dense stat output. Removed an unimportant one, added stats about the batches.
#rb Jason.Nadro, Ben.Ingram
#[review] [at]Jason.Nadro, [at]Ben.Ingram
#preflight 6132ec79bf137d0001ae91ee
#jira UE-125101
#ushell-cherrypick of 17448576 by Arciel.Rekman
#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 17448989 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17448996 by arciel rekman in ue5-release-engine-test branch]
2021-09-07 15:49:28 -04:00
# include "Serialization/MemoryReader.h"
2014-03-14 14:13:41 -04:00
# define DEBUG_USING_CONSOLE 0
2018-09-11 14:44:10 -04:00
static double LastCompileTime = 0.0 ;
static int32 GNumProcessedJobs = 0 ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
enum class EXGEMode
{
None ,
Xml ,
Intercept
} ;
static EXGEMode GXGEMode = EXGEMode : : None ;
inline bool IsUsingXGE ( )
{
return GXGEMode ! = EXGEMode : : None ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
static ESCWErrorCode GFailedErrorCode = ESCWErrorCode : : Success ;
2015-07-13 18:02:21 -04:00
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
static void OnXGEJobCompleted ( const TCHAR * WorkingDirectory )
2014-12-16 20:00:07 -05:00
{
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
if ( GXGEMode = = EXGEMode : : Xml )
{
2020-01-24 12:16:02 -05:00
// To signal compilation completion, create a zero length file in the working directory.
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
// This is only required in Xml mode.
2020-01-24 12:16:02 -05:00
delete IFileManager : : Get ( ) . CreateFileWriter ( * FString : : Printf ( TEXT ( " %s/Success " ) , WorkingDirectory ) , FILEWRITE_EvenIfReadOnly ) ;
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
}
2014-12-16 20:00:07 -05:00
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3053250 on 2016/07/18 by Steve.Robb
TNot metafunction added.
Change 3053252 on 2016/07/18 by Steve.Robb
New TIsEnumClass trait.
Change 3061345 on 2016/07/22 by Robert.Manuszewski
Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy
Change 3061377 on 2016/07/22 by Graeme.Thornton
Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default
Change 3064592 on 2016/07/26 by Steven.Hutton
Uploading repository files
Change 3064595 on 2016/07/26 by Steven.Hutton
Assign crashes to buggs based not just on Callstack but also based on Error message.
Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message.
Change 3066046 on 2016/07/27 by Graeme.Thornton
Better dedicated client/server class exclusion during cooking
- Add class lists to cooker settings so they can be modified in the editor
Change 3066077 on 2016/07/27 by Graeme.Thornton
Move Paragon NeedsLoadForServer calls over to the new config based system
Change 3066203 on 2016/07/27 by Chris.Wood
CrashReportProcess logging and Slack reporting improvements to monitor disk space.
[UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full
Change 3066276 on 2016/07/27 by Graeme.Thornton
Move simple NeedsLoadForClient implementations over to new config based system
Change 3068019 on 2016/07/28 by Graeme.Thornton
Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources
- Corrects some bad stats
Change 3068218 on 2016/07/28 by Chris.Wood
CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics
[UE-31706] - Add new BuildVersion string to crash context and website
Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs.
Change 3071665 on 2016/08/01 by Robert.Manuszewski
Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed.
Change 3073388 on 2016/08/02 by Graeme.Thornton
Invalidate string asset reference tags after finishing up loading of an async package
Change 3073745 on 2016/08/02 by Robert.Manuszewski
Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games.
#jira FORT-27839
Change 3074866 on 2016/08/03 by Robert.Manuszewski
PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki)
Change 3075128 on 2016/08/03 by Steve.Robb
Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier
Change 3075130 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel'
Change 3075131 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner'
Change 3075235 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn'
Change 3075248 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile'
Change 3075662 on 2016/08/03 by Steve.Robb
Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call
Change 3075668 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6326: Potential comparison of a constant with another constant
Change 3075679 on 2016/08/03 by Chris.Wood
Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19
[OR-26335] - 29.1 crash reporter generating reports with no callstacks / info
New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing.
Change 3077070 on 2016/08/04 by Steve.Robb
Dead array slack tracking code removed.
Change 3077113 on 2016/08/04 by Steve.Robb
TEnumAsByte is now deprecated for enum classes.
All current uses fixed (which tidies up that code anyway).
New FArchive::op<< for enum classes.
Generated code now never uses TEnumAsByte for enum classes.
Change 3077117 on 2016/08/04 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings'
Change 3078709 on 2016/08/05 by Steve.Robb
FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer.
TObjectIterator annotated to never return null.
NewObject annotated to never return null.
Change 3078836 on 2016/08/05 by Graeme.Thornton
Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading
Change 3082217 on 2016/08/09 by Steve.Robb
Missing #include for FUniqueNetIdRepl added.
Change 3083679 on 2016/08/10 by Chris.Wood
CrashReportProcess performance improvements. CRP v1.1.22
[UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances
[UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway
Passing lock details to MDD on command line and managing multiple MDD tasks in CRP.
Configurable values for range of queue sizes that cause us to throw away crashes.
Change 3085362 on 2016/08/11 by Steve.Robb
Rule-of-three fixes for FAIMessageObserver, to prevent accidents.
From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html
Change 3085396 on 2016/08/11 by Steve.Robb
Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types.
Change 3088840 on 2016/08/15 by Steve.Robb
TRemoveReference moved to its own header.
Change 3088858 on 2016/08/15 by Steve.Robb
TDecay moved to its own header.
Change 3088963 on 2016/08/15 by Steve.Robb
Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke.
Change 3089144 on 2016/08/15 by Steve.Robb
Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features.
Change 3089147 on 2016/08/15 by Steve.Robb
TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::.
Change 3090243 on 2016/08/16 by Steve.Robb
New Algo::Sort and Algo::SortBy algorithms.
Change 3090387 on 2016/08/16 by Steve.Robb
Improved bitwise swapping for Swap.
See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html
Change 3090444 on 2016/08/16 by Steve.Robb
Ptr+Size overloads removed after discussion - MakeArrayView should be used instead.
Change 3090495 on 2016/08/16 by Steve.Robb
Assert when FString::Mid is passed a negative count.
#jira UE-18756
Change 3093455 on 2016/08/18 by Steve.Robb
Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps.
Change 3094476 on 2016/08/19 by Steve.Robb
BOM removed from InvariantCulture.h.
Change 3094697 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3094702 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'.
Change 3094715 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read.
Change 3094737 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OwnedComponent'.
warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did.
Change 3094750 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094768 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'LevelSequence'.
warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094774 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'.
Change 3094783 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'.
Change 3094807 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094815 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'VarNode'.
warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094840 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TunnelGraph'.
warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did.
Change 3094864 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3094880 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'.
Change 3094886 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'.
Change 3094903 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'.
Change 3094916 on 2016/08/19 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer 'CompilerContext'.
Change 3094931 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'.
Change 3094935 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3094943 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.
Change 3094960 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'.
Change 3095046 on 2016/08/19 by Steve.Robb
Single parameter version of CastChecked tagged to never return null.
Change 3095054 on 2016/08/19 by Steve.Robb
Committed wrong version in CL# 3095046.
Change 3095089 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'.
Change 3096035 on 2016/08/22 by Steve.Robb
Fix for static lighting in pixel inspector.
Change 3096039 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'.
Change 3096045 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3096058 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'.
Change 3096059 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'.
Change 3096066 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'.
Change 3096070 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'.
Change 3096074 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'.
Change 3096075 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3096081 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'.
Change 3096156 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'BP'.
warning C6011: Dereferencing NULL pointer 'Object'.
Change 3096308 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TopMipData'.
warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'.
Change 3096315 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OldParent'.
warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'.
Change 3096318 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'.
Change 3096322 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'.
Change 3096337 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C6011: Dereferencing NULL pointer 'SpawnVarPin'.
Change 3096345 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope.
Change 3096356 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'.
Change 3096387 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'.
warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'.
Change 3096400 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'.
Change 3096413 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did.
Change 3096416 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3096423 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'.
Change 3096439 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'.
Change 3096446 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'.
Change 3096454 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'.
Change 3096464 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'.
Change 3096469 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'.
Change 3097559 on 2016/08/23 by Steve.Robb
Alternate fix to CL# 3096439.
Change 3097583 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'.
warning C6011: Dereferencing NULL pointer 'CurrentWorld'.
Change 3097584 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'.
Change 3097585 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did.
warning C6011: Dereferencing NULL pointer 'FirstNativeClass'.
Change 3097588 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'.
Change 3097589 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did.
Change 3097591 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'.
Change 3097597 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'.
Change 3097598 on 2016/08/23 by Steve.Robb
Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension.
Change 3097600 on 2016/08/23 by Steve.Robb
Fix for incorrect null check.
Change 3097605 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'.
Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125
Change 3097609 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did.
Change 3097613 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'.
Change 3097620 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'.
Change 3097627 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'.
Change 3097629 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did.
Change 3097631 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'.
Change 3097634 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'.
Change 3097639 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'.
Change 3097650 on 2016/08/23 by Steve.Robb
Alternate fix for CL# 3097597.
Change 3097725 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'.
Change 3097764 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did.
Change 3097770 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'.
Change 3097775 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'.
Change 3097796 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'.
Change 3097797 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'.
Change 3097843 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did.
Change 3097864 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ObjectClass'.
warning C6011: Dereferencing NULL pointer 'Client'.
Change 3097871 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did.
Change 3098015 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094864.
Change 3098024 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094943.
Change 3098052 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094886.
Change 3098080 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did.
Change 3098102 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'.
Change 3098148 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Node'.
warning C6011: Dereferencing NULL pointer 'OldNode'.
warning C6011: Dereferencing NULL pointer 'LinkedPin'.
warning C6011: Dereferencing NULL pointer 'RootNode'.
Change 3098156 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'.
Change 3098176 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'.
Change 3098182 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'.
Change 3098197 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'.
Coding standards fixes.
Change 3098202 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'.
Change 3098208 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did.
warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did.
Change 3098229 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3099188 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099195 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'.
Change 3099205 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'.
Change 3099228 on 2016/08/24 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did.
Change 3099539 on 2016/08/24 by Steve.Robb
Spurious static analysis fixes:
warning C6011: Dereferencing NULL pointer 'InBlueprint'.
warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did.
https://connect.microsoft.com/VisualStudio/feedback/details/3082362
https://connect.microsoft.com/VisualStudio/feedback/details/3082622
Change 3099546 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'.
Change 3099561 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'.
Change 3099571 on 2016/08/24 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did.
Change 3099600 on 2016/08/24 by Steve.Robb
Static analysis fix:
warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read.
warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read.
warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written.
Change 3099912 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099923 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'.
Change 3100977 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory '*VectorRef'.
warning C6001: Using uninitialized memory '*PointRef'.
warning C6001: Using uninitialized memory '*PolyRef'.
Coding standard fixes.
Change 3100985 on 2016/08/25 by Steve.Robb
Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3100987 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'.
warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'.
Change 3100992 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3101000 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory 'tmpMemReq'.
warning C6001: Using uninitialized memory 'TmpCreateInfo'.
Change 3101004 on 2016/08/25 by Steve.Robb
warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did.
Change 3101009 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'.
Change 3101115 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'.
Change 3101120 on 2016/08/25 by Steve.Robb
Fixes to previous fixes.
Change 3101128 on 2016/08/25 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'.
Change 3101281 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6001: Using uninitialized memory 'Pixel'.
Change 3101292 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'.
Change 3101299 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'.
Change 3101300 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'.
Change 3101304 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'.
Change 3101311 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'.
Change 3101323 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'.
Change 3101329 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'.
Change 3101333 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'.
Change 3101339 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ImportData'.
warning C6011: Dereferencing NULL pointer 'CurveToImport'.
Change 3101485 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'.
Change 3101583 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'.
Change 3105721 on 2016/08/30 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3105724 on 2016/08/30 by Steven.Hutton
Change users page to more responsive paginated version.
Change 3105725 on 2016/08/30 by Steven.Hutton
Added field for crash processor failed
Change 3105786 on 2016/08/30 by Steve.Robb
Reintroduced missing operator<< for enum classes.
Change 3105803 on 2016/08/30 by Steve.Robb
Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too.
Change 3106251 on 2016/08/30 by Steve.Robb
Switch static analysis node to build editor instead of just the engine.
Change 3107556 on 2016/08/31 by Steven.Hutton
Added build version data from CRP to DB as part of add crash #rb none
Change 3107557 on 2016/08/31 by Steven.Hutton
Passed build version data to CRW through crash description #rb none
Change 3107634 on 2016/08/31 by Graeme.Thornton
Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension
#jira UE-20147
Change 3107797 on 2016/08/31 by Steve.Robb
Fix for UHT debugging manifest, after paths changed in CL# 3088416.
Change 3107964 on 2016/08/31 by Steve.Robb
TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive.
New case-sensitive TCString::Strfind added, based on GitHub PR #2453.
Change 3108023 on 2016/08/31 by Steve.Robb
Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks.
Change 3108160 on 2016/08/31 by Steven.Hutton
Update to add new filter to website front page #rb none
Change 3109556 on 2016/09/01 by Steven.Hutton
Fixing compile warning #rb none
Change 3110001 on 2016/09/01 by Steve.Robb
PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything)
Change 3111835 on 2016/09/02 by Steve.Robb
Enforce uint8 on UENUM() enum classes.
#jira UE-35224
Change 3111867 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.
Change 3111880 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
Change 3111886 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written.
Change 3112025 on 2016/09/02 by Steve.Robb
Static analysis fix:
warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'.
warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'.
Change 3112051 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'.
Change 3112066 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
Change 3112093 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'.
Change 3112110 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'.
Change 3112123 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'CurDriver'.
warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
warning C6011: Dereferencing NULL pointer 'CurWorld'.
Change 3112157 on 2016/09/02 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'.
Change 3112283 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'.
Change 3113455 on 2016/09/05 by Chris.Wood
CRP performance improvements (v1.1.25)
Change 3113468 on 2016/09/05 by Steve.Robb
Reverting unnecessary merge in CL# 3112464.
Change 3113508 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'.
Change 3113588 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration
Change 3113863 on 2016/09/06 by Steve.Robb
Fix for this error:
Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'.
Change 3113864 on 2016/09/06 by Steve.Robb
Misc static analysis fixes for VS2015 Update 2.
Change 3113918 on 2016/09/06 by Ben.Marsh
Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception.
Change 3114293 on 2016/09/06 by Steve.Robb
Static analysis fixes for Visual Studio Update 2.
Change 3115732 on 2016/09/07 by Steve.Robb
Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
Change 3115754 on 2016/09/07 by Steve.Robb
GObjectArrayForDebugVisualizers init order fix.
Removal of obsolete FName visualizer helper code.
Change 3115774 on 2016/09/07 by Steve.Robb
Fix for ICE by moving static variables into their own file and removing const return types.
#jira UE-35597
Change 3116061 on 2016/09/07 by Steve.Robb
Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774.
Change 3117478 on 2016/09/08 by Steve.Robb
Static analysis fixes in third party code, using a new macro-based system.
Change 3119152 on 2016/09/09 by Steve.Robb
TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error.
Change 3119200 on 2016/09/09 by Steve.Robb
Fix for destructors not being called in TSparseArray move assignment.
Change 3119568 on 2016/09/09 by Steve.Robb
Fix for TSparseArray visualizer.
Change 3119591 on 2016/09/09 by Steve.Robb
New MakeShared function which allocates the object and reference controller in a single block.
Change 3120281 on 2016/09/09 by Steve.Robb
Fix for ICE on static analysis build.
#jira UE-35596
Change 3120786 on 2016/09/12 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'.
Change 3120787 on 2016/09/12 by Steve.Robb
Removal of TEnumAsByte on enum classes.
Change 3120789 on 2016/09/12 by Steve.Robb
Static analysis fixes:
warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read.
warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter.
Change 3121234 on 2016/09/12 by Steve.Robb
Unused ToBuildInfoString function declaration removed.
Change 3122616 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'.
Change 3123070 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did.
[CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
# if USING_CODE_ANALYSIS
2020-06-23 18:40:00 -04:00
UE_NORETURN static inline void ExitWithoutCrash ( ESCWErrorCode ErrorCode , const FString & Message ) ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3053250 on 2016/07/18 by Steve.Robb
TNot metafunction added.
Change 3053252 on 2016/07/18 by Steve.Robb
New TIsEnumClass trait.
Change 3061345 on 2016/07/22 by Robert.Manuszewski
Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy
Change 3061377 on 2016/07/22 by Graeme.Thornton
Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default
Change 3064592 on 2016/07/26 by Steven.Hutton
Uploading repository files
Change 3064595 on 2016/07/26 by Steven.Hutton
Assign crashes to buggs based not just on Callstack but also based on Error message.
Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message.
Change 3066046 on 2016/07/27 by Graeme.Thornton
Better dedicated client/server class exclusion during cooking
- Add class lists to cooker settings so they can be modified in the editor
Change 3066077 on 2016/07/27 by Graeme.Thornton
Move Paragon NeedsLoadForServer calls over to the new config based system
Change 3066203 on 2016/07/27 by Chris.Wood
CrashReportProcess logging and Slack reporting improvements to monitor disk space.
[UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full
Change 3066276 on 2016/07/27 by Graeme.Thornton
Move simple NeedsLoadForClient implementations over to new config based system
Change 3068019 on 2016/07/28 by Graeme.Thornton
Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources
- Corrects some bad stats
Change 3068218 on 2016/07/28 by Chris.Wood
CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics
[UE-31706] - Add new BuildVersion string to crash context and website
Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs.
Change 3071665 on 2016/08/01 by Robert.Manuszewski
Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed.
Change 3073388 on 2016/08/02 by Graeme.Thornton
Invalidate string asset reference tags after finishing up loading of an async package
Change 3073745 on 2016/08/02 by Robert.Manuszewski
Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games.
#jira FORT-27839
Change 3074866 on 2016/08/03 by Robert.Manuszewski
PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki)
Change 3075128 on 2016/08/03 by Steve.Robb
Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier
Change 3075130 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel'
Change 3075131 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner'
Change 3075235 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn'
Change 3075248 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile'
Change 3075662 on 2016/08/03 by Steve.Robb
Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call
Change 3075668 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6326: Potential comparison of a constant with another constant
Change 3075679 on 2016/08/03 by Chris.Wood
Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19
[OR-26335] - 29.1 crash reporter generating reports with no callstacks / info
New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing.
Change 3077070 on 2016/08/04 by Steve.Robb
Dead array slack tracking code removed.
Change 3077113 on 2016/08/04 by Steve.Robb
TEnumAsByte is now deprecated for enum classes.
All current uses fixed (which tidies up that code anyway).
New FArchive::op<< for enum classes.
Generated code now never uses TEnumAsByte for enum classes.
Change 3077117 on 2016/08/04 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings'
Change 3078709 on 2016/08/05 by Steve.Robb
FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer.
TObjectIterator annotated to never return null.
NewObject annotated to never return null.
Change 3078836 on 2016/08/05 by Graeme.Thornton
Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading
Change 3082217 on 2016/08/09 by Steve.Robb
Missing #include for FUniqueNetIdRepl added.
Change 3083679 on 2016/08/10 by Chris.Wood
CrashReportProcess performance improvements. CRP v1.1.22
[UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances
[UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway
Passing lock details to MDD on command line and managing multiple MDD tasks in CRP.
Configurable values for range of queue sizes that cause us to throw away crashes.
Change 3085362 on 2016/08/11 by Steve.Robb
Rule-of-three fixes for FAIMessageObserver, to prevent accidents.
From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html
Change 3085396 on 2016/08/11 by Steve.Robb
Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types.
Change 3088840 on 2016/08/15 by Steve.Robb
TRemoveReference moved to its own header.
Change 3088858 on 2016/08/15 by Steve.Robb
TDecay moved to its own header.
Change 3088963 on 2016/08/15 by Steve.Robb
Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke.
Change 3089144 on 2016/08/15 by Steve.Robb
Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features.
Change 3089147 on 2016/08/15 by Steve.Robb
TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::.
Change 3090243 on 2016/08/16 by Steve.Robb
New Algo::Sort and Algo::SortBy algorithms.
Change 3090387 on 2016/08/16 by Steve.Robb
Improved bitwise swapping for Swap.
See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html
Change 3090444 on 2016/08/16 by Steve.Robb
Ptr+Size overloads removed after discussion - MakeArrayView should be used instead.
Change 3090495 on 2016/08/16 by Steve.Robb
Assert when FString::Mid is passed a negative count.
#jira UE-18756
Change 3093455 on 2016/08/18 by Steve.Robb
Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps.
Change 3094476 on 2016/08/19 by Steve.Robb
BOM removed from InvariantCulture.h.
Change 3094697 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3094702 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'.
Change 3094715 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read.
Change 3094737 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OwnedComponent'.
warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did.
Change 3094750 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094768 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'LevelSequence'.
warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094774 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'.
Change 3094783 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'.
Change 3094807 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094815 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'VarNode'.
warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094840 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TunnelGraph'.
warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did.
Change 3094864 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3094880 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'.
Change 3094886 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'.
Change 3094903 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'.
Change 3094916 on 2016/08/19 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer 'CompilerContext'.
Change 3094931 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'.
Change 3094935 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3094943 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.
Change 3094960 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'.
Change 3095046 on 2016/08/19 by Steve.Robb
Single parameter version of CastChecked tagged to never return null.
Change 3095054 on 2016/08/19 by Steve.Robb
Committed wrong version in CL# 3095046.
Change 3095089 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'.
Change 3096035 on 2016/08/22 by Steve.Robb
Fix for static lighting in pixel inspector.
Change 3096039 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'.
Change 3096045 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3096058 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'.
Change 3096059 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'.
Change 3096066 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'.
Change 3096070 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'.
Change 3096074 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'.
Change 3096075 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3096081 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'.
Change 3096156 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'BP'.
warning C6011: Dereferencing NULL pointer 'Object'.
Change 3096308 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TopMipData'.
warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'.
Change 3096315 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OldParent'.
warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'.
Change 3096318 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'.
Change 3096322 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'.
Change 3096337 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C6011: Dereferencing NULL pointer 'SpawnVarPin'.
Change 3096345 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope.
Change 3096356 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'.
Change 3096387 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'.
warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'.
Change 3096400 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'.
Change 3096413 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did.
Change 3096416 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3096423 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'.
Change 3096439 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'.
Change 3096446 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'.
Change 3096454 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'.
Change 3096464 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'.
Change 3096469 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'.
Change 3097559 on 2016/08/23 by Steve.Robb
Alternate fix to CL# 3096439.
Change 3097583 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'.
warning C6011: Dereferencing NULL pointer 'CurrentWorld'.
Change 3097584 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'.
Change 3097585 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did.
warning C6011: Dereferencing NULL pointer 'FirstNativeClass'.
Change 3097588 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'.
Change 3097589 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did.
Change 3097591 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'.
Change 3097597 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'.
Change 3097598 on 2016/08/23 by Steve.Robb
Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension.
Change 3097600 on 2016/08/23 by Steve.Robb
Fix for incorrect null check.
Change 3097605 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'.
Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125
Change 3097609 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did.
Change 3097613 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'.
Change 3097620 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'.
Change 3097627 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'.
Change 3097629 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did.
Change 3097631 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'.
Change 3097634 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'.
Change 3097639 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'.
Change 3097650 on 2016/08/23 by Steve.Robb
Alternate fix for CL# 3097597.
Change 3097725 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'.
Change 3097764 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did.
Change 3097770 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'.
Change 3097775 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'.
Change 3097796 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'.
Change 3097797 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'.
Change 3097843 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did.
Change 3097864 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ObjectClass'.
warning C6011: Dereferencing NULL pointer 'Client'.
Change 3097871 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did.
Change 3098015 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094864.
Change 3098024 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094943.
Change 3098052 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094886.
Change 3098080 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did.
Change 3098102 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'.
Change 3098148 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Node'.
warning C6011: Dereferencing NULL pointer 'OldNode'.
warning C6011: Dereferencing NULL pointer 'LinkedPin'.
warning C6011: Dereferencing NULL pointer 'RootNode'.
Change 3098156 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'.
Change 3098176 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'.
Change 3098182 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'.
Change 3098197 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'.
Coding standards fixes.
Change 3098202 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'.
Change 3098208 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did.
warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did.
Change 3098229 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3099188 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099195 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'.
Change 3099205 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'.
Change 3099228 on 2016/08/24 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did.
Change 3099539 on 2016/08/24 by Steve.Robb
Spurious static analysis fixes:
warning C6011: Dereferencing NULL pointer 'InBlueprint'.
warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did.
https://connect.microsoft.com/VisualStudio/feedback/details/3082362
https://connect.microsoft.com/VisualStudio/feedback/details/3082622
Change 3099546 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'.
Change 3099561 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'.
Change 3099571 on 2016/08/24 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did.
Change 3099600 on 2016/08/24 by Steve.Robb
Static analysis fix:
warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read.
warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read.
warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written.
Change 3099912 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099923 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'.
Change 3100977 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory '*VectorRef'.
warning C6001: Using uninitialized memory '*PointRef'.
warning C6001: Using uninitialized memory '*PolyRef'.
Coding standard fixes.
Change 3100985 on 2016/08/25 by Steve.Robb
Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3100987 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'.
warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'.
Change 3100992 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3101000 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory 'tmpMemReq'.
warning C6001: Using uninitialized memory 'TmpCreateInfo'.
Change 3101004 on 2016/08/25 by Steve.Robb
warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did.
Change 3101009 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'.
Change 3101115 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'.
Change 3101120 on 2016/08/25 by Steve.Robb
Fixes to previous fixes.
Change 3101128 on 2016/08/25 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'.
Change 3101281 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6001: Using uninitialized memory 'Pixel'.
Change 3101292 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'.
Change 3101299 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'.
Change 3101300 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'.
Change 3101304 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'.
Change 3101311 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'.
Change 3101323 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'.
Change 3101329 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'.
Change 3101333 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'.
Change 3101339 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ImportData'.
warning C6011: Dereferencing NULL pointer 'CurveToImport'.
Change 3101485 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'.
Change 3101583 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'.
Change 3105721 on 2016/08/30 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3105724 on 2016/08/30 by Steven.Hutton
Change users page to more responsive paginated version.
Change 3105725 on 2016/08/30 by Steven.Hutton
Added field for crash processor failed
Change 3105786 on 2016/08/30 by Steve.Robb
Reintroduced missing operator<< for enum classes.
Change 3105803 on 2016/08/30 by Steve.Robb
Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too.
Change 3106251 on 2016/08/30 by Steve.Robb
Switch static analysis node to build editor instead of just the engine.
Change 3107556 on 2016/08/31 by Steven.Hutton
Added build version data from CRP to DB as part of add crash #rb none
Change 3107557 on 2016/08/31 by Steven.Hutton
Passed build version data to CRW through crash description #rb none
Change 3107634 on 2016/08/31 by Graeme.Thornton
Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension
#jira UE-20147
Change 3107797 on 2016/08/31 by Steve.Robb
Fix for UHT debugging manifest, after paths changed in CL# 3088416.
Change 3107964 on 2016/08/31 by Steve.Robb
TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive.
New case-sensitive TCString::Strfind added, based on GitHub PR #2453.
Change 3108023 on 2016/08/31 by Steve.Robb
Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks.
Change 3108160 on 2016/08/31 by Steven.Hutton
Update to add new filter to website front page #rb none
Change 3109556 on 2016/09/01 by Steven.Hutton
Fixing compile warning #rb none
Change 3110001 on 2016/09/01 by Steve.Robb
PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything)
Change 3111835 on 2016/09/02 by Steve.Robb
Enforce uint8 on UENUM() enum classes.
#jira UE-35224
Change 3111867 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.
Change 3111880 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
Change 3111886 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written.
Change 3112025 on 2016/09/02 by Steve.Robb
Static analysis fix:
warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'.
warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'.
Change 3112051 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'.
Change 3112066 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
Change 3112093 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'.
Change 3112110 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'.
Change 3112123 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'CurDriver'.
warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
warning C6011: Dereferencing NULL pointer 'CurWorld'.
Change 3112157 on 2016/09/02 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'.
Change 3112283 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'.
Change 3113455 on 2016/09/05 by Chris.Wood
CRP performance improvements (v1.1.25)
Change 3113468 on 2016/09/05 by Steve.Robb
Reverting unnecessary merge in CL# 3112464.
Change 3113508 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'.
Change 3113588 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration
Change 3113863 on 2016/09/06 by Steve.Robb
Fix for this error:
Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'.
Change 3113864 on 2016/09/06 by Steve.Robb
Misc static analysis fixes for VS2015 Update 2.
Change 3113918 on 2016/09/06 by Ben.Marsh
Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception.
Change 3114293 on 2016/09/06 by Steve.Robb
Static analysis fixes for Visual Studio Update 2.
Change 3115732 on 2016/09/07 by Steve.Robb
Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
Change 3115754 on 2016/09/07 by Steve.Robb
GObjectArrayForDebugVisualizers init order fix.
Removal of obsolete FName visualizer helper code.
Change 3115774 on 2016/09/07 by Steve.Robb
Fix for ICE by moving static variables into their own file and removing const return types.
#jira UE-35597
Change 3116061 on 2016/09/07 by Steve.Robb
Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774.
Change 3117478 on 2016/09/08 by Steve.Robb
Static analysis fixes in third party code, using a new macro-based system.
Change 3119152 on 2016/09/09 by Steve.Robb
TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error.
Change 3119200 on 2016/09/09 by Steve.Robb
Fix for destructors not being called in TSparseArray move assignment.
Change 3119568 on 2016/09/09 by Steve.Robb
Fix for TSparseArray visualizer.
Change 3119591 on 2016/09/09 by Steve.Robb
New MakeShared function which allocates the object and reference controller in a single block.
Change 3120281 on 2016/09/09 by Steve.Robb
Fix for ICE on static analysis build.
#jira UE-35596
Change 3120786 on 2016/09/12 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'.
Change 3120787 on 2016/09/12 by Steve.Robb
Removal of TEnumAsByte on enum classes.
Change 3120789 on 2016/09/12 by Steve.Robb
Static analysis fixes:
warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read.
warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter.
Change 3121234 on 2016/09/12 by Steve.Robb
Unused ToBuildInfoString function declaration removed.
Change 3122616 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'.
Change 3123070 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did.
[CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
# endif
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
static inline void ExitWithoutCrash ( ESCWErrorCode ErrorCode , const FString & Message )
{
GFailedErrorCode = ErrorCode ;
FCString : : Snprintf ( GErrorExceptionDescription , sizeof ( GErrorExceptionDescription ) , TEXT ( " %s " ) , * Message ) ;
UE_LOG ( LogShaders , Fatal , TEXT ( " %s " ) , * Message ) ;
}
2015-07-13 18:02:21 -04:00
static const TArray < const IShaderFormat * > & GetShaderFormats ( )
2014-03-14 14:13:41 -04:00
{
static bool bInitialized = false ;
static TArray < const IShaderFormat * > Results ;
if ( ! bInitialized )
{
bInitialized = true ;
Results . Empty ( Results . Num ( ) ) ;
TArray < FName > Modules ;
FModuleManager : : Get ( ) . FindModules ( SHADERFORMAT_MODULE_WILDCARD , Modules ) ;
if ( ! Modules . Num ( ) )
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash ( ESCWErrorCode : : NoTargetShaderFormatsFound , TEXT ( " No target shader formats found! " ) ) ;
2014-03-14 14:13:41 -04:00
}
for ( int32 Index = 0 ; Index < Modules . Num ( ) ; Index + + )
{
IShaderFormat * Format = FModuleManager : : LoadModuleChecked < IShaderFormatModule > ( Modules [ Index ] ) . GetShaderFormat ( ) ;
2014-08-01 02:40:54 -04:00
if ( Format ! = nullptr )
2014-03-14 14:13:41 -04:00
{
Results . Add ( Format ) ;
}
}
}
return Results ;
}
2015-07-13 18:02:21 -04:00
static const IShaderFormat * FindShaderFormat ( FName Name )
2014-03-14 14:13:41 -04:00
{
const TArray < const IShaderFormat * > & ShaderFormats = GetShaderFormats ( ) ;
for ( int32 Index = 0 ; Index < ShaderFormats . Num ( ) ; Index + + )
{
TArray < FName > Formats ;
ShaderFormats [ Index ] - > GetSupportedFormats ( Formats ) ;
for ( int32 FormatIndex = 0 ; FormatIndex < Formats . Num ( ) ; FormatIndex + + )
{
if ( Formats [ FormatIndex ] = = Name )
{
return ShaderFormats [ Index ] ;
}
}
}
2014-08-01 02:40:54 -04:00
return nullptr ;
2014-03-14 14:13:41 -04:00
}
2018-09-11 14:44:10 -04:00
2014-03-14 14:13:41 -04:00
/** Processes a compilation job. */
static void ProcessCompilationJob ( const FShaderCompilerInput & Input , FShaderCompilerOutput & Output , const FString & WorkingDirectory )
{
const IShaderFormat * Compiler = FindShaderFormat ( Input . ShaderFormat ) ;
if ( ! Compiler )
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash ( ESCWErrorCode : : CantCompileForSpecificFormat , FString : : Printf ( TEXT ( " Can't compile shaders for format %s " ) , * Input . ShaderFormat . ToString ( ) ) ) ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 4362408)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 4125165 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4124306 to //UE4/Dev-Console/...
Change 4136060 by Marcin.Undak
Editor: fixed device unclaiming
#jira UE-58464
Change 4190321 by Marcin.Undak
Linux: fixes for automation and RecordPerformance
#jira UE-61053
Change 4199010 by Marcin.Undak
Linux: remove unnecessary -g option
Change 4201876 by Marcin.Undak
First implementation of WebM media player for Windows and Linux
Change 4201922 by Marcin.Undak
Whitelisted WebMem plugin only for Windows and Linux
Change 4202203 by Marcin.Undak
WebM build fixes
Change 4223102 by Marcin.Undak
Vulkan: console commands for testing device lost
#jira UE-61789
Change 4225028 by Marcin.Undak
WebMMedia: disabled on Linux until fixed compilation issues
Change 4231444 by David.Harvey
UI - Fixing where the virtual cursor renders. It doesn't correctly take into account DPI scale, which isn't apparent except on the Xbox One.
Integrate as edit from CL 4166648.
#jira UE-62115
Change 4233057 by Marcin.Undak
TestPAL: added new test for string allocation size
Change 4234649 by Marcin.Undak
Linux: switched linux plaform to 16bit wide strings
Change 4235253 by Marcin.Undak
TestPAL: compilation fix for platforms that don't use DirectoryWatcher
Change 4235477 by Marcin.Undak
Linux: re-enabled WebMMedia plugin
Change 4242242 by Marcin.Undak
WebMMediaPlayer: implemented proper format retrieving. MediaFrameworkTest now works.
Change 4243321 by Marcin.Undak
WebMPlayer: static code analisys fix
Change 4243505 by Marcin.Undak
MediaFrameworkTest: added WebM video for testing
Change 4244646 by Marcin.Undak
WebMMedia: improved concurrency
Change 4244735 by Arciel.Rekman
Vulkan: skip unnecessary transitions properly (UE-62348, merge).
(Edigrating CL 4244274 from Release-4.20)
Change 4246685 by Arciel.Rekman
PhysX: remove Cygwin from %PATH% on Windows as it confuses CMake (UE-62326).
Change 4247808 by Marcin.Undak
WebMMediaPlayer: added support for seeking
Change 4254841 by Marcin.Undak
WebM: module dependencies fix
Change 4255124 by laz.matech
Updated UMG_AllPaletterWidgets' combo box to include options so that when selected, the dropdown presents 2 options instead of it appearing like it is broken
#jira none
Change 4256415 by Marcin.Undak
WebM: added missing editor module
Change 4256716 by Arciel.Rekman
Make SetReuseAddr() also set SO_REUSEPORT where available (UE-57076).
- Pull request #4617 by malavon.
#jira UE-57076
Change 4266049 by Marcin.Undak
Linux: UnrealLightmass and CrashReportClient compilation fixes
#jira UE-62521
#jira UE-62522
Change 4266678 by Arciel.Rekman
Merge speculative commit to get aligned pointer on mmap().
(Edigrating CL 4225330)
Change 4267998 by Anthony.Bills
Fix DBufferC clear color due to bad merge.
#jira UE-62649
Change 4269441 by Marcin.Undak
GenericPlatformStrings::VarArgs() implemented %-*s, %lu, %z, %h formatting
#jira UE-62582
Change 4269712 by Marcin.Undak
WebMMediaPlayer: removed LibSimpleWebM
Change 4272849 by Marcin.Undak
WebMMediaPlayer: fixed re-initialisation
Change 4277931 by Arciel.Rekman
Linux: switch to Vulkan by default (UE-62807).
- Default behavior: attempt Vulkan first, but in case of failure instead of quitting silently fall back to GL, unless -vulkan is passed.
- Forcing GL is still possible.
Change 4277965 by Arciel.Rekman
Fix standalone applications after the Vulkan switch.
Change 4277968 by Arciel.Rekman
Linux: make CrashReportClient headful (UE-14089).
- The -unattended flags keep even a headful CRC usable on the servers.
- ldd did not change. Need to check Localization stuff to see if there are any deployment concerns.
#jira UE-14089
Change 4279402 by Arciel.Rekman
Merge from 4.20.1: Vulkan: log validation errors. Also fix handling of some message types (UE-62628).
(Edigrating 4273516 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)
Change 4279992 by Marcin.Undak
Linux: fix SlateViewer compilation
#jira UE-62831
Change 4285613 by Arciel.Rekman
Vulkan: fix mismatched layout.
- I tested with RecordPerformance on InfiltratorDemo and haven't found any impact.
Change 4285622 by Arciel.Rekman
Merged from 4.20.2: Linux: do not refuse to start if system limits cannot be raised (UE-62515).
- Too aggressive behavior, which can break cooking for no valid reason.
- If a commandline argument is used, the engine will still treat inability to raise the limits as an error.
(Edigrating 4273547 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)
Change 4293083 by Arciel.Rekman
Merging //UE4/Main@4291654 to //UE4/Dev-Console
Change 4295297 by Marcin.Undak
Vulkan: temporary disable generic pipeline cache saving to prevent crashes
#jira UE-62848
Change 4300191 by Arciel.Rekman
Delete files added under lowercase directories.
Change 4300211 by Arciel.Rekman
Re-add files deleted in previous commit under camel-cased paths.
Change 4300895 by Arciel.Rekman
Linux: fix editor build
Change 4303543 by Ben.Marsh
Fix compile error for FortGPUTestBed.
Change 4305659 by Marcin.Undak
[Vulkan][Engine] Update the Vulkan RHI to obey r.VSync (and the vsync and novsync command-line arguments).
Change 4222769 by Jason.Stewart@Jason.Stewart_AMD_Dev_Rendering_threadripper-win10 on 2018/07/19 10:55:48
The original implementation ran into a latent thread hazard between the RHI thread and the rendering thread, where the rendering thread would try to use the backbuffer of the swap chain while the swap chain was being recreated (specifically after the swap chain recreation code had released and nulled out the back buffer, but before swap chain creation had actually happened to get a new back buffer). This implementation addresses that issue.
This is Tim's code. I'm just submitting it as Tim is currently out of office.
Change 4305661 by Marcin.Undak
Moved libwebm and libvpx inside WebMMediaPlayer directory
Change 4308659 by Marcin.Undak
Linux: fixed LLDB visualizers
#jira UE-52619
Change 4313650 by Marcin.Undak
WebMMediaPlayer: implemented looping
Change 4321713 by David.Harvey
removed hard-coded platform labels from device output log window in favour of ITargetPlatform::SupportsFeature + updated editor tooltip with correct platform list.
https://ec-01.epicgames.net/commander/link/jobDetails/jobs/8641984?
Change 4321942 by Brandon.Schaefer
Linux: Use the Target RHI list as the default ordering for which RHI is prefered
Also update the RHI list in the project settings for our default list
#jira UE-59487
#review-4316134 @Arciel.Rekman
Change 4322230 by Brandon.Schaefer
Treat %lf as %f in GenericWidePlatformString
#jira UE-62582
Change 4322392 by Brandon.Schaefer
Make sure our fmt size is large enough to check indexes
#jira none
Change 4322895 by Brandon.Schaefer
Actually get the current size of Src as it could have been moved down
#jira none
Change 4327866 by Brandon.Schaefer
Linux: Tell the platform misc what RHI we are using
#jira none
Change 4328926 by Brandon.Schaefer
Linux: Add haptic support for controllers
Github PR #4167 (thanks maiself!)
#jira UE-51681
Change 4328963 by Arciel.Rekman
TestPAL: improve the test by randomizing allocation size.
- The range will no longer be constrained to <=128KB at once, allocations can be as big as 16MB but they will unevenly distributed, with smaller sizes being more frequent.
Change 4329208 by Arciel.Rekman
hlslcc: suppressed benign compiler warning during the Linux build (UE-43988).
Change 4329283 by Arciel.Rekman
Linux: replace CachedOSPageAllocator with PooledVirtualMemoryAllocator for Linux.
For the explanation of FPooledVirtualMemoryAllocator, see PooledVirtualMemoryAllocator.h
For the details, test data and comparisons, message Arciel Rekman.
Relevant command line args added:
-vmapoolscale=<float> (defaults to 1.4)
-vmapoolevict
-novmapoolevict
By default, freed memory will not be evicted from RAM (unless running on a server)
Also changed:
- Removed the fixed-size pool previously used by Linux (and supporting machinery like scaling it on start)
- Replaced the way we manage free blocks from pointers to a bitmap to reduce memory footprint.
Change 4331946 by Luke.Thatcher
[CONSOLE] [^] (merging CL 4162064) Implement new thread heart beat clock to solve the suspend/resume problem across all platforms.
- The hang and hitch detectors now maintain their own clocks which are ticked by their respective threads.
- If the title is suspended, the ticking thread will stop and the clock will stop advancing. On resume, the maximum delta in the clock is clamped to a small value, so we ignore all the time the thread was not ticking for (i.e. the duration of the title being suspended).
- As such, we don't need any logic for handling PLM suspend/resume in the hang and hitch detectors, so this change removes that too.
#jira FORT-96886
Change 4331973 by Luke.Thatcher
[CONSOLE] [^] (merging CL 4183499) Add frame-present-based hang detection.
- RHIs call FThreadHeartBeat::PresentFrame() whenever they present a frame to the swap chain.
- These calls form a separate heartbeat from the thread-based ones, allowing the hang detector to fire if, for example, the game thread is stuck in an async loading loop and is ticking the game thread heartbeat, but making no progress.
- Also refactored ThreadHeartBeat.cpp to move hang detection logging into a FORCENOINLINE function. This will put OnHang and OnPresentHang at the top of the callstack in retail crash dumps, making the bucketing easier to recognise.
Change 4332200 by Luke.Thatcher
[CONSOLE] [+] (merging CL 4227517) Add PlatformDebugData to FShaderResource.
- We can use this to store platform specific shader symbols etc. The data gets serialized to the DDC and can be retrieved during a cook.
- Data is entirely discarded in cooked builds, and is a no-op on platforms which don't implement support for shader debug data.
- Bumped shader version to invalidate DDC keys.
Change 4332407 by Luke.Thatcher
[CONSOLE] [CORE] [!] (merging CL 4279686) Fixed unaligned integer load macro inconsistencies.
- Renamed PLATFORM_SUPPORTS_UNALIGNED_INT_LOADS to PLATFORM_SUPPORTS_UNALIGNED_LOADS
- Merged it with REQUIRES_ALIGNED_ACCESS and REQUIRES_ALIGNED_INT_ACCESS
- Fixed Linux platform which had both the old macros defined to 1, which is wrong because they are mutually exclusive.
Change 4333386 by Luke.Thatcher
[CONSOLE] [!] (merging CL 4317367) Fix compile error in AnimationCompression.h
Change 4334395 by Arciel.Rekman
Corrected PLATFORM_DESKTOP definition.
Change 4336190 by Anthony.Bills
(Original CL4314280) Use the debug file writer when using framepro. This buffers more data which should reduce stalls when writing out on certain platforms.
#jira none
Change 4336291 by Anthony.Bills
Use a clamped local clock when timing out the renderthread.
- This prevents suspend and resume issues on platforms where suspend events may not occur or the system clock is not set to the process time.
#jira none
Change 4336292 by Anthony.Bills
(Orignal CL 4195778) Fix printing of the hang detector multiplier and other logging.
"f" is the correct format specifier for a double.
#jira none
Change 4336307 by Anthony.Bills
(Orignal CL 4257875) Use the correct clock when printing the scoped hitch stat.
- Needs to be the internal FGameThreadHitchHeartBeat clock incase FPlatformTime::Seconds becomes out of sync with FrameStartTime.
#jira none
Change 4336321 by Anthony.Bills
(Original CL 4258186) Add GetNoInit function to FGameThreadHitchHeartBeat.
#jira none
Change 4336397 by Anthony.Bills
Fix redefinition of macro.
#jira none
Change 4336738 by Brandon.Schaefer
Linux: Add options for ASan, TSan, and UBSan
#jira UE-62784 UE-62803 UE-62804
Change 4336791 by Brandon.Schaefer
Linux: Add missing xml comments
#jira none
Change 4336957 by Joe.Barnes
Integrate as edit CL#4218145:
Convert some of our Vector macros to inline functions as thier names class with 3rd party functions.
#jira ue-61733
Change 4338228 by Arciel.Rekman
Switch to v12 Linux cross-toolchain (UE-63589).
#jira UE-63589
Change 4339195 by Ben.Woodhouse
Integrate-as-edit latest CSV profiler changes up to CL 4292187
Change 4339237 by Ben.Woodhouse
Integrate-as-edit CL 4226269
Add support for extern GPU stats, so we can use one stat across multiple CPPs
Fix the Forward rendering GPUProjection stat
Change 4339239 by Ben.Woodhouse
Integrate-as-edit CL 4292520
Support different sized buffers for FArchiveFileWriterGeneric per-platform so we can tune per-platform as needed.
No changes to existing defaults values of 1KB for read, 4KB for write:
#define PLATFORM_FILE_READER_BUFFER_SIZE 1024
#define PLATFORM_FILE_WRITER_BUFFER_SIZE 4096
#define PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE 4096
Change 4339241 by Ben.Woodhouse
Integrate-as-edit CL 4210462
Comment out an assert while I investigate properly (doesn't appear to be fatal)
Change 4339265 by Anthony.Bills
[Linux] Fix ContainerBuildThirdParty.sh to pick the first default interface.
#jira none
Change 4339274 by Anthony.Bills
[Linux] Cache the bundled toolchain when using git builds.
- Also will not attempt to download the toolchain if AutoSDK or Multiarch root are specified.
#jira UE-63394
Change 4339623 by Anthony.Bills
[Linux] Update native toolchain buildscript to support clang 6.0.1
- Main issue was due to libxml2 as an extra dependency of some test libraries, so needs to be disabled via DLLVM_ENABLE_LIBXML2.
#jira UE-63588
Change 4339685 by Anthony.Bills
[Linux] Update toolchain setup script to download v12 when it is available.
#jira UE-63588
Change 4339833 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4339548 to //UE4/Dev-Console/...
Change 4339843 by Ben.Woodhouse
Attempt to fix a weird possible bad merge issue
Change 4339890 by Ben.Woodhouse
Fix a build issue
#jira nojira
Change 4340314 by Anthony.Bills
Fix mesh decal rendering when write mask is enabled and no deferred decals are in the scene.
#jira UE-55159
Change 4341099 by Marcin.Undak
Mediashader fix
#jira UE-63650
Change 4341106 by Marcin.Undak
QAGame: added MediaPlayer for Linux test
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341107 by Marcin.Undak
WebMMediaPlayer: blacklist all not supported platforms
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341110 by Marcin.Undak
WebMMediaPlayer: enable for Unix platforms
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341804 by Luke.Thatcher
[CONSOLE] [!] Fix memory scribble in black depth texture cube on platforms with 16-bit depth.
- Original code was writing a FColor into the locked texture data, which causes a 2 byte scribble if the PF_ShadowDepth format is 16-bits.
[!] Also fixed GWhiteTextureCube being black. FColor::White is not a compile-time constant, so an initialization order problem meant the value of FColor::White is actually black when the GWhiteTextureCube constructor runs.
#jira none
Change 4342244 by Anthony.Bills
[Linux] Allow restarting the crashed application from the crash report client
#jira UE-62903
Change 4342636 by Brandon.Schaefer
Linux: Update LLVM libc++.a libc++abi.a with version 6.0.1
#jira UE-63587
Change 4343420 by Marcin.Undak
Fixed assert in console
#jira UE-63643
Change 4345166 by Luke.Thatcher
[CONSOLE] [!] (merging CL 4345072) Fix initialization order bug with FColor and FLinearColor constants.
- The original constants were dynamically initialized during startup. Using these constants from other global constructors may result in getting the wrong value (transparent black) if a given constructor runs before FColor/FLinearColor's constructor.
- Adding constexpr to the FColor/FLinearColor constructor makes these constants known at compile-time, and included in the readonly data section, so they don't require dynamic initialization.
[~] Also restores the original constant color values in RenderUtils.cpp
#jira none
Change 4345860 by Arciel.Rekman
Make StompMalloc return 16-byte aligned memory on 64 bit platforms (UE-63743).
#jira UE-63743
(Edigrating 4345734 from Release-4.20)
Change 4345950 by Brandon.Schaefer
Linux: Remove libelf/libdwarf fallback for symbolicating symbols during a crash
#jira UE-63103
Change 4350249 by David.Harvey
helper function to retrieve an LLM tag's name, including platform tags.
Change 4351184 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4348973 to //UE4/Dev-Console/...
Change 4351593 by Ben.Woodhouse
Clean up aggressive batching (remove xbox specific #if and //TODO)
#jira UE-46780
Change 4351734 by James.Cobbett
Setting TM-ShaderModels_Niagara to always load
Change 4351984 by Marcin.Undak
QAGame: restored platform media source in TM-ShaderModels map
Change 4353508 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4353110 to //UE4/Dev-Console/...
Change 4354237 by Anthony.Bills
[Linux] Fix Linux compilation issues due to change over to TCHAR being char16_t.
#jira UE-63544
Change 4354334 by Anthony.Bills
[Linux] (Missing file from CL 4354237) Fix Linux compilation issues due to change over to TCHAR being char16_t.
#jira UE-63544
Change 4355994 by Brandon.Schaefer
Linux: Agree not Agreed
#jira UE-63937
Change 4356068 by Joe.Barnes
Replace a duplicate DEFINE_EXPRESSION_NODE_TYPE(bool,...) causing errors with iOS unity build compiles. Remove version in ExpressionParser.cpp and include TextFilterExpressionEvaluator.h.
#jira ue-63877
Change 4357726 by David.Harvey
[iOS] add clean support for device output log, after catchup.
#jira none
Change 4357724 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4357176 to //UE4/Dev-Console/...
Change 4359634 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4359072 to //UE4/Dev-Console/...
Change 4359958 by Ben.Woodhouse
Fix FortGPUTestbed merge issues via p4 copy (content files didn't get moved before for some reason)
Change 4361108 by Anthony.Bills
Fix webm deprecation issues with DrawPrimitiveUp.
#jira UE-64012
Change 4361896 by James.Cobbett
Re-saving materials so that they render correctly outside of the editor.
Change 4362262 by Anthony.Bills
Fix for WebM video decoder crash.
#jira UE-64025
[CL 4362700 by Joe Barnes in Main branch]
2018-09-12 15:59:49 -04:00
// Apply the console variable values from the input environment before calling the platform shader compiler
for ( const auto & Pair : Input . Environment . ShaderFormatCVars )
{
IConsoleVariable * CVar = IConsoleManager : : Get ( ) . FindConsoleVariable ( * Pair . Key ) ;
if ( CVar )
{
CVar - > Set ( * Pair . Value , ECVF_SetByCode ) ;
}
}
2014-03-14 14:13:41 -04:00
// Compile the shader directly through the platform dll (directly from the shader dir as the working directory)
2019-12-19 05:37:56 -05:00
double TimeStart = FPlatformTime : : Seconds ( ) ;
2014-03-14 14:13:41 -04:00
Compiler - > CompileShader ( Input . ShaderFormat , Input , Output , WorkingDirectory ) ;
2021-03-11 21:19:35 -04:00
if ( Output . bSucceeded )
{
Output . GenerateOutputHash ( ) ;
if ( Input . CompressionFormat ! = NAME_None )
{
2022-01-04 00:58:30 -05:00
Output . CompressOutput ( Input . CompressionFormat , Input . OodleCompressor , Input . OodleLevel ) ;
2021-03-11 21:19:35 -04:00
}
}
2019-12-19 05:37:56 -05:00
Output . CompileTime = FPlatformTime : : Seconds ( ) - TimeStart ;
2020-09-24 00:43:27 -04:00
if ( Compiler - > UsesHLSLcc ( Input ) )
{
Output . bUsedHLSLccCompiler = true ;
}
2018-09-11 14:44:10 -04:00
+ + GNumProcessedJobs ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
static void UpdateFileSize ( FArchive & OutputFile , int64 FileSizePosition )
{
int64 Current = OutputFile . Tell ( ) ;
OutputFile . Seek ( FileSizePosition ) ;
OutputFile < < Current ;
OutputFile . Seek ( Current ) ;
} ;
static int64 WriteOutputFileHeader ( FArchive & OutputFile , int32 ErrorCode , int32 CallstackLength , const TCHAR * Callstack ,
int32 ExceptionInfoLength , const TCHAR * ExceptionInfo )
{
int64 FileSizePosition = 0 ;
int32 OutputVersion = ShaderCompileWorkerOutputVersion ;
OutputFile < < OutputVersion ;
int64 FileSize = 0 ;
// Get the position of the Size value to be patched in as the shader progresses
FileSizePosition = OutputFile . Tell ( ) ;
OutputFile < < FileSize ;
OutputFile < < ErrorCode ;
2018-09-11 14:44:10 -04:00
OutputFile < < GNumProcessedJobs ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
// Note: Can't use FStrings here as SEH can't be used with destructors
OutputFile < < CallstackLength ;
OutputFile < < ExceptionInfoLength ;
if ( CallstackLength > 0 )
{
OutputFile . Serialize ( ( void * ) Callstack , CallstackLength * sizeof ( TCHAR ) ) ;
}
if ( ExceptionInfoLength > 0 )
{
OutputFile . Serialize ( ( void * ) ExceptionInfo , ExceptionInfoLength * sizeof ( TCHAR ) ) ;
}
UpdateFileSize ( OutputFile , FileSizePosition ) ;
return FileSizePosition ;
}
2015-07-13 18:02:21 -04:00
2014-03-14 14:13:41 -04:00
class FWorkLoop
{
public :
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
// If we have been idle for 20 seconds then exit. Can be overriden from the cmd line with -TimeToLive=N where N is in seconds (and a float value)
float TimeToLive = 20.0f ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
FWorkLoop ( const TCHAR * ParentProcessIdText , const TCHAR * InWorkingDirectory , const TCHAR * InInputFilename , const TCHAR * InOutputFilename , TMap < FString , uint32 > & InFormatVersionMap )
2014-03-14 14:13:41 -04:00
: ParentProcessId ( FCString : : Atoi ( ParentProcessIdText ) )
, WorkingDirectory ( InWorkingDirectory )
, InputFilename ( InInputFilename )
, OutputFilename ( InOutputFilename )
2015-12-10 21:55:37 -05:00
, InputFilePath ( FString ( InWorkingDirectory ) + InInputFilename )
, OutputFilePath ( FString ( InWorkingDirectory ) + InOutputFilename )
2015-07-13 18:02:21 -04:00
, FormatVersionMap ( InFormatVersionMap )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
TArray < FString > Tokens , Switches ;
FCommandLine : : Parse ( FCommandLine : : Get ( ) , Tokens , Switches ) ;
for ( FString & Switch : Switches )
{
if ( Switch . StartsWith ( TEXT ( " TimeToLive= " ) ) )
{
float TokenTime = FCString : : Atof ( Switch . GetCharArray ( ) . GetData ( ) + 11 ) ;
if ( TokenTime > 0 )
{
TimeToLive = TokenTime ;
break ;
}
}
}
2014-03-14 14:13:41 -04:00
}
void Loop ( )
{
UE_LOG ( LogShaders , Log , TEXT ( " Entering job loop " ) ) ;
while ( true )
{
2015-10-31 10:55:13 -04:00
TArray < FJobResult > SingleJobResults ;
TArray < FPipelineJobResult > PipelineJobResults ;
2014-03-14 14:13:41 -04:00
// Read & Process Input
{
FArchive * InputFilePtr = OpenInputFile ( ) ;
if ( ! InputFilePtr )
{
break ;
}
UE_LOG ( LogShaders , Log , TEXT ( " Processing shader " ) ) ;
2015-10-31 10:55:13 -04:00
ProcessInputFromArchive ( InputFilePtr , SingleJobResults , PipelineJobResults ) ;
2014-03-14 14:13:41 -04:00
2015-12-10 21:55:37 -05:00
LastCompileTime = FPlatformTime : : Seconds ( ) ;
2014-03-14 14:13:41 -04:00
// Close the input file.
delete InputFilePtr ;
}
// Prepare for output
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
# if UE_BUILD_DEBUG
TArray < uint8 > MemBlock ;
FMemoryWriter MemWriter ( MemBlock ) ;
FArchive * OutputFilePtr = & MemWriter ;
# else
2014-03-14 14:13:41 -04:00
FArchive * OutputFilePtr = CreateOutputArchive ( ) ;
check ( OutputFilePtr ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
# endif
2015-10-31 10:55:13 -04:00
WriteToOutputArchive ( OutputFilePtr , SingleJobResults , PipelineJobResults ) ;
2014-03-14 14:13:41 -04:00
2021-02-18 18:13:28 -04:00
# if !UE_BUILD_DEBUG
2014-03-14 14:13:41 -04:00
// Close the output file.
delete OutputFilePtr ;
2021-02-18 18:13:28 -04:00
# endif
2014-03-14 14:13:41 -04:00
// Change the output file name to requested one
IFileManager : : Get ( ) . Move ( * OutputFilePath , * TempFilePath ) ;
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
if ( IsUsingXGE ( ) )
2014-12-16 20:00:07 -05:00
{
// To signal compilation completion, create a zero length file in the working directory.
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
OnXGEJobCompleted ( * WorkingDirectory ) ;
2014-12-16 20:00:07 -05:00
// We only do one pass per process when using XGE.
break ;
}
2020-09-24 00:43:27 -04:00
if ( TimeToLive = = 0 | | AnyJobUsedHLSLccCompiler ( SingleJobResults , PipelineJobResults ) )
{
UE_LOG ( LogShaders , Log , TEXT ( " TimeToLive set to 0, or used HLSLcc compiler, exiting after single job " ) ) ;
break ;
}
2014-03-14 14:13:41 -04:00
}
UE_LOG ( LogShaders , Log , TEXT ( " Exiting job loop " ) ) ;
}
private :
struct FJobResult
{
FShaderCompilerOutput CompilerOutput ;
} ;
2015-10-31 10:55:13 -04:00
struct FPipelineJobResult
{
FString PipelineName ;
TArray < FJobResult > SingleJobs ;
} ;
2014-03-14 14:13:41 -04:00
const int32 ParentProcessId ;
const FString WorkingDirectory ;
const FString InputFilename ;
const FString OutputFilename ;
const FString InputFilePath ;
const FString OutputFilePath ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
TMap < FString , uint32 > FormatVersionMap ;
2014-03-14 14:13:41 -04:00
FString TempFilePath ;
/** Opens an input file, trying multiple times if necessary. */
FArchive * OpenInputFile ( )
{
2014-08-01 02:40:54 -04:00
FArchive * InputFile = nullptr ;
2014-03-14 14:13:41 -04:00
bool bFirstOpenTry = true ;
2019-09-12 14:21:26 -04:00
while ( ! InputFile & & ! IsEngineExitRequested ( ) )
2014-03-14 14:13:41 -04:00
{
// Try to open the input file that we are going to process
2015-12-10 21:55:37 -05:00
InputFile = IFileManager : : Get ( ) . CreateFileReader ( * InputFilePath , FILEREAD_Silent ) ;
2014-03-14 14:13:41 -04:00
if ( ! InputFile & & ! bFirstOpenTry )
{
CheckExitConditions ( ) ;
// Give up CPU time while we are waiting
FPlatformProcess : : Sleep ( 0.01f ) ;
}
bFirstOpenTry = false ;
}
return InputFile ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
void VerifyFormatVersions ( TMap < FString , uint32 > & ReceivedFormatVersionMap )
2015-07-13 18:02:21 -04:00
{
for ( auto Pair : ReceivedFormatVersionMap )
{
auto * Found = FormatVersionMap . Find ( Pair . Key ) ;
if ( Found )
{
2015-08-19 17:26:48 -04:00
if ( Pair . Value ! = * Found )
{
2020-10-09 22:42:26 -04:00
ExitWithoutCrash ( ESCWErrorCode : : BadShaderFormatVersion , FString : : Printf ( TEXT ( " Mismatched shader version for format %s: Found version %u but expected %u; did you forget to build ShaderCompilerWorker? " ) , * Pair . Key , * Found , Pair . Value ) ) ;
2015-08-19 17:26:48 -04:00
}
2015-07-13 18:02:21 -04:00
}
}
}
2015-10-31 10:55:13 -04:00
void ProcessInputFromArchive ( FArchive * InputFilePtr , TArray < FJobResult > & OutSingleJobResults , TArray < FPipelineJobResult > & OutPipelineJobResults )
2014-03-14 14:13:41 -04:00
{
int32 InputVersion ;
Shader compiler improvements.
Local shader compiler:
- Not making 1 job batches (for High prio jobs) on startup
- Randomizing pending job selection to reduce chance that multiple 60+ sec jobs get into a single batch
(the above have the most effect on speed up, below is optional/misc)
- Pushing the completed jobs back to manager before, and not after, pulling new ones to reduce idle time
- Processing jobs in FIFO rather than LIFO order (change to LIFO seems like an ODSC regression? Hard to say definitively if it's a regression from the numbers, but seems odd to have the earliest jobs processed last)
- Parallel processing of input and output files (starts sequential by default to reduce the CPU overhead, but is enabled if we ever see too long write/read)
- More insights scopes
Distributed:
- Not avoiding local machine for XGE on startup
Both:
- Input file compression (disabled by default, need to better figure out when it's beneficial in a general case. Mostly for people with really slow I/O and XGE over VPN).
- More stats, also more dense stat output. Removed an unimportant one, added stats about the batches.
#rb Jason.Nadro, Ben.Ingram
#[review] [at]Jason.Nadro, [at]Ben.Ingram
#preflight 6132ec79bf137d0001ae91ee
#jira UE-125101
#ushell-cherrypick of 17448576 by Arciel.Rekman
#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 17448989 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17448996 by arciel rekman in ue5-release-engine-test branch]
2021-09-07 15:49:28 -04:00
* InputFilePtr < < InputVersion ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if ( ShaderCompileWorkerInputVersion ! = InputVersion )
{
ExitWithoutCrash ( ESCWErrorCode : : BadInputVersion , FString : : Printf ( TEXT ( " Exiting due to ShaderCompilerWorker expecting input version %d, got %d instead! Did you forget to build ShaderCompilerWorker? " ) , ShaderCompileWorkerInputVersion , InputVersion ) ) ;
}
2015-07-13 18:02:21 -04:00
Shader compiler improvements.
Local shader compiler:
- Not making 1 job batches (for High prio jobs) on startup
- Randomizing pending job selection to reduce chance that multiple 60+ sec jobs get into a single batch
(the above have the most effect on speed up, below is optional/misc)
- Pushing the completed jobs back to manager before, and not after, pulling new ones to reduce idle time
- Processing jobs in FIFO rather than LIFO order (change to LIFO seems like an ODSC regression? Hard to say definitively if it's a regression from the numbers, but seems odd to have the earliest jobs processed last)
- Parallel processing of input and output files (starts sequential by default to reduce the CPU overhead, but is enabled if we ever see too long write/read)
- More insights scopes
Distributed:
- Not avoiding local machine for XGE on startup
Both:
- Input file compression (disabled by default, need to better figure out when it's beneficial in a general case. Mostly for people with really slow I/O and XGE over VPN).
- More stats, also more dense stat output. Removed an unimportant one, added stats about the batches.
#rb Jason.Nadro, Ben.Ingram
#[review] [at]Jason.Nadro, [at]Ben.Ingram
#preflight 6132ec79bf137d0001ae91ee
#jira UE-125101
#ushell-cherrypick of 17448576 by Arciel.Rekman
#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 17448989 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17448996 by arciel rekman in ue5-release-engine-test branch]
2021-09-07 15:49:28 -04:00
FString CompressionFormatString ;
* InputFilePtr < < CompressionFormatString ;
FName CompressionFormat ( * CompressionFormatString ) ;
bool bWasCompressed = ( CompressionFormat ! = NAME_None ) ;
TArray < uint8 > UncompressedData ;
if ( bWasCompressed )
{
int32 UncompressedDataSize = 0 ;
* InputFilePtr < < UncompressedDataSize ;
if ( UncompressedDataSize = = 0 )
{
ExitWithoutCrash ( ESCWErrorCode : : BadInputFile , TEXT ( " Exiting due to bad input file to ShaderCompilerWorker (uncompressed size is 0)! Did you forget to build ShaderCompilerWorker? " ) ) ;
// unreachable
return ;
}
UncompressedData . SetNumUninitialized ( UncompressedDataSize ) ;
TArray < uint8 > CompressedData ;
* InputFilePtr < < CompressedData ;
if ( ! FCompression : : UncompressMemory ( CompressionFormat , UncompressedData . GetData ( ) , UncompressedDataSize , CompressedData . GetData ( ) , CompressedData . Num ( ) ) )
{
ExitWithoutCrash ( ESCWErrorCode : : BadInputFile , FString : : Printf ( TEXT ( " Exiting due to bad input file to ShaderCompilerWorker (cannot uncompress with the format %s)! Did you forget to build ShaderCompilerWorker? " ) , * CompressionFormatString ) ) ;
// unreachable
return ;
}
}
FMemoryReader InputMemory ( UncompressedData ) ;
FArchive & InputFile = bWasCompressed ? InputMemory : * InputFilePtr ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
TMap < FString , uint32 > ReceivedFormatVersionMap ;
2015-07-13 18:02:21 -04:00
InputFile < < ReceivedFormatVersionMap ;
VerifyFormatVersions ( ReceivedFormatVersionMap ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3372740 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3374187 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454636 by Uriel.Doyon
Fixed point light having an extra scale of 16 in mobile
#jira UE-45272
Change 3454844 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3461206 by Guillaume.Abadie
Adds possibility to scene captures and player controller to render no primitives at all.
Change 3461207 by Guillaume.Abadie
Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline.
#jira UE-6810
Change 3461233 by Chris.Bunner
Added Log10 material expression.
Added tooltip for Log2 and Log10.
Change 3461434 by Michael.Trepka
Copy of CL 3456118
In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads.
#jira UE-44961
Change 3461770 by Benjamin.Hyder
Submitting TM-RayTracedDistanceField map
Change 3461929 by Marc.Olano
Add Sobol blueprint and material node test maps to RenderTest project
Change 3462249 by Uriel.Doyon
Translucency after DoF is now disabled when showflag postprocess is disabled.
Change 3462371 by Brian.Karis
VT addressing is now 64bit to support huge sparse virtualized volumes
16bit page tables working.
Change 3462936 by Marc.Olano
Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions
Change 3464394 by Uriel.Doyon
Improved synchronization for texture streaming commands.
This fixes an issue when accessing FStreamingTexture for pending textures.
Change 3464743 by Guillaume.Abadie
Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time.
Change 3464818 by Guillaume.Abadie
Fixes compilation error in FindShaderRelativePath
Change 3465184 by Daniel.Wright
r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings
Change 3465283 by Marc.Olano
Update Sobol Gray code tables to match random order tables
Change 3465976 by Arne.Schober
DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas.
#RB none
Change 3467513 by Guillaume.Abadie
Fixes an issue where primitives would no longer draw in gameplay.
#jira UE-45550
Change 3471116 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms. Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes.
- Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error. HLSL register binds not implemented in metal backend.
#jira UE-39108
Change 3471117 by Richard.Wallis
Drop down menus clip on 27" Screen iMacs. Disable viewport HDR rendering on macOS 10.12.x when in editor.
#jira UE-43026
Change 3471130 by Richard.Wallis
Mac GPU hang causes editor output log to be written to the wrong file. Try to emulate windows behaviour when opening a file for reading or writing. Tested against behaviour of windows log file with multiple instances running.
- Only defined in for Mac and non shipping.
#jira UE-44934
Change 3471224 by Guillaume.Abadie
Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects.
Change 3471646 by Daniel.Wright
Fixed ensure opening UT system settings
Change 3471862 by Arne.Schober
DR - revert accidently checked in changes.
#RB Chris.Bunner
Change 3472249 by Guillaume.Abadie
Implements virtual shader source directory mapping.
- /Engine/... maps to Engine/Shaders/...
- /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory
- /Project/... maps to project's Shaders/ directory
Change 3472443 by Daniel.Wright
Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible
Change 3474537 by Uriel.Doyon
Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)
Change 3475192 by Guillaume.Abadie
Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475209 by Guillaume.Abadie
Back out changelist 3475192
Change 3475252 by Guillaume.Abadie
Reland: Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475389 by Guillaume.Abadie
Adds LensDistortion plugin's feature tests.
Change 3475538 by Guillaume.Abadie
Adds the /Engine/* prefix on all of the renderer's USF file references.
Change 3475568 by Guillaume.Abadie
Adds a check for virtual shader source file path format in FShaderType::FShaderType()
Change 3475871 by Guillaume.Abadie
Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath
Change 3475997 by Yujiang.Wang
Workaround for a compiler optimization bug introduced in VS2015 Update 3.
* The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark.
* Debug builds don't exhibit this bug.
* Semantics are exactly the same as the original code.
Change 3476203 by David.Hill
Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes. Only seen when Levels >=2
#jira UE-45741
Change 3476536 by Benjamin.Hyder
adding player start to Ray Traced Distance Field Shadows Map
Change 3478298 by Benjamin.Hyder
disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map
Change 3478948 by Rolando.Caloca
DR - Nicer check
Change 3478949 by Rolando.Caloca
DR - Default GPU morphs to enabled
Change 3478950 by Rolando.Caloca
DR - By default -vulkan will launch SM5
Change 3478984 by Rolando.Caloca
DR - Pass down -vulkan
Change 3479655 by Richard.Wallis
Video track does not switch in AVF Media Player. Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track.
- Minimal change to allow video track changes/selection.
- Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput. Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to...
- Flush the audio sink sample buffers so we get instant audio track changes
#jira UE-39750, UE-39749
Change 3479834 by Rolando.Caloca
DR - Fix issue with bad vertex colors (per licensee)
Change 3480376 by Guillaume.Abadie
Disables ComputeLightGrid() if no volumetric fog and no lighting.
#jira UE-45377
Change 3480596 by Yujiang.Wang
Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection
* Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection
* Fixed by taking View.bReverseCulling into account
#jira UE-34452
Change 3480600 by Yujiang.Wang
Fix for UE-42376
* The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently.
* This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap
* If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed.
#jira UE-42376
Change 3480784 by Rolando.Caloca
DR - hlslcc - Initial support for [RW]StructuredBuffer
Change 3481690 by Uriel.Doyon
Attempt to fix static analysis warning
Change 3482012 by Simon.Tovey
Fixed issue when building distribution lookup tables where the final sample fell short of the max input time.
As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT.
#tests constant interpolation now works.
#jira UE-45614
Change 3482965 by Yujiang.Wang
Some quality of life changes for UE-42757
* The UV overlay in static mesh editor now has a darker background
* Selected edges are getting highlighted and bolder
* When some edges are selected others turn grey
#jira UE-42757
Change 3483014 by David.Hill
Change labels on bloom boost from x,y,z to min, max, mult.
#jira UE-43904
a PropertyRedirect in BaseEngine.ini allows this to work with older version.
Change 3484573 by Yujiang.Wang
Fix for shadow color not updated after light build when a texture is changed and reimported
* Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter
* Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed
#jira UE-45647
Change 3484969 by Yujiang.Wang
Fix for UE-39929 inconsistent type between C++ and shader code
* MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp
* Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp
#jira UE-39929
Change 3485012 by Yujiang.Wang
Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT
#jira UE-39929
Change 3485146 by Guillaume.Abadie
Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround.
#jira UE-43455
Change 3486602 by Joe.Conley
Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph.
Change 3487471 by Yujiang.Wang
Github #3659: Improved performance of DumpUnbuiltLightInteractions
* Replaced TArrays with TSets
#jira UE-45783
Change 3487641 by Guillaume.Abadie
Fixes some shader file name casing issues in LPV.
Change 3488014 by Uriel.Doyon
New AllowAsyncLoading flag for UTexture::CachePlatformData().
It allows to load the source texture data in the async task if the source bulk data was not yet loaded.
Data loaded that way is not sharable between tasks and will be discarded.
This is required because updating the source data is not thread safe.
#jira UERNDR-190
#jira UE-33401
Change 3488249 by Uriel.Doyon
Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore.
Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change.
#jira UE-46004
Change 3490228 by Mark.Satterthwaite
Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type).
#jira UE-46067
Change 3490538 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3490551 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3491828 by Guillaume.Abadie
Fixes another USf file reference casing issue in C++.
Change 3491924 by Yujiang.Wang
Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level
* Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp
* We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black
#jira UE-43302
Change 3492359 by Guillaume.Abadie
Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping().
Change 3492367 by Marc.Olano
Change Sobol texture size to 32x16, tweak distribution
Change 3492599 by Marcus.Wassmer
PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01)
Change 3493473 by Uriel.Doyon
Back out changelist 3490538
Change 3493590 by Uriel.Doyon
Back out changelist 3490551
Fixed missing #pragma once
Change 3493911 by Marcus.Wassmer
Fix potential GPU crash/hang caused by out of bound subresource updates.
Added checks at cross-platform level to catch any instance earlier.
Change 3494139 by Uriel.Doyon
Fixed shadow variable issue on UE4Editor Linux.
Change 3494364 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt. Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4.
OpenGL left in the following areas:
- OpenGLShaderCompiler
- StandaloneRenderer
The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made:
- OpenGLTexture.cpp
#jira UE-39108
Change 3494413 by Guillaume.Abadie
Updates r.InvalidateCachedShader and bump ShaderVersion.ush.
Change 3494422 by Guillaume.Abadie
Adds LensDistortion plugin's Private shader directory.
Change 3494717 by Guillaume.Abadie
Strengthens shader compiler with checks on generated file names and shader type file names.
Change 3494763 by Guillaume.Abadie
Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path.
Change 3494985 by Rolando.Caloca
DR - Integrate Vulkan Rewrite
Change 3495031 by Rolando.Caloca
DR - Delete file as it moved
Change 3495032 by Rolando.Caloca
DR - Show Vulkan SM5 instead of SM4 on windows packaging
- Also added support for Vulkan SM5_UB
Change 3495202 by Uriel.Doyon
Fixed static analysis warning with pointer dereferencing.
Change 3495342 by Rolando.Caloca
DR - clang compile fix
Change 3495354 by Rolando.Caloca
DR - clang compile fixes
Change 3495420 by Marc.Olano
Use Sobol sampling for PCSS
Change 3495799 by Rolando.Caloca
DR - Delete old dev assets
Change 3496202 by Mark.Satterthwaite
Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass.
#jira UE-46070
Change 3496253 by Uriel.Doyon
Fixed static analysis warning for IncludeTool
Change 3496631 by Guillaume.Abadie
Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable.
Change 3496851 by Guillaume.Abadie
Fixes back slash issues in Platform.usf.
Change 3496852 by Guillaume.Abadie
Fixes other back slashes includes in PS4 specific usf files.
Change 3496941 by Guillaume.Abadie
Adds a check() for no backslash in virtual shader file paths.
Change 3497661 by Guillaume.Abadie
Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform.
Change 3497969 by Richard.Wallis
Fix for start Up Movies Are not Playing for iOS Devices. Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies.
- Tested on iOS and Mac.
#jira UE-39585
Change 3498035 by Guillaume.Abadie
Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts.
Change 3498101 by Rolando.Caloca
DR - Compile fix
Change 3498254 by Guillaume.Abadie
Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching.
Change 3498264 by Guillaume.Abadie
Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame
Change 3498371 by Yujiang.Wang
Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2
* Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews
* Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures)
#jira UE-46149
Change 3498409 by Rolando.Caloca
DR - Swap resolves
Change 3498410 by Guillaume.Abadie
Adds support for opacity output alpha for post process material when doing a draw material to render target.
Change 3498705 by Rolando.Caloca
DR - Add UID for debugging mem allocations
Change 3498759 by Marcus.Wassmer
No post processing in vertexcolor view mode
#jira UE-44704
Change 3498891 by Rolando.Caloca
DR - Minor Vulkan per frame allocator refactor in prep for changes
Change 3499206 by Rolando.Caloca
DR - Fix temp frame allocator OOM on Vulkan
#jira UE-45913
Change 3499319 by Rolando.Caloca
DR - Vulkan support for StorageBuffer
Change 3499339 by Rolando.Caloca
DR - Remove deprecated typedef
Change 3499400 by Rolando.Caloca
DR - Remove some RHICmdList deprecated functions
Change 3499422 by Rolando.Caloca
DR - Allow buffer transitions inside render passes
Change 3500370 by Rolando.Caloca
DR - Compile fix
Change 3500474 by Rolando.Caloca
DR - Fix static analysis
Change 3500517 by Guillaume.Abadie
Exposes r.PostProcessing.PropagateAlpha to the renderer settings.
Change 3500537 by Guillaume.Abadie
Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world.
#jira UE-39389
Change 3501069 by Mark.Satterthwaite
Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18.
temporary fix for skewed textures on IOS 9
#jira UE-44468
Change 3501164 by Michael.Lentine
PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist)
Change 3501222 by Benjamin.Hyder
Checking in Tm_SobolNoise map
Change 3501612 by zachary.wilson
Adding testing content for RTDF shadows on planar reflections
Change 3501708 by Guillaume.Abadie
Break FPostProcessSettings into smallers structs.
Change 3501830 by Olaf.Piesche
#jira UE-39628; using fix proposed in UDN, will investigate further
Change 3501954 by Marcus.Wassmer
Duplicate 3480903
Light culling safety measures.
Change 3502032 by Mark.Satterthwaite
Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9.
Change 3502118 by Uriel.Doyon
Fixed shader compilation issues.
Change 3502191 by Guillaume.Abadie
Implements Composure plugin to make compositing in UE4 easier.
Change 3502192 by Guillaume.Abadie
Implements Composure feature testing in EngineTests
Change 3502196 by Guillaume.Abadie
Creates a dependency of Composure plugin over LensDistortion plugin.
Change 3502213 by Arciel.Rekman
Fix for loading shaders on Linux (UE-46276).
Change 3502243 by Brian.Karis
Bent normal map support.
Multibounce AO.
Spherical Gaussian based specular occlusion.
Change 3502506 by Guillaume.Abadie
Fixes compilation failure in Composure with unity build.
Change 3502507 by Guillaume.Abadie
Fixes composure Set Pass with Render Target blueprint helper.
Change 3502510 by Guillaume.Abadie
Attempts to fix ComposureUtils.cpp compile errors.
Change 3502515 by Guillaume.Abadie
Some other composure failure fixes.
Change 3502545 by Guillaume.Abadie
Fixes some unity build related error in Composure.
Change 3502548 by Guillaume.Abadie
Fixes last missing includes in ComposurePostProcessPass.cpp
Change 3502672 by Guillaume.Abadie
Fixes linux warning in Composure.
Change 3502790 by Ryan.Brucks
float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break.
Change 3502836 by Guillaume.Abadie
Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances.
#jira UE-6810
Change 3503096 by Guillaume.Abadie
Resave a unversioned asset.
Change 3503228 by Yujiang.Wang
Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry
* Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass
* Replaced the true with bReflectiveShadowmap
#jira UE-45646
Change 3503284 by Rolando.Caloca
DR - Fixed initial clear on rendertargets
- Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4
- Dump the vulkan log into VS output log
- Added validation for layouts when using dump log
Change 3503545 by Arciel.Rekman
Fix black UI on Linux (UE-46333)
- Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist.
#jira UE-46333
Change 3503638 by Daniel.Wright
[Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding
Change 3503787 by Marcus.Wassmer
Fix difference between gpu/cpu morph target application
Change 3503902 by Marcus.Wassmer
Roll back TAA refactor until we have time to look into the bad interaction with DOF.
Change 3503953 by Arne.Schober
DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources.
#RB Marcus.Wassmer
Change 3504131 by Rolando.Caloca
DR - Maintain a cache of pipeline and descriptor set layouts
- Fix marker dump
Change 3504462 by Guillaume.Abadie
Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results.
#jira UE-46277
Change 3504779 by Chris.Bunner
Potential static analysis fix.
#jira UE-46360
Change 3504950 by Marc.Olano
Allow Sobol material nodes & textures only if feature level is at least ES3.1
#jira UE-46334
#jira UE-46317
Change 3505035 by Daniel.Wright
Increased MaxSearchCount in GetShaderIncludes. The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously.
Change 3505386 by Daniel.Wright
GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf
Change 3505491 by Rolando.Caloca
DR - Fix crash on first frame of particles on modern APIs
Change 3505557 by Chris.Bunner
[Duplicate] Workaround for outdated shader map crash.
#jira UE-46061
Change 3506071 by Rolando.Caloca
DR - Vulkan fixes
- Fix copy out of bounds reading textures to CPU
- Defer event deletion
- Split validation for errors and warnings
- Skip validation error about attachment not used
Change 3506698 by Guillaume.Abadie
Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge.
Change 3506797 by Rolando.Caloca
DR - Fix static analysis
#jira UE-46428
Change 3506861 by Rolando.Caloca
DR - Fix crash due to layering violation
#jira UE-46424
#jira UE-46431
Change 3508098 by Rolando.Caloca
DR - Fix for Vulkan ES31 crash
- Fix for AMD ensure
Change 3508123 by Rolando.Caloca
DR - Disable occlusion queries on Vulkan to avoid flickering
- Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips)
- Fix for decal blending
#jira UE-46376
Change 3509064 by Uriel.Doyon
Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found.
#jira UE-46427
Change 3509854 by Marc.Olano
Fix 2D Sobol gray code numbers.
Just changes some numbers in initialization tables, so no effect on existing tests or content.
Change 3509920 by Marcus.Wassmer
Fix LPV fastvram ensure
Change 3509937 by Rolando.Caloca
DR - Fix crash due to deleted viewport
#jira UE-46281
Change 3509988 by Marcus.Wassmer
Roll back part of Sobol fix to avoid full shader recompile for integration.
Change 3510255 by Rolando.Caloca
DR - Fix popup window ensure
#jira UE-46511
Change 3510646 by Marcus.Wassmer
fix ios compiles
Change 3511442 by Rolando.Caloca
DR - Change mesh simplification check to ensure/checkslow to unblock
#jira UE-46538
DONE!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Change 3467095 by Guillaume.Abadie
Nukes all += TEXT(".usf")
#jira UE-45530
Change 3475084 by Guillaume.Abadie
Fixes compilation failure of the shader compiler on PS4 and XboxOne
Change 3477464 by Guillaume.Abadie
Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts.
Change 3494395 by Guillaume.Abadie
Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points.
DONE!
[CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
// Apply shader source directory mappings.
{
TMap < FString , FString > DirectoryMappings ;
InputFile < < DirectoryMappings ;
2018-09-11 14:44:10 -04:00
ResetAllShaderSourceDirectoryMappings ( ) ;
2019-02-28 10:47:22 -05:00
for ( TPair < FString , FString > & MappingEntry : DirectoryMappings )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3372740 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3374187 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454636 by Uriel.Doyon
Fixed point light having an extra scale of 16 in mobile
#jira UE-45272
Change 3454844 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3461206 by Guillaume.Abadie
Adds possibility to scene captures and player controller to render no primitives at all.
Change 3461207 by Guillaume.Abadie
Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline.
#jira UE-6810
Change 3461233 by Chris.Bunner
Added Log10 material expression.
Added tooltip for Log2 and Log10.
Change 3461434 by Michael.Trepka
Copy of CL 3456118
In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads.
#jira UE-44961
Change 3461770 by Benjamin.Hyder
Submitting TM-RayTracedDistanceField map
Change 3461929 by Marc.Olano
Add Sobol blueprint and material node test maps to RenderTest project
Change 3462249 by Uriel.Doyon
Translucency after DoF is now disabled when showflag postprocess is disabled.
Change 3462371 by Brian.Karis
VT addressing is now 64bit to support huge sparse virtualized volumes
16bit page tables working.
Change 3462936 by Marc.Olano
Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions
Change 3464394 by Uriel.Doyon
Improved synchronization for texture streaming commands.
This fixes an issue when accessing FStreamingTexture for pending textures.
Change 3464743 by Guillaume.Abadie
Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time.
Change 3464818 by Guillaume.Abadie
Fixes compilation error in FindShaderRelativePath
Change 3465184 by Daniel.Wright
r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings
Change 3465283 by Marc.Olano
Update Sobol Gray code tables to match random order tables
Change 3465976 by Arne.Schober
DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas.
#RB none
Change 3467513 by Guillaume.Abadie
Fixes an issue where primitives would no longer draw in gameplay.
#jira UE-45550
Change 3471116 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms. Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes.
- Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error. HLSL register binds not implemented in metal backend.
#jira UE-39108
Change 3471117 by Richard.Wallis
Drop down menus clip on 27" Screen iMacs. Disable viewport HDR rendering on macOS 10.12.x when in editor.
#jira UE-43026
Change 3471130 by Richard.Wallis
Mac GPU hang causes editor output log to be written to the wrong file. Try to emulate windows behaviour when opening a file for reading or writing. Tested against behaviour of windows log file with multiple instances running.
- Only defined in for Mac and non shipping.
#jira UE-44934
Change 3471224 by Guillaume.Abadie
Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects.
Change 3471646 by Daniel.Wright
Fixed ensure opening UT system settings
Change 3471862 by Arne.Schober
DR - revert accidently checked in changes.
#RB Chris.Bunner
Change 3472249 by Guillaume.Abadie
Implements virtual shader source directory mapping.
- /Engine/... maps to Engine/Shaders/...
- /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory
- /Project/... maps to project's Shaders/ directory
Change 3472443 by Daniel.Wright
Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible
Change 3474537 by Uriel.Doyon
Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)
Change 3475192 by Guillaume.Abadie
Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475209 by Guillaume.Abadie
Back out changelist 3475192
Change 3475252 by Guillaume.Abadie
Reland: Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475389 by Guillaume.Abadie
Adds LensDistortion plugin's feature tests.
Change 3475538 by Guillaume.Abadie
Adds the /Engine/* prefix on all of the renderer's USF file references.
Change 3475568 by Guillaume.Abadie
Adds a check for virtual shader source file path format in FShaderType::FShaderType()
Change 3475871 by Guillaume.Abadie
Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath
Change 3475997 by Yujiang.Wang
Workaround for a compiler optimization bug introduced in VS2015 Update 3.
* The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark.
* Debug builds don't exhibit this bug.
* Semantics are exactly the same as the original code.
Change 3476203 by David.Hill
Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes. Only seen when Levels >=2
#jira UE-45741
Change 3476536 by Benjamin.Hyder
adding player start to Ray Traced Distance Field Shadows Map
Change 3478298 by Benjamin.Hyder
disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map
Change 3478948 by Rolando.Caloca
DR - Nicer check
Change 3478949 by Rolando.Caloca
DR - Default GPU morphs to enabled
Change 3478950 by Rolando.Caloca
DR - By default -vulkan will launch SM5
Change 3478984 by Rolando.Caloca
DR - Pass down -vulkan
Change 3479655 by Richard.Wallis
Video track does not switch in AVF Media Player. Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track.
- Minimal change to allow video track changes/selection.
- Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput. Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to...
- Flush the audio sink sample buffers so we get instant audio track changes
#jira UE-39750, UE-39749
Change 3479834 by Rolando.Caloca
DR - Fix issue with bad vertex colors (per licensee)
Change 3480376 by Guillaume.Abadie
Disables ComputeLightGrid() if no volumetric fog and no lighting.
#jira UE-45377
Change 3480596 by Yujiang.Wang
Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection
* Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection
* Fixed by taking View.bReverseCulling into account
#jira UE-34452
Change 3480600 by Yujiang.Wang
Fix for UE-42376
* The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently.
* This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap
* If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed.
#jira UE-42376
Change 3480784 by Rolando.Caloca
DR - hlslcc - Initial support for [RW]StructuredBuffer
Change 3481690 by Uriel.Doyon
Attempt to fix static analysis warning
Change 3482012 by Simon.Tovey
Fixed issue when building distribution lookup tables where the final sample fell short of the max input time.
As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT.
#tests constant interpolation now works.
#jira UE-45614
Change 3482965 by Yujiang.Wang
Some quality of life changes for UE-42757
* The UV overlay in static mesh editor now has a darker background
* Selected edges are getting highlighted and bolder
* When some edges are selected others turn grey
#jira UE-42757
Change 3483014 by David.Hill
Change labels on bloom boost from x,y,z to min, max, mult.
#jira UE-43904
a PropertyRedirect in BaseEngine.ini allows this to work with older version.
Change 3484573 by Yujiang.Wang
Fix for shadow color not updated after light build when a texture is changed and reimported
* Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter
* Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed
#jira UE-45647
Change 3484969 by Yujiang.Wang
Fix for UE-39929 inconsistent type between C++ and shader code
* MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp
* Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp
#jira UE-39929
Change 3485012 by Yujiang.Wang
Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT
#jira UE-39929
Change 3485146 by Guillaume.Abadie
Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround.
#jira UE-43455
Change 3486602 by Joe.Conley
Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph.
Change 3487471 by Yujiang.Wang
Github #3659: Improved performance of DumpUnbuiltLightInteractions
* Replaced TArrays with TSets
#jira UE-45783
Change 3487641 by Guillaume.Abadie
Fixes some shader file name casing issues in LPV.
Change 3488014 by Uriel.Doyon
New AllowAsyncLoading flag for UTexture::CachePlatformData().
It allows to load the source texture data in the async task if the source bulk data was not yet loaded.
Data loaded that way is not sharable between tasks and will be discarded.
This is required because updating the source data is not thread safe.
#jira UERNDR-190
#jira UE-33401
Change 3488249 by Uriel.Doyon
Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore.
Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change.
#jira UE-46004
Change 3490228 by Mark.Satterthwaite
Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type).
#jira UE-46067
Change 3490538 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3490551 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3491828 by Guillaume.Abadie
Fixes another USf file reference casing issue in C++.
Change 3491924 by Yujiang.Wang
Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level
* Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp
* We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black
#jira UE-43302
Change 3492359 by Guillaume.Abadie
Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping().
Change 3492367 by Marc.Olano
Change Sobol texture size to 32x16, tweak distribution
Change 3492599 by Marcus.Wassmer
PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01)
Change 3493473 by Uriel.Doyon
Back out changelist 3490538
Change 3493590 by Uriel.Doyon
Back out changelist 3490551
Fixed missing #pragma once
Change 3493911 by Marcus.Wassmer
Fix potential GPU crash/hang caused by out of bound subresource updates.
Added checks at cross-platform level to catch any instance earlier.
Change 3494139 by Uriel.Doyon
Fixed shadow variable issue on UE4Editor Linux.
Change 3494364 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt. Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4.
OpenGL left in the following areas:
- OpenGLShaderCompiler
- StandaloneRenderer
The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made:
- OpenGLTexture.cpp
#jira UE-39108
Change 3494413 by Guillaume.Abadie
Updates r.InvalidateCachedShader and bump ShaderVersion.ush.
Change 3494422 by Guillaume.Abadie
Adds LensDistortion plugin's Private shader directory.
Change 3494717 by Guillaume.Abadie
Strengthens shader compiler with checks on generated file names and shader type file names.
Change 3494763 by Guillaume.Abadie
Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path.
Change 3494985 by Rolando.Caloca
DR - Integrate Vulkan Rewrite
Change 3495031 by Rolando.Caloca
DR - Delete file as it moved
Change 3495032 by Rolando.Caloca
DR - Show Vulkan SM5 instead of SM4 on windows packaging
- Also added support for Vulkan SM5_UB
Change 3495202 by Uriel.Doyon
Fixed static analysis warning with pointer dereferencing.
Change 3495342 by Rolando.Caloca
DR - clang compile fix
Change 3495354 by Rolando.Caloca
DR - clang compile fixes
Change 3495420 by Marc.Olano
Use Sobol sampling for PCSS
Change 3495799 by Rolando.Caloca
DR - Delete old dev assets
Change 3496202 by Mark.Satterthwaite
Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass.
#jira UE-46070
Change 3496253 by Uriel.Doyon
Fixed static analysis warning for IncludeTool
Change 3496631 by Guillaume.Abadie
Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable.
Change 3496851 by Guillaume.Abadie
Fixes back slash issues in Platform.usf.
Change 3496852 by Guillaume.Abadie
Fixes other back slashes includes in PS4 specific usf files.
Change 3496941 by Guillaume.Abadie
Adds a check() for no backslash in virtual shader file paths.
Change 3497661 by Guillaume.Abadie
Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform.
Change 3497969 by Richard.Wallis
Fix for start Up Movies Are not Playing for iOS Devices. Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies.
- Tested on iOS and Mac.
#jira UE-39585
Change 3498035 by Guillaume.Abadie
Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts.
Change 3498101 by Rolando.Caloca
DR - Compile fix
Change 3498254 by Guillaume.Abadie
Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching.
Change 3498264 by Guillaume.Abadie
Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame
Change 3498371 by Yujiang.Wang
Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2
* Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews
* Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures)
#jira UE-46149
Change 3498409 by Rolando.Caloca
DR - Swap resolves
Change 3498410 by Guillaume.Abadie
Adds support for opacity output alpha for post process material when doing a draw material to render target.
Change 3498705 by Rolando.Caloca
DR - Add UID for debugging mem allocations
Change 3498759 by Marcus.Wassmer
No post processing in vertexcolor view mode
#jira UE-44704
Change 3498891 by Rolando.Caloca
DR - Minor Vulkan per frame allocator refactor in prep for changes
Change 3499206 by Rolando.Caloca
DR - Fix temp frame allocator OOM on Vulkan
#jira UE-45913
Change 3499319 by Rolando.Caloca
DR - Vulkan support for StorageBuffer
Change 3499339 by Rolando.Caloca
DR - Remove deprecated typedef
Change 3499400 by Rolando.Caloca
DR - Remove some RHICmdList deprecated functions
Change 3499422 by Rolando.Caloca
DR - Allow buffer transitions inside render passes
Change 3500370 by Rolando.Caloca
DR - Compile fix
Change 3500474 by Rolando.Caloca
DR - Fix static analysis
Change 3500517 by Guillaume.Abadie
Exposes r.PostProcessing.PropagateAlpha to the renderer settings.
Change 3500537 by Guillaume.Abadie
Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world.
#jira UE-39389
Change 3501069 by Mark.Satterthwaite
Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18.
temporary fix for skewed textures on IOS 9
#jira UE-44468
Change 3501164 by Michael.Lentine
PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist)
Change 3501222 by Benjamin.Hyder
Checking in Tm_SobolNoise map
Change 3501612 by zachary.wilson
Adding testing content for RTDF shadows on planar reflections
Change 3501708 by Guillaume.Abadie
Break FPostProcessSettings into smallers structs.
Change 3501830 by Olaf.Piesche
#jira UE-39628; using fix proposed in UDN, will investigate further
Change 3501954 by Marcus.Wassmer
Duplicate 3480903
Light culling safety measures.
Change 3502032 by Mark.Satterthwaite
Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9.
Change 3502118 by Uriel.Doyon
Fixed shader compilation issues.
Change 3502191 by Guillaume.Abadie
Implements Composure plugin to make compositing in UE4 easier.
Change 3502192 by Guillaume.Abadie
Implements Composure feature testing in EngineTests
Change 3502196 by Guillaume.Abadie
Creates a dependency of Composure plugin over LensDistortion plugin.
Change 3502213 by Arciel.Rekman
Fix for loading shaders on Linux (UE-46276).
Change 3502243 by Brian.Karis
Bent normal map support.
Multibounce AO.
Spherical Gaussian based specular occlusion.
Change 3502506 by Guillaume.Abadie
Fixes compilation failure in Composure with unity build.
Change 3502507 by Guillaume.Abadie
Fixes composure Set Pass with Render Target blueprint helper.
Change 3502510 by Guillaume.Abadie
Attempts to fix ComposureUtils.cpp compile errors.
Change 3502515 by Guillaume.Abadie
Some other composure failure fixes.
Change 3502545 by Guillaume.Abadie
Fixes some unity build related error in Composure.
Change 3502548 by Guillaume.Abadie
Fixes last missing includes in ComposurePostProcessPass.cpp
Change 3502672 by Guillaume.Abadie
Fixes linux warning in Composure.
Change 3502790 by Ryan.Brucks
float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break.
Change 3502836 by Guillaume.Abadie
Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances.
#jira UE-6810
Change 3503096 by Guillaume.Abadie
Resave a unversioned asset.
Change 3503228 by Yujiang.Wang
Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry
* Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass
* Replaced the true with bReflectiveShadowmap
#jira UE-45646
Change 3503284 by Rolando.Caloca
DR - Fixed initial clear on rendertargets
- Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4
- Dump the vulkan log into VS output log
- Added validation for layouts when using dump log
Change 3503545 by Arciel.Rekman
Fix black UI on Linux (UE-46333)
- Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist.
#jira UE-46333
Change 3503638 by Daniel.Wright
[Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding
Change 3503787 by Marcus.Wassmer
Fix difference between gpu/cpu morph target application
Change 3503902 by Marcus.Wassmer
Roll back TAA refactor until we have time to look into the bad interaction with DOF.
Change 3503953 by Arne.Schober
DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources.
#RB Marcus.Wassmer
Change 3504131 by Rolando.Caloca
DR - Maintain a cache of pipeline and descriptor set layouts
- Fix marker dump
Change 3504462 by Guillaume.Abadie
Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results.
#jira UE-46277
Change 3504779 by Chris.Bunner
Potential static analysis fix.
#jira UE-46360
Change 3504950 by Marc.Olano
Allow Sobol material nodes & textures only if feature level is at least ES3.1
#jira UE-46334
#jira UE-46317
Change 3505035 by Daniel.Wright
Increased MaxSearchCount in GetShaderIncludes. The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously.
Change 3505386 by Daniel.Wright
GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf
Change 3505491 by Rolando.Caloca
DR - Fix crash on first frame of particles on modern APIs
Change 3505557 by Chris.Bunner
[Duplicate] Workaround for outdated shader map crash.
#jira UE-46061
Change 3506071 by Rolando.Caloca
DR - Vulkan fixes
- Fix copy out of bounds reading textures to CPU
- Defer event deletion
- Split validation for errors and warnings
- Skip validation error about attachment not used
Change 3506698 by Guillaume.Abadie
Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge.
Change 3506797 by Rolando.Caloca
DR - Fix static analysis
#jira UE-46428
Change 3506861 by Rolando.Caloca
DR - Fix crash due to layering violation
#jira UE-46424
#jira UE-46431
Change 3508098 by Rolando.Caloca
DR - Fix for Vulkan ES31 crash
- Fix for AMD ensure
Change 3508123 by Rolando.Caloca
DR - Disable occlusion queries on Vulkan to avoid flickering
- Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips)
- Fix for decal blending
#jira UE-46376
Change 3509064 by Uriel.Doyon
Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found.
#jira UE-46427
Change 3509854 by Marc.Olano
Fix 2D Sobol gray code numbers.
Just changes some numbers in initialization tables, so no effect on existing tests or content.
Change 3509920 by Marcus.Wassmer
Fix LPV fastvram ensure
Change 3509937 by Rolando.Caloca
DR - Fix crash due to deleted viewport
#jira UE-46281
Change 3509988 by Marcus.Wassmer
Roll back part of Sobol fix to avoid full shader recompile for integration.
Change 3510255 by Rolando.Caloca
DR - Fix popup window ensure
#jira UE-46511
Change 3510646 by Marcus.Wassmer
fix ios compiles
Change 3511442 by Rolando.Caloca
DR - Change mesh simplification check to ensure/checkslow to unblock
#jira UE-46538
DONE!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Change 3467095 by Guillaume.Abadie
Nukes all += TEXT(".usf")
#jira UE-45530
Change 3475084 by Guillaume.Abadie
Fixes compilation failure of the shader compiler on PS4 and XboxOne
Change 3477464 by Guillaume.Abadie
Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts.
Change 3494395 by Guillaume.Abadie
Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points.
DONE!
[CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
{
2019-02-28 10:47:22 -05:00
FPaths : : NormalizeDirectoryName ( MappingEntry . Value ) ;
2018-09-11 14:44:10 -04:00
AddShaderSourceDirectoryMapping ( MappingEntry . Key , MappingEntry . Value ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3372740 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3374187 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454636 by Uriel.Doyon
Fixed point light having an extra scale of 16 in mobile
#jira UE-45272
Change 3454844 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3461206 by Guillaume.Abadie
Adds possibility to scene captures and player controller to render no primitives at all.
Change 3461207 by Guillaume.Abadie
Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline.
#jira UE-6810
Change 3461233 by Chris.Bunner
Added Log10 material expression.
Added tooltip for Log2 and Log10.
Change 3461434 by Michael.Trepka
Copy of CL 3456118
In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads.
#jira UE-44961
Change 3461770 by Benjamin.Hyder
Submitting TM-RayTracedDistanceField map
Change 3461929 by Marc.Olano
Add Sobol blueprint and material node test maps to RenderTest project
Change 3462249 by Uriel.Doyon
Translucency after DoF is now disabled when showflag postprocess is disabled.
Change 3462371 by Brian.Karis
VT addressing is now 64bit to support huge sparse virtualized volumes
16bit page tables working.
Change 3462936 by Marc.Olano
Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions
Change 3464394 by Uriel.Doyon
Improved synchronization for texture streaming commands.
This fixes an issue when accessing FStreamingTexture for pending textures.
Change 3464743 by Guillaume.Abadie
Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time.
Change 3464818 by Guillaume.Abadie
Fixes compilation error in FindShaderRelativePath
Change 3465184 by Daniel.Wright
r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings
Change 3465283 by Marc.Olano
Update Sobol Gray code tables to match random order tables
Change 3465976 by Arne.Schober
DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas.
#RB none
Change 3467513 by Guillaume.Abadie
Fixes an issue where primitives would no longer draw in gameplay.
#jira UE-45550
Change 3471116 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms. Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes.
- Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error. HLSL register binds not implemented in metal backend.
#jira UE-39108
Change 3471117 by Richard.Wallis
Drop down menus clip on 27" Screen iMacs. Disable viewport HDR rendering on macOS 10.12.x when in editor.
#jira UE-43026
Change 3471130 by Richard.Wallis
Mac GPU hang causes editor output log to be written to the wrong file. Try to emulate windows behaviour when opening a file for reading or writing. Tested against behaviour of windows log file with multiple instances running.
- Only defined in for Mac and non shipping.
#jira UE-44934
Change 3471224 by Guillaume.Abadie
Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects.
Change 3471646 by Daniel.Wright
Fixed ensure opening UT system settings
Change 3471862 by Arne.Schober
DR - revert accidently checked in changes.
#RB Chris.Bunner
Change 3472249 by Guillaume.Abadie
Implements virtual shader source directory mapping.
- /Engine/... maps to Engine/Shaders/...
- /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory
- /Project/... maps to project's Shaders/ directory
Change 3472443 by Daniel.Wright
Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible
Change 3474537 by Uriel.Doyon
Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)
Change 3475192 by Guillaume.Abadie
Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475209 by Guillaume.Abadie
Back out changelist 3475192
Change 3475252 by Guillaume.Abadie
Reland: Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475389 by Guillaume.Abadie
Adds LensDistortion plugin's feature tests.
Change 3475538 by Guillaume.Abadie
Adds the /Engine/* prefix on all of the renderer's USF file references.
Change 3475568 by Guillaume.Abadie
Adds a check for virtual shader source file path format in FShaderType::FShaderType()
Change 3475871 by Guillaume.Abadie
Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath
Change 3475997 by Yujiang.Wang
Workaround for a compiler optimization bug introduced in VS2015 Update 3.
* The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark.
* Debug builds don't exhibit this bug.
* Semantics are exactly the same as the original code.
Change 3476203 by David.Hill
Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes. Only seen when Levels >=2
#jira UE-45741
Change 3476536 by Benjamin.Hyder
adding player start to Ray Traced Distance Field Shadows Map
Change 3478298 by Benjamin.Hyder
disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map
Change 3478948 by Rolando.Caloca
DR - Nicer check
Change 3478949 by Rolando.Caloca
DR - Default GPU morphs to enabled
Change 3478950 by Rolando.Caloca
DR - By default -vulkan will launch SM5
Change 3478984 by Rolando.Caloca
DR - Pass down -vulkan
Change 3479655 by Richard.Wallis
Video track does not switch in AVF Media Player. Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track.
- Minimal change to allow video track changes/selection.
- Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput. Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to...
- Flush the audio sink sample buffers so we get instant audio track changes
#jira UE-39750, UE-39749
Change 3479834 by Rolando.Caloca
DR - Fix issue with bad vertex colors (per licensee)
Change 3480376 by Guillaume.Abadie
Disables ComputeLightGrid() if no volumetric fog and no lighting.
#jira UE-45377
Change 3480596 by Yujiang.Wang
Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection
* Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection
* Fixed by taking View.bReverseCulling into account
#jira UE-34452
Change 3480600 by Yujiang.Wang
Fix for UE-42376
* The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently.
* This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap
* If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed.
#jira UE-42376
Change 3480784 by Rolando.Caloca
DR - hlslcc - Initial support for [RW]StructuredBuffer
Change 3481690 by Uriel.Doyon
Attempt to fix static analysis warning
Change 3482012 by Simon.Tovey
Fixed issue when building distribution lookup tables where the final sample fell short of the max input time.
As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT.
#tests constant interpolation now works.
#jira UE-45614
Change 3482965 by Yujiang.Wang
Some quality of life changes for UE-42757
* The UV overlay in static mesh editor now has a darker background
* Selected edges are getting highlighted and bolder
* When some edges are selected others turn grey
#jira UE-42757
Change 3483014 by David.Hill
Change labels on bloom boost from x,y,z to min, max, mult.
#jira UE-43904
a PropertyRedirect in BaseEngine.ini allows this to work with older version.
Change 3484573 by Yujiang.Wang
Fix for shadow color not updated after light build when a texture is changed and reimported
* Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter
* Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed
#jira UE-45647
Change 3484969 by Yujiang.Wang
Fix for UE-39929 inconsistent type between C++ and shader code
* MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp
* Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp
#jira UE-39929
Change 3485012 by Yujiang.Wang
Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT
#jira UE-39929
Change 3485146 by Guillaume.Abadie
Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround.
#jira UE-43455
Change 3486602 by Joe.Conley
Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph.
Change 3487471 by Yujiang.Wang
Github #3659: Improved performance of DumpUnbuiltLightInteractions
* Replaced TArrays with TSets
#jira UE-45783
Change 3487641 by Guillaume.Abadie
Fixes some shader file name casing issues in LPV.
Change 3488014 by Uriel.Doyon
New AllowAsyncLoading flag for UTexture::CachePlatformData().
It allows to load the source texture data in the async task if the source bulk data was not yet loaded.
Data loaded that way is not sharable between tasks and will be discarded.
This is required because updating the source data is not thread safe.
#jira UERNDR-190
#jira UE-33401
Change 3488249 by Uriel.Doyon
Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore.
Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change.
#jira UE-46004
Change 3490228 by Mark.Satterthwaite
Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type).
#jira UE-46067
Change 3490538 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3490551 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3491828 by Guillaume.Abadie
Fixes another USf file reference casing issue in C++.
Change 3491924 by Yujiang.Wang
Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level
* Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp
* We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black
#jira UE-43302
Change 3492359 by Guillaume.Abadie
Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping().
Change 3492367 by Marc.Olano
Change Sobol texture size to 32x16, tweak distribution
Change 3492599 by Marcus.Wassmer
PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01)
Change 3493473 by Uriel.Doyon
Back out changelist 3490538
Change 3493590 by Uriel.Doyon
Back out changelist 3490551
Fixed missing #pragma once
Change 3493911 by Marcus.Wassmer
Fix potential GPU crash/hang caused by out of bound subresource updates.
Added checks at cross-platform level to catch any instance earlier.
Change 3494139 by Uriel.Doyon
Fixed shadow variable issue on UE4Editor Linux.
Change 3494364 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt. Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4.
OpenGL left in the following areas:
- OpenGLShaderCompiler
- StandaloneRenderer
The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made:
- OpenGLTexture.cpp
#jira UE-39108
Change 3494413 by Guillaume.Abadie
Updates r.InvalidateCachedShader and bump ShaderVersion.ush.
Change 3494422 by Guillaume.Abadie
Adds LensDistortion plugin's Private shader directory.
Change 3494717 by Guillaume.Abadie
Strengthens shader compiler with checks on generated file names and shader type file names.
Change 3494763 by Guillaume.Abadie
Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path.
Change 3494985 by Rolando.Caloca
DR - Integrate Vulkan Rewrite
Change 3495031 by Rolando.Caloca
DR - Delete file as it moved
Change 3495032 by Rolando.Caloca
DR - Show Vulkan SM5 instead of SM4 on windows packaging
- Also added support for Vulkan SM5_UB
Change 3495202 by Uriel.Doyon
Fixed static analysis warning with pointer dereferencing.
Change 3495342 by Rolando.Caloca
DR - clang compile fix
Change 3495354 by Rolando.Caloca
DR - clang compile fixes
Change 3495420 by Marc.Olano
Use Sobol sampling for PCSS
Change 3495799 by Rolando.Caloca
DR - Delete old dev assets
Change 3496202 by Mark.Satterthwaite
Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass.
#jira UE-46070
Change 3496253 by Uriel.Doyon
Fixed static analysis warning for IncludeTool
Change 3496631 by Guillaume.Abadie
Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable.
Change 3496851 by Guillaume.Abadie
Fixes back slash issues in Platform.usf.
Change 3496852 by Guillaume.Abadie
Fixes other back slashes includes in PS4 specific usf files.
Change 3496941 by Guillaume.Abadie
Adds a check() for no backslash in virtual shader file paths.
Change 3497661 by Guillaume.Abadie
Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform.
Change 3497969 by Richard.Wallis
Fix for start Up Movies Are not Playing for iOS Devices. Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies.
- Tested on iOS and Mac.
#jira UE-39585
Change 3498035 by Guillaume.Abadie
Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts.
Change 3498101 by Rolando.Caloca
DR - Compile fix
Change 3498254 by Guillaume.Abadie
Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching.
Change 3498264 by Guillaume.Abadie
Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame
Change 3498371 by Yujiang.Wang
Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2
* Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews
* Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures)
#jira UE-46149
Change 3498409 by Rolando.Caloca
DR - Swap resolves
Change 3498410 by Guillaume.Abadie
Adds support for opacity output alpha for post process material when doing a draw material to render target.
Change 3498705 by Rolando.Caloca
DR - Add UID for debugging mem allocations
Change 3498759 by Marcus.Wassmer
No post processing in vertexcolor view mode
#jira UE-44704
Change 3498891 by Rolando.Caloca
DR - Minor Vulkan per frame allocator refactor in prep for changes
Change 3499206 by Rolando.Caloca
DR - Fix temp frame allocator OOM on Vulkan
#jira UE-45913
Change 3499319 by Rolando.Caloca
DR - Vulkan support for StorageBuffer
Change 3499339 by Rolando.Caloca
DR - Remove deprecated typedef
Change 3499400 by Rolando.Caloca
DR - Remove some RHICmdList deprecated functions
Change 3499422 by Rolando.Caloca
DR - Allow buffer transitions inside render passes
Change 3500370 by Rolando.Caloca
DR - Compile fix
Change 3500474 by Rolando.Caloca
DR - Fix static analysis
Change 3500517 by Guillaume.Abadie
Exposes r.PostProcessing.PropagateAlpha to the renderer settings.
Change 3500537 by Guillaume.Abadie
Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world.
#jira UE-39389
Change 3501069 by Mark.Satterthwaite
Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18.
temporary fix for skewed textures on IOS 9
#jira UE-44468
Change 3501164 by Michael.Lentine
PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist)
Change 3501222 by Benjamin.Hyder
Checking in Tm_SobolNoise map
Change 3501612 by zachary.wilson
Adding testing content for RTDF shadows on planar reflections
Change 3501708 by Guillaume.Abadie
Break FPostProcessSettings into smallers structs.
Change 3501830 by Olaf.Piesche
#jira UE-39628; using fix proposed in UDN, will investigate further
Change 3501954 by Marcus.Wassmer
Duplicate 3480903
Light culling safety measures.
Change 3502032 by Mark.Satterthwaite
Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9.
Change 3502118 by Uriel.Doyon
Fixed shader compilation issues.
Change 3502191 by Guillaume.Abadie
Implements Composure plugin to make compositing in UE4 easier.
Change 3502192 by Guillaume.Abadie
Implements Composure feature testing in EngineTests
Change 3502196 by Guillaume.Abadie
Creates a dependency of Composure plugin over LensDistortion plugin.
Change 3502213 by Arciel.Rekman
Fix for loading shaders on Linux (UE-46276).
Change 3502243 by Brian.Karis
Bent normal map support.
Multibounce AO.
Spherical Gaussian based specular occlusion.
Change 3502506 by Guillaume.Abadie
Fixes compilation failure in Composure with unity build.
Change 3502507 by Guillaume.Abadie
Fixes composure Set Pass with Render Target blueprint helper.
Change 3502510 by Guillaume.Abadie
Attempts to fix ComposureUtils.cpp compile errors.
Change 3502515 by Guillaume.Abadie
Some other composure failure fixes.
Change 3502545 by Guillaume.Abadie
Fixes some unity build related error in Composure.
Change 3502548 by Guillaume.Abadie
Fixes last missing includes in ComposurePostProcessPass.cpp
Change 3502672 by Guillaume.Abadie
Fixes linux warning in Composure.
Change 3502790 by Ryan.Brucks
float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break.
Change 3502836 by Guillaume.Abadie
Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances.
#jira UE-6810
Change 3503096 by Guillaume.Abadie
Resave a unversioned asset.
Change 3503228 by Yujiang.Wang
Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry
* Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass
* Replaced the true with bReflectiveShadowmap
#jira UE-45646
Change 3503284 by Rolando.Caloca
DR - Fixed initial clear on rendertargets
- Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4
- Dump the vulkan log into VS output log
- Added validation for layouts when using dump log
Change 3503545 by Arciel.Rekman
Fix black UI on Linux (UE-46333)
- Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist.
#jira UE-46333
Change 3503638 by Daniel.Wright
[Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding
Change 3503787 by Marcus.Wassmer
Fix difference between gpu/cpu morph target application
Change 3503902 by Marcus.Wassmer
Roll back TAA refactor until we have time to look into the bad interaction with DOF.
Change 3503953 by Arne.Schober
DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources.
#RB Marcus.Wassmer
Change 3504131 by Rolando.Caloca
DR - Maintain a cache of pipeline and descriptor set layouts
- Fix marker dump
Change 3504462 by Guillaume.Abadie
Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results.
#jira UE-46277
Change 3504779 by Chris.Bunner
Potential static analysis fix.
#jira UE-46360
Change 3504950 by Marc.Olano
Allow Sobol material nodes & textures only if feature level is at least ES3.1
#jira UE-46334
#jira UE-46317
Change 3505035 by Daniel.Wright
Increased MaxSearchCount in GetShaderIncludes. The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously.
Change 3505386 by Daniel.Wright
GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf
Change 3505491 by Rolando.Caloca
DR - Fix crash on first frame of particles on modern APIs
Change 3505557 by Chris.Bunner
[Duplicate] Workaround for outdated shader map crash.
#jira UE-46061
Change 3506071 by Rolando.Caloca
DR - Vulkan fixes
- Fix copy out of bounds reading textures to CPU
- Defer event deletion
- Split validation for errors and warnings
- Skip validation error about attachment not used
Change 3506698 by Guillaume.Abadie
Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge.
Change 3506797 by Rolando.Caloca
DR - Fix static analysis
#jira UE-46428
Change 3506861 by Rolando.Caloca
DR - Fix crash due to layering violation
#jira UE-46424
#jira UE-46431
Change 3508098 by Rolando.Caloca
DR - Fix for Vulkan ES31 crash
- Fix for AMD ensure
Change 3508123 by Rolando.Caloca
DR - Disable occlusion queries on Vulkan to avoid flickering
- Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips)
- Fix for decal blending
#jira UE-46376
Change 3509064 by Uriel.Doyon
Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found.
#jira UE-46427
Change 3509854 by Marc.Olano
Fix 2D Sobol gray code numbers.
Just changes some numbers in initialization tables, so no effect on existing tests or content.
Change 3509920 by Marcus.Wassmer
Fix LPV fastvram ensure
Change 3509937 by Rolando.Caloca
DR - Fix crash due to deleted viewport
#jira UE-46281
Change 3509988 by Marcus.Wassmer
Roll back part of Sobol fix to avoid full shader recompile for integration.
Change 3510255 by Rolando.Caloca
DR - Fix popup window ensure
#jira UE-46511
Change 3510646 by Marcus.Wassmer
fix ios compiles
Change 3511442 by Rolando.Caloca
DR - Change mesh simplification check to ensure/checkslow to unblock
#jira UE-46538
DONE!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Change 3467095 by Guillaume.Abadie
Nukes all += TEXT(".usf")
#jira UE-45530
Change 3475084 by Guillaume.Abadie
Fixes compilation failure of the shader compiler on PS4 and XboxOne
Change 3477464 by Guillaume.Abadie
Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts.
Change 3494395 by Guillaume.Abadie
Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points.
DONE!
[CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
}
}
2014-03-14 14:13:41 -04:00
2018-09-11 14:44:10 -04:00
// Initialize shader hash cache before reading any includes.
InitializeShaderHashCache ( ) ;
2021-03-16 16:19:23 -04:00
// Array of string used as const TCHAR* during compilation process.
TArray < TUniquePtr < FString > > AllocatedStrings ;
auto DeserializeConstTCHAR = [ & AllocatedStrings ] ( FArchive & Archive )
{
FString Name ;
Archive < < Name ;
const TCHAR * CharName = nullptr ;
if ( Name . Len ( ) ! = 0 )
{
if ( AllocatedStrings . GetSlack ( ) = = 0 )
{
AllocatedStrings . Reserve ( AllocatedStrings . Num ( ) + 1024 ) ;
}
AllocatedStrings . Add ( MakeUnique < FString > ( Name ) ) ;
CharName = * * AllocatedStrings . Last ( ) ;
}
return CharName ;
} ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3809756)
#rb None
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3629223 by Rolando.Caloca
DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847
Change 3629708 by Rolando.Caloca
DR - vk - Redo some changes from DevMobile
3601439
3604186
3606672
3617383
3617474
3617483
Change 3761370 by Arne.Schober
DR - Added CityHash to use with conatiners and stuff. It provides good performance and high quallity across multiple platforms.
Change 3761437 by Guillaume.Abadie
Optimises motion blur compute shader for consoles.
Change 3761483 by Guillaume.Abadie
Fixes D3D11 RHI lying to dynamic resolution heuristic with t.MaxFPS.
Change 3761995 by Mark.Satterthwaite
Add the Metal compiler path to the local .pch filename to avoid problems when Xcode moves.
Change 3761996 by Mark.Satterthwaite
Emit more details when a pixel shader is found to have no outputs at all which Metal doesn't permit. More likely this is a bug in the shader compiler not configuring the in-out mask correctly...
#jira UE-52292
Change 3761999 by Mark.Satterthwaite
No need to avoid tessellation for FMetalRHICommandContext::RHIEndDrawIndexedPrimitiveUP anymore - that was from back when the tessellation logic was replicated in each RHI*Draw* implementation.
#jira UE-51937
Change 3762181 by Joe.Graf
Changed MaxShaderJobBatchSize to 25 on Mac as it reduced shader compile time by 21%
Change 3762607 by Mark.Satterthwaite
Remove accidentally included changes from 3761995.
Change 3762612 by Mark.Satterthwaite
Enable the explicit sincos intrinsic for Metal to avoid instances of UE-52477 that can cause shaders to compile incorrectly through hlslcc.
#jira UE-52477
Change 3762772 by Michael.Lentine
Move RHI calls to render thread.
Change 3763021 by Richard.Wallis
Remove shader cache tool project and implementation.
#jira UE-51613
Change 3763082 by Guillaume.Abadie
More SceneTexture, SceneColor and SceneDepth automated tests
Change 3763111 by Richard.Wallis
Clone of CL 3763033 (Release-4.18):
Fix for crash upon launching packaged game on Mac with Share Material Shader Code enabled.
#jira UE-52121
Change 3763657 by Michael.Lentine
Invalidate ddc for skeletal mesh render data so that the duplicated vertex render structures are properly serialized.
Change 3763727 by Jian.Ru
Fix Player Collision view mode. It is caused by checking an uninitialized vertex buffer so the check always fail.
#jira UE-52052
Change 3763738 by Guillaume.Abadie
Implements SSR input post process material location.
Change 3764271 by Mark.Satterthwaite
Allow ControlPointPatch lists to flow through MetalRHI as it was setup to handle this transparently - the VSHS compute shader will convert them to triangles to draw. Report the same warning as in the pipeline creation stage as this hasn't been formally validated.
#jira UE-52454
Change 3764316 by Daniel.Wright
Added AVolumetricLightmapDensityVolume - gives local control over Volumetric Lightmap density. Dropping the top mip outside of the play area in Monolith saves 20Mb (35Mb original).
Volumetric Lightmap no longer refines around static translucent geometry - saves 5Mb in Monolith
Reworked brick culling by error mechanism. Now compares error to interpolated parent lighting instead of the brick average - prevents dropping constant value bricks which are near a wall and cause leaking due to parent interpolation after being culled.
Change 3764318 by Daniel.Wright
Missing file
Change 3764321 by Daniel.Wright
Shader compiling memory optimizations
* Editor memory: Sharing uniform buffer includes and GeneratedInstancedStereo.ush per FShaderType (was previously duplicated per FShader job)
* SCW input size: Sharing uniform buffer includes and SharedEnvironment per batch
* 7.6Gb of shader job inputs in memory -> .5Gb (13x less) when doing a full shader compile of Paragon Editor
* 13.8Gb written into worker input files -> 2.9Gb (4.7x less). Global shaders are never batched when sent to SCW so unoptimized by these changes.
Change 3764595 by Daniel.Wright
Added VolumetricLightmapDensityVolume asset icons
Change 3764701 by Michael.Lentine
Add duplicated vertices merging for meshmerge.
Change 3766002 by Guillaume.Abadie
Fixes a crash in translucency.
Change 3766007 by Guillaume.Abadie
Oups.... Fixes compilation failure.
Change 3766697 by Guillaume.Abadie
Giant refactor of global shader interface for upcoming native support of permutation.
CL generated by python script.
Change 3767205 by Chris.Bunner
Deferring FMaterial::RenderingThreadShaderMap update to render-thread rather than assumption commands have been flushed.
#jira UE-50652
Change 3767207 by Chris.Bunner
Clamp fetched texture coordinates to those available on the mesh.
Change 3767209 by Chris.Bunner
PR #4203: Early-outs in UMaterialInstance parameter setters (Contributed by stefanzimecki)
#jira UE-52193
Change 3767772 by Mark.Satterthwaite
MetalShaderFormat will no longer fallback to text shaders when you ask it to compile to bytecode but the bytecode compiler is not available (either locally or remotely) - this ensures that the DDC can't be poisoned by incorrectly configured clients. The Editor is already setup such that if the remote shader compiler is not configured & Xcode is not available locally the shader-compiler will be invoked to generate text shaders.
#jira UE-52554
Change 3768604 by Guillaume.Abadie
Polish up with new global shader function signature.
Change 3768993 by Guillaume.Abadie
Fixes r.Upscale.Panini cvars
Change 3769478 by Mark.Satterthwaite
Move the ue4_stdlib.metal & PCH into a temporary directory that exists for the lifetime of the SCW on the remote side as well as the local one and add this path as an include directory.
#jira UE-52587
Change 3769703 by Mark.Satterthwaite
For all Metal platforms >= Metal v1.2 transform mul(a,b) into fma(a,b,0) to prevent the Apple compiler reordering operations differently between the base & depth passes which results in variance in the position output.
For iOS disable fast-math when the vertex-shader uses World-Position-Offset because there are additional problems on the iOS shader compiler that result in position variance even with the above fix - WPO performance will suffer but I don't have any alternatives.
Remove the depth-offset hack from the depth-only vertex shader again.
#jira UES-5651
Change 3769763 by Mark.Satterthwaite
Handle swizzle's in the hlslcc fma identification pass so that we reduce the number of instructions and the platform compiler can't break the instructions up.
Change 3769849 by Mark.Satterthwaite
Fix CIS error.
Change 3770517 by Richard.Wallis
Fix for crash when creating a new media texture (AppleIntelHD5000GraphicsMTLDriver!SamplerStage::bindSamplerToTexture()). Missing texture resource for binding. Old InitDynamicRHI() code has been refactored out into seperate functions which leaves us on Mac with a NULL resource initially after creation which Metal doesn't like. This fix puts InitDynamicRHI down the default setup/clear path which inits default resources - I don't think we should use a global dummy in this instance as this is a render target.
#jira UE-51940
Change 3770688 by Uriel.Doyon
Fixed texture resolution returning 0 when running blueprint construction scripts at cook time.
Change 3771115 by Mark.Satterthwaite
Report errors from failed attempts to compile global shaders or we can't see why things fail on non-Windows platforms.
Change 3771263 by Mark.Satterthwaite
Change the way ManualVertexFetch is enabled on Metal platforms so that it is enabled when targeting Metal v1.2 and higher (macOS 10.12+/iOS 10+). This brings iOS in the Desktop Forward renderer back into line with the Mac.
#jira UERNDR-300
Change 3773472 by Guillaume.Abadie
Fixes a crash on PIE of SimpleComposure project.
Change 3773475 by Guillaume.Abadie
Fixes bug in editor viewport caused by SSR input changes.
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3777037 by Mark.Satterthwaite
Remove incorrect change that caused a reference to "accurate::sincos" to appear in some Metal shaders rather than "precise::sincos".
Change 3777122 by Mark.Satterthwaite
Back out changelist 3777037 - I'm blind and wasn't seeing the real problem was a stale shader cache...
Change 3777196 by Mark.Satterthwaite
Fix text-shader compilation on iOS 10 - maybe iOS 9 too (untested!).
We need our own make_scalar type-trait template for ue4_stdlib.metal so that we still compile with older iOS runtime compilers and we can't use as_type to directly implement the packHalf2x16/unpackHalf2x16 intrinsics for these older runtime compilers either.
Change 3779098 by Rolando.Caloca
DR - vk - Fix query index
Change 3779275 by Mark.Satterthwaite
Silence the Metal runtime compiler warning caused by use of a deprecated enum value when running text shaders compiled for Metal v1.0/1.1 on a Metal v1.2+ OS.
#jira UE-52554
Change 3779427 by Rolando.Caloca
DR - vk - Fix for allocator contention
Change 3779608 by Uriel.Doyon
Fixed invalid access in the resave package commantlet when building texture streaming material data for materials enabling tesselation.
Change 3784496 by Mark.Satterthwaite
Temporarily disable USE_OBJECT_COMPOSITING_TILE_CULLING for Metal shader compilation only - other platforms are unaffected - as it isn't working properly for some reason. need to work out what's up but don't want Distance Fields to be completely snookered in the interim.
#jira UE-52952
Change 3784608 by Rolando.Caloca
DR - Copy 3784588
- Fix for drivers returning out of date swapchains during resizes
Change 3784734 by Mark.Satterthwaite
Real fix for UE-52952 - MetalShaderFormat wasn't propagating the full thread-group value.
#jira UE-52952
Change 3784741 by Mark.Satterthwaite
More Metal debugging commandline options "-metalfastmath" & "-metalnofastmath" to force fast-math on or off for all shaders, must be using runtime-compiled shaders (i.e. -metalshaderdebug or r.Shaders.Optimise=0) to take effect.
Change 3787103 by Guillaume.Abadie
Kills BuiltinSamplers UB
Change 3787207 by Guillaume.Abadie
Sorry, compile fix that were fine with local changes...
Change 3787396 by Marcus.Wassmer
PR #4271: UE-52901: Set VIS_Max meta to hidden (Contributed by projectgheist)
Change 3788028 by Peter.Sumanaseni
Working linear HDR exr output from sequencer
Change 3788536 by Mark.Satterthwaite
Track whether the Metal shader uses the discard_fragment function as when this is used but without any other outputs we know we need to bind at least one render-target or a depth-stencil surface but we don't know which. This lets us correctly error when we encounter a shader with no outputs at all which Metal doesn't permit.
#jira UE-52292
Change 3788538 by Mark.Satterthwaite
Let's try mitigating UE-46604 on Nvidia by retaining resource references in the command-buffer. This shouldn't be necessary and isn't typically on other vendors but we haven't been able to reproduce this reliably enough to get to the bottom of it.
#jira UE-46604
Change 3789083 by Guillaume.Abadie
Implements global shader permutations. Example in ScreenSpaceReflections.cpp.
Change 3789090 by Guillaume.Abadie
Fixes linux build.
Change 3789106 by Guillaume.Abadie
Fixes compilation failure in niagara plugin.
Change 3789274 by Guillaume.Abadie
Avoid hit proxies to clobber TAA's hitsory.
#jira UE-52968
Change 3789380 by Guillaume.Abadie
Back out changelist 3789083: global shader permutation because compilation failure in clang.
Change 3789648 by Guillaume.Abadie
Relands global shader permutation, with clang support.
Change 3789712 by Guillaume.Abadie
Fixes TestImage show flag with TAAU on.
#jira UE-53061
Change 3791593 by Guillaume.Abadie
Reinvalidates shaders with shader permutations.
Change 3791884 by Daniel.Wright
Added BP setter for LowerHemisphereColor
Change 3791886 by Daniel.Wright
Added LightmapType to PrimitiveComponent
* ForceVolumetric allows forcing static geometry to use Volumetric Lightmaps, which can be useful on instanced foliage where seams are prevalent. Lightmass internal caching still requires lightmap UVs and reasonable lightmap resolution.
* ForceSurface replaces bLightAsIfStatic
Improvements to Volumetric Lightmap quality needed for static geometry
* Stationary light shadowing is now dilated inside geometry
* Now doing two dilation passes since samples near geometry see inside due to ray start bias
* Refinement around geometry uses an expanded cell bounds when the geometry is going to use Volumetric Lightmaps, since cross-resolution stitching causes leaking
Lightmass debug primitives are now tied to a swarm task instead of global - allows debugging of Volumetric Lightmap tasks
Change 3792256 by Guillaume.Abadie
Fixes a bug where permutation was not actually serialised in FShader, so was ending up recompiling shader at every load.
Change 3792884 by Marcus.Wassmer
Copying //UE4/Partner-AMD to Dev-Rendering (//UE4/Dev-Rendering)
Change 3793200 by Marcus.Wassmer
Copying //UE4/Partner-IDV-SpeedTree to Dev-Rendering (//UE4/Dev-Rendering)
Speedtree 8 support
Change 3793206 by Brian.Karis
Added color grading control BlueCorrection to correct for artifacts with "electric" blues due to the ACEScg color space. Bright blue desaturates instead of going to violet.
Added color grading control ExpandGamut which expands bright saturated colors outside the sRGB gamut to fake wide gamut rendering.
ACES changes.
Change 3793344 by Marcus.Wassmer
Fix editortest compile
Change 3794285 by Guillaume.Abadie
Serializes PermutationId according to archive rendering version to avoid issues with old material that were serializing a shader map into UObject.
Change 3794307 by Guillaume.Abadie
Resaves uassets that were modified between 3789648 and 3794285
Change 3794627 by Mark.Satterthwaite
Implement two components for MTLPP, an IMP cache for Objective-C selector implementations & an interposition framework for those same selectors:
- imp_SelectorCache & friends provide the IMP caching for each of the Metal protocols which constitute most of the API, so far I've not covered the Metal classes used for the various descriptor/initializer types. Each type has its own IMPTable which caches the selector's implementation pointer and provides the mechanism to hook that implementation. As Objective-C is runtime dynamic this look up must be performed on the actual Class value returned by an object at runtime - you can't do this at compile time. Even things like NSString which appear compile-time static are really not as NSString is an alias for a class-cluster (NSString, NSMutableString, __NSInlineString and more).
- The interpose directory contains MTI* files which are the framework for interposing all the functions in Metal's runtime API - I deliberately omit the descriptor classes & read-only functions as there's no benefit to interposing them - which I can build off to create a trace tool or a superior validation layer. Right now this is Mac only as there'll be some problems to solve for iOS/tvOS due to difference in linking requirements - not insurmountable.
- Rebuild MTLPP's implementation of the C++ wrapper classes around the IMPTable's - this means we avoid all the objc_msgSend overhead for all the classes and functions whose implementations are cached. Right now the IMPTable is going to incur a look-up for all non-copy/move constructors which is suboptimal - ideally the Metal IMPTables would be cached in the Device object as they will be consistent within a single Device.
- Sort out the MTLPP availability logic - it now exports the availability warnings to the caller and internally just blithely assumes it may call the functions, the caller is responsible for ensuring that calls are made only on appropriate devices & OSes. This reduces MTLPP complexity and better fits how MetalRHI works.
- Fix a number of retain/release bugs that were lying dormant in MTLPP but exposed by the switch to IMPTables.
- Add tvOS support.
Next up, put this into MetalRHI and start fixing all the fallout.
Change 3794631 by Mark.Satterthwaite
Missed updating mtlpp's build.cs for TVOS.
Change 3794651 by Uriel.Doyon
UPointLightComponent::GetUnitsConversionFactor() now takes the cone angle as parameter. This allows to fix spotlight unit conversion when using lumens.
Change 3794720 by Guillaume.Abadie
Fixes a bug in Global{Bilinear,Trilinear}ClampedSampler that was actually doing a Point sampling.
Change 3794749 by Mark.Satterthwaite
Fix mtlpp.build.cs paths.
Change 3794856 by Mark.Satterthwaite
Fix some shadowing warnings.
Change 3795484 by Daniel.Wright
Implemented the Spherical Harmonic windowing algorithm from 'Stupid Spherical Harmonics (SH) Tricks'
New WorldSettings Lightmass property VolumetricLightmapSphericalHarmonicSmoothing controls the global amount of smoothing applied
Change 3795590 by Brian.Karis
Area light fixes
Fixed order of operations. This helps mixing of SourceRadius, SourceLength, and SoftSourceRadius.
Change 3796832 by Marcus.Wassmer
Correct shouldcache condition for new resolve shader
Change 3796884 by Marcus.Wassmer
Doing it right this time.
Change 3797196 by Mark.Satterthwaite
More updates to MTLPP to make things simpler and reduce the number of spurious Objective-C warnings that are emitted because of the way we are using the runtime.
Change 3797200 by Daniel.Wright
Lightmass now uses the highest density VolumetricLightmapDensityVolume settings that affect any part of a cell
Change 3797221 by Daniel.Wright
Reduced default SphericalHarmonicSmoothing based on RoboRecall tests. Now only active with strong direct lighting from static lights by default.
Change 3797411 by Brian.Karis
Disable ExpandGamut for old tone mapper.
Change 3797462 by Mark.Satterthwaite
More build warnings silenced after changing to the lowest possible deployment target OS for each library.
Change 3797585 by Mark.Satterthwaite
Range-based-For support in the NSArray wrapper.
Change 3797836 by Mark.Satterthwaite
Even more forward-declarations to avoid system headers poking through to the including code from mtlpp.
Change 3798027 by Mark.Satterthwaite
Fix handling of nil objects, on which no functions may be called, command-buffer retention and IMP declaration.
Change 3798154 by Mark.Satterthwaite
Fix some egregious memory leaks that rewriting to use mtlpp exposed before we carry on - don't want these slipping into 4.19.
Change 3800990 by Mark.Satterthwaite
Typedef all the completion-handler callback types in mtlpp to make future me's life easier.
Change 3801400 by Chris.Bunner
Improving automated test errors on failure to generate report data.
Change 3801726 by Mark.Satterthwaite
Correct some function availability and the command-buffer error status in mtlpp.
Change 3801808 by Chris.Bunner
Added DefaultScalability.ini to EngineTest that forces all quality levels to Engine default Epic for now to improve consistency.
Change 3801862 by Marcus.Wassmer
Update automated tests with color gamut change
Change 3802214 by Chris.Bunner
When running automated tests in and editor-locked PIE viewport, skip resizing as the editor can't handle this.
Added bindable delegate called when ScreenshotRequest is processed - Useful to allow screenshots to override and restore settings per capture.
#jira UE-53188
Change 3802243 by Chris.Bunner
Added button to automated test screenshot browser to add or replace all outstanding test reports if appropriate.
DeleteAllReports button is now only enabled whilst there are reports in the list.
Change 3802372 by Chris.Bunner
Updating more test screenshots.
Change 3803683 by Chris.Bunner
Adding more logging and multiple attempts to automated test report network save.
Added small wait on repeated operations that are known to fail.
Change 3803826 by Rolando.Caloca
DR - vk - Fix merge issue
Change 3804181 by Chris.Bunner
Tentative fix for CIS test failure.
Change 3804236 by Chris.Bunner
Additional logging for case where file write silently fails, report platform-specific error.
Change 3804303 by zachary.wilson
Cleaning up assets in QAGame saved with empty engine versions to resolve warnings seen when launching on
Change 3804410 by Chris.Bunner
Added additional logging when automated screenshot test fails due to size mismatch.
Mismatched bounds are colored red in the delta.
Change 3804455 by Mark.Satterthwaite
Fix a small number of persistent memory leaks on the Mac build that slowly consume more and more memory as you use the Editor - interacting with menu's was particularly egregious as each NSMenu would leak after you move away.
#jira NA
Change 3804667 by Chris.Bunner
Speculative CIS fixes.
Change 3806008 by Chris.Bunner
Partially reimplementing backed-out CL 3804181 to improve consistency of how automated screenshot test settings are applied/restored.
#tests CIS preflight job 8174412
Change 3806909 by Mark.Satterthwaite
Use the vertex-shader's in-out mask to ensure that we only validate legitmate vertex-streams in Metal's DrawIndexedPrimitive implementation.
#jira UE-53046
Change 3807059 by laz.matech
Checking in QAGame Rendering Map, QA-PhysicalLightingUnits, for testing Physical Light Units.
Wanted to get this in before copy up.
#Jira none
Change 3807726 by Chris.Bunner
Removed a check that we can't fix up. The check hits unbound buffers which it assumes means a failure but is actually due to m.v.fetch. We don't have the information available to know which are which removed from the input without reading from the shader.
#jira UE-53046
Change 3807800 by Guillaume.Abadie
Fixes some warning in shader headers.
Change 3807804 by Guillaume.Abadie
Back out changelist 3807800
Change 3807807 by Guillaume.Abadie
Relands shader header warnings.
Change 3808046 by Chris.Bunner
Dropping a new automated test error back to a warning as this may lead to genuine issues being ignored in the short term.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3809620 by Chris.Bunner
Updating animated cloth test screenshot.
Change 3803629 by Chris.Bunner
Rebuilt CornellBox and DistanceField test maps, updated screenshots.
Change 3787045 by Guillaume.Abadie
Moves some global samplers to Common.ush
Change 3809756 by Chris.Bunner
Updating animated cloth test screenshot.
[CL 3809764 by Chris Bunner in Main branch]
2017-12-15 12:47:47 -05:00
2021-08-18 16:56:25 -04:00
// Array of string used as const ANSICHAR* during compilation process.
TArray < TUniquePtr < TArray < ANSICHAR > > > AllocatedAnsiStrings ;
auto DeserializeConstANSICHAR = [ & AllocatedAnsiStrings ] ( FArchive & Archive )
{
FString Name ;
Archive < < Name ;
const ANSICHAR * CharName = nullptr ;
if ( Name . Len ( ) ! = 0 )
{
if ( AllocatedAnsiStrings . GetSlack ( ) = = 0 )
{
AllocatedAnsiStrings . Reserve ( AllocatedAnsiStrings . Num ( ) + 1024 ) ;
}
TArray < ANSICHAR > AnsiString ;
AnsiString . SetNumZeroed ( Name . Len ( ) + 1 ) ;
ANSICHAR * Dest = & AnsiString [ 0 ] ;
FCStringAnsi : : Strcpy ( Dest , Name . Len ( ) + 1 , TCHAR_TO_ANSI ( * Name ) ) ;
AllocatedAnsiStrings . Add ( MakeUnique < TArray < ANSICHAR > > ( AnsiString ) ) ;
CharName = & ( * AllocatedAnsiStrings . Last ( ) ) [ 0 ] ;
}
return CharName ;
} ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3809756)
#rb None
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3629223 by Rolando.Caloca
DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847
Change 3629708 by Rolando.Caloca
DR - vk - Redo some changes from DevMobile
3601439
3604186
3606672
3617383
3617474
3617483
Change 3761370 by Arne.Schober
DR - Added CityHash to use with conatiners and stuff. It provides good performance and high quallity across multiple platforms.
Change 3761437 by Guillaume.Abadie
Optimises motion blur compute shader for consoles.
Change 3761483 by Guillaume.Abadie
Fixes D3D11 RHI lying to dynamic resolution heuristic with t.MaxFPS.
Change 3761995 by Mark.Satterthwaite
Add the Metal compiler path to the local .pch filename to avoid problems when Xcode moves.
Change 3761996 by Mark.Satterthwaite
Emit more details when a pixel shader is found to have no outputs at all which Metal doesn't permit. More likely this is a bug in the shader compiler not configuring the in-out mask correctly...
#jira UE-52292
Change 3761999 by Mark.Satterthwaite
No need to avoid tessellation for FMetalRHICommandContext::RHIEndDrawIndexedPrimitiveUP anymore - that was from back when the tessellation logic was replicated in each RHI*Draw* implementation.
#jira UE-51937
Change 3762181 by Joe.Graf
Changed MaxShaderJobBatchSize to 25 on Mac as it reduced shader compile time by 21%
Change 3762607 by Mark.Satterthwaite
Remove accidentally included changes from 3761995.
Change 3762612 by Mark.Satterthwaite
Enable the explicit sincos intrinsic for Metal to avoid instances of UE-52477 that can cause shaders to compile incorrectly through hlslcc.
#jira UE-52477
Change 3762772 by Michael.Lentine
Move RHI calls to render thread.
Change 3763021 by Richard.Wallis
Remove shader cache tool project and implementation.
#jira UE-51613
Change 3763082 by Guillaume.Abadie
More SceneTexture, SceneColor and SceneDepth automated tests
Change 3763111 by Richard.Wallis
Clone of CL 3763033 (Release-4.18):
Fix for crash upon launching packaged game on Mac with Share Material Shader Code enabled.
#jira UE-52121
Change 3763657 by Michael.Lentine
Invalidate ddc for skeletal mesh render data so that the duplicated vertex render structures are properly serialized.
Change 3763727 by Jian.Ru
Fix Player Collision view mode. It is caused by checking an uninitialized vertex buffer so the check always fail.
#jira UE-52052
Change 3763738 by Guillaume.Abadie
Implements SSR input post process material location.
Change 3764271 by Mark.Satterthwaite
Allow ControlPointPatch lists to flow through MetalRHI as it was setup to handle this transparently - the VSHS compute shader will convert them to triangles to draw. Report the same warning as in the pipeline creation stage as this hasn't been formally validated.
#jira UE-52454
Change 3764316 by Daniel.Wright
Added AVolumetricLightmapDensityVolume - gives local control over Volumetric Lightmap density. Dropping the top mip outside of the play area in Monolith saves 20Mb (35Mb original).
Volumetric Lightmap no longer refines around static translucent geometry - saves 5Mb in Monolith
Reworked brick culling by error mechanism. Now compares error to interpolated parent lighting instead of the brick average - prevents dropping constant value bricks which are near a wall and cause leaking due to parent interpolation after being culled.
Change 3764318 by Daniel.Wright
Missing file
Change 3764321 by Daniel.Wright
Shader compiling memory optimizations
* Editor memory: Sharing uniform buffer includes and GeneratedInstancedStereo.ush per FShaderType (was previously duplicated per FShader job)
* SCW input size: Sharing uniform buffer includes and SharedEnvironment per batch
* 7.6Gb of shader job inputs in memory -> .5Gb (13x less) when doing a full shader compile of Paragon Editor
* 13.8Gb written into worker input files -> 2.9Gb (4.7x less). Global shaders are never batched when sent to SCW so unoptimized by these changes.
Change 3764595 by Daniel.Wright
Added VolumetricLightmapDensityVolume asset icons
Change 3764701 by Michael.Lentine
Add duplicated vertices merging for meshmerge.
Change 3766002 by Guillaume.Abadie
Fixes a crash in translucency.
Change 3766007 by Guillaume.Abadie
Oups.... Fixes compilation failure.
Change 3766697 by Guillaume.Abadie
Giant refactor of global shader interface for upcoming native support of permutation.
CL generated by python script.
Change 3767205 by Chris.Bunner
Deferring FMaterial::RenderingThreadShaderMap update to render-thread rather than assumption commands have been flushed.
#jira UE-50652
Change 3767207 by Chris.Bunner
Clamp fetched texture coordinates to those available on the mesh.
Change 3767209 by Chris.Bunner
PR #4203: Early-outs in UMaterialInstance parameter setters (Contributed by stefanzimecki)
#jira UE-52193
Change 3767772 by Mark.Satterthwaite
MetalShaderFormat will no longer fallback to text shaders when you ask it to compile to bytecode but the bytecode compiler is not available (either locally or remotely) - this ensures that the DDC can't be poisoned by incorrectly configured clients. The Editor is already setup such that if the remote shader compiler is not configured & Xcode is not available locally the shader-compiler will be invoked to generate text shaders.
#jira UE-52554
Change 3768604 by Guillaume.Abadie
Polish up with new global shader function signature.
Change 3768993 by Guillaume.Abadie
Fixes r.Upscale.Panini cvars
Change 3769478 by Mark.Satterthwaite
Move the ue4_stdlib.metal & PCH into a temporary directory that exists for the lifetime of the SCW on the remote side as well as the local one and add this path as an include directory.
#jira UE-52587
Change 3769703 by Mark.Satterthwaite
For all Metal platforms >= Metal v1.2 transform mul(a,b) into fma(a,b,0) to prevent the Apple compiler reordering operations differently between the base & depth passes which results in variance in the position output.
For iOS disable fast-math when the vertex-shader uses World-Position-Offset because there are additional problems on the iOS shader compiler that result in position variance even with the above fix - WPO performance will suffer but I don't have any alternatives.
Remove the depth-offset hack from the depth-only vertex shader again.
#jira UES-5651
Change 3769763 by Mark.Satterthwaite
Handle swizzle's in the hlslcc fma identification pass so that we reduce the number of instructions and the platform compiler can't break the instructions up.
Change 3769849 by Mark.Satterthwaite
Fix CIS error.
Change 3770517 by Richard.Wallis
Fix for crash when creating a new media texture (AppleIntelHD5000GraphicsMTLDriver!SamplerStage::bindSamplerToTexture()). Missing texture resource for binding. Old InitDynamicRHI() code has been refactored out into seperate functions which leaves us on Mac with a NULL resource initially after creation which Metal doesn't like. This fix puts InitDynamicRHI down the default setup/clear path which inits default resources - I don't think we should use a global dummy in this instance as this is a render target.
#jira UE-51940
Change 3770688 by Uriel.Doyon
Fixed texture resolution returning 0 when running blueprint construction scripts at cook time.
Change 3771115 by Mark.Satterthwaite
Report errors from failed attempts to compile global shaders or we can't see why things fail on non-Windows platforms.
Change 3771263 by Mark.Satterthwaite
Change the way ManualVertexFetch is enabled on Metal platforms so that it is enabled when targeting Metal v1.2 and higher (macOS 10.12+/iOS 10+). This brings iOS in the Desktop Forward renderer back into line with the Mac.
#jira UERNDR-300
Change 3773472 by Guillaume.Abadie
Fixes a crash on PIE of SimpleComposure project.
Change 3773475 by Guillaume.Abadie
Fixes bug in editor viewport caused by SSR input changes.
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3777037 by Mark.Satterthwaite
Remove incorrect change that caused a reference to "accurate::sincos" to appear in some Metal shaders rather than "precise::sincos".
Change 3777122 by Mark.Satterthwaite
Back out changelist 3777037 - I'm blind and wasn't seeing the real problem was a stale shader cache...
Change 3777196 by Mark.Satterthwaite
Fix text-shader compilation on iOS 10 - maybe iOS 9 too (untested!).
We need our own make_scalar type-trait template for ue4_stdlib.metal so that we still compile with older iOS runtime compilers and we can't use as_type to directly implement the packHalf2x16/unpackHalf2x16 intrinsics for these older runtime compilers either.
Change 3779098 by Rolando.Caloca
DR - vk - Fix query index
Change 3779275 by Mark.Satterthwaite
Silence the Metal runtime compiler warning caused by use of a deprecated enum value when running text shaders compiled for Metal v1.0/1.1 on a Metal v1.2+ OS.
#jira UE-52554
Change 3779427 by Rolando.Caloca
DR - vk - Fix for allocator contention
Change 3779608 by Uriel.Doyon
Fixed invalid access in the resave package commantlet when building texture streaming material data for materials enabling tesselation.
Change 3784496 by Mark.Satterthwaite
Temporarily disable USE_OBJECT_COMPOSITING_TILE_CULLING for Metal shader compilation only - other platforms are unaffected - as it isn't working properly for some reason. need to work out what's up but don't want Distance Fields to be completely snookered in the interim.
#jira UE-52952
Change 3784608 by Rolando.Caloca
DR - Copy 3784588
- Fix for drivers returning out of date swapchains during resizes
Change 3784734 by Mark.Satterthwaite
Real fix for UE-52952 - MetalShaderFormat wasn't propagating the full thread-group value.
#jira UE-52952
Change 3784741 by Mark.Satterthwaite
More Metal debugging commandline options "-metalfastmath" & "-metalnofastmath" to force fast-math on or off for all shaders, must be using runtime-compiled shaders (i.e. -metalshaderdebug or r.Shaders.Optimise=0) to take effect.
Change 3787103 by Guillaume.Abadie
Kills BuiltinSamplers UB
Change 3787207 by Guillaume.Abadie
Sorry, compile fix that were fine with local changes...
Change 3787396 by Marcus.Wassmer
PR #4271: UE-52901: Set VIS_Max meta to hidden (Contributed by projectgheist)
Change 3788028 by Peter.Sumanaseni
Working linear HDR exr output from sequencer
Change 3788536 by Mark.Satterthwaite
Track whether the Metal shader uses the discard_fragment function as when this is used but without any other outputs we know we need to bind at least one render-target or a depth-stencil surface but we don't know which. This lets us correctly error when we encounter a shader with no outputs at all which Metal doesn't permit.
#jira UE-52292
Change 3788538 by Mark.Satterthwaite
Let's try mitigating UE-46604 on Nvidia by retaining resource references in the command-buffer. This shouldn't be necessary and isn't typically on other vendors but we haven't been able to reproduce this reliably enough to get to the bottom of it.
#jira UE-46604
Change 3789083 by Guillaume.Abadie
Implements global shader permutations. Example in ScreenSpaceReflections.cpp.
Change 3789090 by Guillaume.Abadie
Fixes linux build.
Change 3789106 by Guillaume.Abadie
Fixes compilation failure in niagara plugin.
Change 3789274 by Guillaume.Abadie
Avoid hit proxies to clobber TAA's hitsory.
#jira UE-52968
Change 3789380 by Guillaume.Abadie
Back out changelist 3789083: global shader permutation because compilation failure in clang.
Change 3789648 by Guillaume.Abadie
Relands global shader permutation, with clang support.
Change 3789712 by Guillaume.Abadie
Fixes TestImage show flag with TAAU on.
#jira UE-53061
Change 3791593 by Guillaume.Abadie
Reinvalidates shaders with shader permutations.
Change 3791884 by Daniel.Wright
Added BP setter for LowerHemisphereColor
Change 3791886 by Daniel.Wright
Added LightmapType to PrimitiveComponent
* ForceVolumetric allows forcing static geometry to use Volumetric Lightmaps, which can be useful on instanced foliage where seams are prevalent. Lightmass internal caching still requires lightmap UVs and reasonable lightmap resolution.
* ForceSurface replaces bLightAsIfStatic
Improvements to Volumetric Lightmap quality needed for static geometry
* Stationary light shadowing is now dilated inside geometry
* Now doing two dilation passes since samples near geometry see inside due to ray start bias
* Refinement around geometry uses an expanded cell bounds when the geometry is going to use Volumetric Lightmaps, since cross-resolution stitching causes leaking
Lightmass debug primitives are now tied to a swarm task instead of global - allows debugging of Volumetric Lightmap tasks
Change 3792256 by Guillaume.Abadie
Fixes a bug where permutation was not actually serialised in FShader, so was ending up recompiling shader at every load.
Change 3792884 by Marcus.Wassmer
Copying //UE4/Partner-AMD to Dev-Rendering (//UE4/Dev-Rendering)
Change 3793200 by Marcus.Wassmer
Copying //UE4/Partner-IDV-SpeedTree to Dev-Rendering (//UE4/Dev-Rendering)
Speedtree 8 support
Change 3793206 by Brian.Karis
Added color grading control BlueCorrection to correct for artifacts with "electric" blues due to the ACEScg color space. Bright blue desaturates instead of going to violet.
Added color grading control ExpandGamut which expands bright saturated colors outside the sRGB gamut to fake wide gamut rendering.
ACES changes.
Change 3793344 by Marcus.Wassmer
Fix editortest compile
Change 3794285 by Guillaume.Abadie
Serializes PermutationId according to archive rendering version to avoid issues with old material that were serializing a shader map into UObject.
Change 3794307 by Guillaume.Abadie
Resaves uassets that were modified between 3789648 and 3794285
Change 3794627 by Mark.Satterthwaite
Implement two components for MTLPP, an IMP cache for Objective-C selector implementations & an interposition framework for those same selectors:
- imp_SelectorCache & friends provide the IMP caching for each of the Metal protocols which constitute most of the API, so far I've not covered the Metal classes used for the various descriptor/initializer types. Each type has its own IMPTable which caches the selector's implementation pointer and provides the mechanism to hook that implementation. As Objective-C is runtime dynamic this look up must be performed on the actual Class value returned by an object at runtime - you can't do this at compile time. Even things like NSString which appear compile-time static are really not as NSString is an alias for a class-cluster (NSString, NSMutableString, __NSInlineString and more).
- The interpose directory contains MTI* files which are the framework for interposing all the functions in Metal's runtime API - I deliberately omit the descriptor classes & read-only functions as there's no benefit to interposing them - which I can build off to create a trace tool or a superior validation layer. Right now this is Mac only as there'll be some problems to solve for iOS/tvOS due to difference in linking requirements - not insurmountable.
- Rebuild MTLPP's implementation of the C++ wrapper classes around the IMPTable's - this means we avoid all the objc_msgSend overhead for all the classes and functions whose implementations are cached. Right now the IMPTable is going to incur a look-up for all non-copy/move constructors which is suboptimal - ideally the Metal IMPTables would be cached in the Device object as they will be consistent within a single Device.
- Sort out the MTLPP availability logic - it now exports the availability warnings to the caller and internally just blithely assumes it may call the functions, the caller is responsible for ensuring that calls are made only on appropriate devices & OSes. This reduces MTLPP complexity and better fits how MetalRHI works.
- Fix a number of retain/release bugs that were lying dormant in MTLPP but exposed by the switch to IMPTables.
- Add tvOS support.
Next up, put this into MetalRHI and start fixing all the fallout.
Change 3794631 by Mark.Satterthwaite
Missed updating mtlpp's build.cs for TVOS.
Change 3794651 by Uriel.Doyon
UPointLightComponent::GetUnitsConversionFactor() now takes the cone angle as parameter. This allows to fix spotlight unit conversion when using lumens.
Change 3794720 by Guillaume.Abadie
Fixes a bug in Global{Bilinear,Trilinear}ClampedSampler that was actually doing a Point sampling.
Change 3794749 by Mark.Satterthwaite
Fix mtlpp.build.cs paths.
Change 3794856 by Mark.Satterthwaite
Fix some shadowing warnings.
Change 3795484 by Daniel.Wright
Implemented the Spherical Harmonic windowing algorithm from 'Stupid Spherical Harmonics (SH) Tricks'
New WorldSettings Lightmass property VolumetricLightmapSphericalHarmonicSmoothing controls the global amount of smoothing applied
Change 3795590 by Brian.Karis
Area light fixes
Fixed order of operations. This helps mixing of SourceRadius, SourceLength, and SoftSourceRadius.
Change 3796832 by Marcus.Wassmer
Correct shouldcache condition for new resolve shader
Change 3796884 by Marcus.Wassmer
Doing it right this time.
Change 3797196 by Mark.Satterthwaite
More updates to MTLPP to make things simpler and reduce the number of spurious Objective-C warnings that are emitted because of the way we are using the runtime.
Change 3797200 by Daniel.Wright
Lightmass now uses the highest density VolumetricLightmapDensityVolume settings that affect any part of a cell
Change 3797221 by Daniel.Wright
Reduced default SphericalHarmonicSmoothing based on RoboRecall tests. Now only active with strong direct lighting from static lights by default.
Change 3797411 by Brian.Karis
Disable ExpandGamut for old tone mapper.
Change 3797462 by Mark.Satterthwaite
More build warnings silenced after changing to the lowest possible deployment target OS for each library.
Change 3797585 by Mark.Satterthwaite
Range-based-For support in the NSArray wrapper.
Change 3797836 by Mark.Satterthwaite
Even more forward-declarations to avoid system headers poking through to the including code from mtlpp.
Change 3798027 by Mark.Satterthwaite
Fix handling of nil objects, on which no functions may be called, command-buffer retention and IMP declaration.
Change 3798154 by Mark.Satterthwaite
Fix some egregious memory leaks that rewriting to use mtlpp exposed before we carry on - don't want these slipping into 4.19.
Change 3800990 by Mark.Satterthwaite
Typedef all the completion-handler callback types in mtlpp to make future me's life easier.
Change 3801400 by Chris.Bunner
Improving automated test errors on failure to generate report data.
Change 3801726 by Mark.Satterthwaite
Correct some function availability and the command-buffer error status in mtlpp.
Change 3801808 by Chris.Bunner
Added DefaultScalability.ini to EngineTest that forces all quality levels to Engine default Epic for now to improve consistency.
Change 3801862 by Marcus.Wassmer
Update automated tests with color gamut change
Change 3802214 by Chris.Bunner
When running automated tests in and editor-locked PIE viewport, skip resizing as the editor can't handle this.
Added bindable delegate called when ScreenshotRequest is processed - Useful to allow screenshots to override and restore settings per capture.
#jira UE-53188
Change 3802243 by Chris.Bunner
Added button to automated test screenshot browser to add or replace all outstanding test reports if appropriate.
DeleteAllReports button is now only enabled whilst there are reports in the list.
Change 3802372 by Chris.Bunner
Updating more test screenshots.
Change 3803683 by Chris.Bunner
Adding more logging and multiple attempts to automated test report network save.
Added small wait on repeated operations that are known to fail.
Change 3803826 by Rolando.Caloca
DR - vk - Fix merge issue
Change 3804181 by Chris.Bunner
Tentative fix for CIS test failure.
Change 3804236 by Chris.Bunner
Additional logging for case where file write silently fails, report platform-specific error.
Change 3804303 by zachary.wilson
Cleaning up assets in QAGame saved with empty engine versions to resolve warnings seen when launching on
Change 3804410 by Chris.Bunner
Added additional logging when automated screenshot test fails due to size mismatch.
Mismatched bounds are colored red in the delta.
Change 3804455 by Mark.Satterthwaite
Fix a small number of persistent memory leaks on the Mac build that slowly consume more and more memory as you use the Editor - interacting with menu's was particularly egregious as each NSMenu would leak after you move away.
#jira NA
Change 3804667 by Chris.Bunner
Speculative CIS fixes.
Change 3806008 by Chris.Bunner
Partially reimplementing backed-out CL 3804181 to improve consistency of how automated screenshot test settings are applied/restored.
#tests CIS preflight job 8174412
Change 3806909 by Mark.Satterthwaite
Use the vertex-shader's in-out mask to ensure that we only validate legitmate vertex-streams in Metal's DrawIndexedPrimitive implementation.
#jira UE-53046
Change 3807059 by laz.matech
Checking in QAGame Rendering Map, QA-PhysicalLightingUnits, for testing Physical Light Units.
Wanted to get this in before copy up.
#Jira none
Change 3807726 by Chris.Bunner
Removed a check that we can't fix up. The check hits unbound buffers which it assumes means a failure but is actually due to m.v.fetch. We don't have the information available to know which are which removed from the input without reading from the shader.
#jira UE-53046
Change 3807800 by Guillaume.Abadie
Fixes some warning in shader headers.
Change 3807804 by Guillaume.Abadie
Back out changelist 3807800
Change 3807807 by Guillaume.Abadie
Relands shader header warnings.
Change 3808046 by Chris.Bunner
Dropping a new automated test error back to a warning as this may lead to genuine issues being ignored in the short term.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3809620 by Chris.Bunner
Updating animated cloth test screenshot.
Change 3803629 by Chris.Bunner
Rebuilt CornellBox and DistanceField test maps, updated screenshots.
Change 3787045 by Guillaume.Abadie
Moves some global samplers to Common.ush
Change 3809756 by Chris.Bunner
Updating animated cloth test screenshot.
[CL 3809764 by Chris Bunner in Main branch]
2017-12-15 12:47:47 -05:00
// Shared inputs
2021-03-16 16:19:23 -04:00
TMap < FString , FThreadSafeSharedStringPtr > ExternalIncludes ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3809756)
#rb None
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3629223 by Rolando.Caloca
DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847
Change 3629708 by Rolando.Caloca
DR - vk - Redo some changes from DevMobile
3601439
3604186
3606672
3617383
3617474
3617483
Change 3761370 by Arne.Schober
DR - Added CityHash to use with conatiners and stuff. It provides good performance and high quallity across multiple platforms.
Change 3761437 by Guillaume.Abadie
Optimises motion blur compute shader for consoles.
Change 3761483 by Guillaume.Abadie
Fixes D3D11 RHI lying to dynamic resolution heuristic with t.MaxFPS.
Change 3761995 by Mark.Satterthwaite
Add the Metal compiler path to the local .pch filename to avoid problems when Xcode moves.
Change 3761996 by Mark.Satterthwaite
Emit more details when a pixel shader is found to have no outputs at all which Metal doesn't permit. More likely this is a bug in the shader compiler not configuring the in-out mask correctly...
#jira UE-52292
Change 3761999 by Mark.Satterthwaite
No need to avoid tessellation for FMetalRHICommandContext::RHIEndDrawIndexedPrimitiveUP anymore - that was from back when the tessellation logic was replicated in each RHI*Draw* implementation.
#jira UE-51937
Change 3762181 by Joe.Graf
Changed MaxShaderJobBatchSize to 25 on Mac as it reduced shader compile time by 21%
Change 3762607 by Mark.Satterthwaite
Remove accidentally included changes from 3761995.
Change 3762612 by Mark.Satterthwaite
Enable the explicit sincos intrinsic for Metal to avoid instances of UE-52477 that can cause shaders to compile incorrectly through hlslcc.
#jira UE-52477
Change 3762772 by Michael.Lentine
Move RHI calls to render thread.
Change 3763021 by Richard.Wallis
Remove shader cache tool project and implementation.
#jira UE-51613
Change 3763082 by Guillaume.Abadie
More SceneTexture, SceneColor and SceneDepth automated tests
Change 3763111 by Richard.Wallis
Clone of CL 3763033 (Release-4.18):
Fix for crash upon launching packaged game on Mac with Share Material Shader Code enabled.
#jira UE-52121
Change 3763657 by Michael.Lentine
Invalidate ddc for skeletal mesh render data so that the duplicated vertex render structures are properly serialized.
Change 3763727 by Jian.Ru
Fix Player Collision view mode. It is caused by checking an uninitialized vertex buffer so the check always fail.
#jira UE-52052
Change 3763738 by Guillaume.Abadie
Implements SSR input post process material location.
Change 3764271 by Mark.Satterthwaite
Allow ControlPointPatch lists to flow through MetalRHI as it was setup to handle this transparently - the VSHS compute shader will convert them to triangles to draw. Report the same warning as in the pipeline creation stage as this hasn't been formally validated.
#jira UE-52454
Change 3764316 by Daniel.Wright
Added AVolumetricLightmapDensityVolume - gives local control over Volumetric Lightmap density. Dropping the top mip outside of the play area in Monolith saves 20Mb (35Mb original).
Volumetric Lightmap no longer refines around static translucent geometry - saves 5Mb in Monolith
Reworked brick culling by error mechanism. Now compares error to interpolated parent lighting instead of the brick average - prevents dropping constant value bricks which are near a wall and cause leaking due to parent interpolation after being culled.
Change 3764318 by Daniel.Wright
Missing file
Change 3764321 by Daniel.Wright
Shader compiling memory optimizations
* Editor memory: Sharing uniform buffer includes and GeneratedInstancedStereo.ush per FShaderType (was previously duplicated per FShader job)
* SCW input size: Sharing uniform buffer includes and SharedEnvironment per batch
* 7.6Gb of shader job inputs in memory -> .5Gb (13x less) when doing a full shader compile of Paragon Editor
* 13.8Gb written into worker input files -> 2.9Gb (4.7x less). Global shaders are never batched when sent to SCW so unoptimized by these changes.
Change 3764595 by Daniel.Wright
Added VolumetricLightmapDensityVolume asset icons
Change 3764701 by Michael.Lentine
Add duplicated vertices merging for meshmerge.
Change 3766002 by Guillaume.Abadie
Fixes a crash in translucency.
Change 3766007 by Guillaume.Abadie
Oups.... Fixes compilation failure.
Change 3766697 by Guillaume.Abadie
Giant refactor of global shader interface for upcoming native support of permutation.
CL generated by python script.
Change 3767205 by Chris.Bunner
Deferring FMaterial::RenderingThreadShaderMap update to render-thread rather than assumption commands have been flushed.
#jira UE-50652
Change 3767207 by Chris.Bunner
Clamp fetched texture coordinates to those available on the mesh.
Change 3767209 by Chris.Bunner
PR #4203: Early-outs in UMaterialInstance parameter setters (Contributed by stefanzimecki)
#jira UE-52193
Change 3767772 by Mark.Satterthwaite
MetalShaderFormat will no longer fallback to text shaders when you ask it to compile to bytecode but the bytecode compiler is not available (either locally or remotely) - this ensures that the DDC can't be poisoned by incorrectly configured clients. The Editor is already setup such that if the remote shader compiler is not configured & Xcode is not available locally the shader-compiler will be invoked to generate text shaders.
#jira UE-52554
Change 3768604 by Guillaume.Abadie
Polish up with new global shader function signature.
Change 3768993 by Guillaume.Abadie
Fixes r.Upscale.Panini cvars
Change 3769478 by Mark.Satterthwaite
Move the ue4_stdlib.metal & PCH into a temporary directory that exists for the lifetime of the SCW on the remote side as well as the local one and add this path as an include directory.
#jira UE-52587
Change 3769703 by Mark.Satterthwaite
For all Metal platforms >= Metal v1.2 transform mul(a,b) into fma(a,b,0) to prevent the Apple compiler reordering operations differently between the base & depth passes which results in variance in the position output.
For iOS disable fast-math when the vertex-shader uses World-Position-Offset because there are additional problems on the iOS shader compiler that result in position variance even with the above fix - WPO performance will suffer but I don't have any alternatives.
Remove the depth-offset hack from the depth-only vertex shader again.
#jira UES-5651
Change 3769763 by Mark.Satterthwaite
Handle swizzle's in the hlslcc fma identification pass so that we reduce the number of instructions and the platform compiler can't break the instructions up.
Change 3769849 by Mark.Satterthwaite
Fix CIS error.
Change 3770517 by Richard.Wallis
Fix for crash when creating a new media texture (AppleIntelHD5000GraphicsMTLDriver!SamplerStage::bindSamplerToTexture()). Missing texture resource for binding. Old InitDynamicRHI() code has been refactored out into seperate functions which leaves us on Mac with a NULL resource initially after creation which Metal doesn't like. This fix puts InitDynamicRHI down the default setup/clear path which inits default resources - I don't think we should use a global dummy in this instance as this is a render target.
#jira UE-51940
Change 3770688 by Uriel.Doyon
Fixed texture resolution returning 0 when running blueprint construction scripts at cook time.
Change 3771115 by Mark.Satterthwaite
Report errors from failed attempts to compile global shaders or we can't see why things fail on non-Windows platforms.
Change 3771263 by Mark.Satterthwaite
Change the way ManualVertexFetch is enabled on Metal platforms so that it is enabled when targeting Metal v1.2 and higher (macOS 10.12+/iOS 10+). This brings iOS in the Desktop Forward renderer back into line with the Mac.
#jira UERNDR-300
Change 3773472 by Guillaume.Abadie
Fixes a crash on PIE of SimpleComposure project.
Change 3773475 by Guillaume.Abadie
Fixes bug in editor viewport caused by SSR input changes.
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3777037 by Mark.Satterthwaite
Remove incorrect change that caused a reference to "accurate::sincos" to appear in some Metal shaders rather than "precise::sincos".
Change 3777122 by Mark.Satterthwaite
Back out changelist 3777037 - I'm blind and wasn't seeing the real problem was a stale shader cache...
Change 3777196 by Mark.Satterthwaite
Fix text-shader compilation on iOS 10 - maybe iOS 9 too (untested!).
We need our own make_scalar type-trait template for ue4_stdlib.metal so that we still compile with older iOS runtime compilers and we can't use as_type to directly implement the packHalf2x16/unpackHalf2x16 intrinsics for these older runtime compilers either.
Change 3779098 by Rolando.Caloca
DR - vk - Fix query index
Change 3779275 by Mark.Satterthwaite
Silence the Metal runtime compiler warning caused by use of a deprecated enum value when running text shaders compiled for Metal v1.0/1.1 on a Metal v1.2+ OS.
#jira UE-52554
Change 3779427 by Rolando.Caloca
DR - vk - Fix for allocator contention
Change 3779608 by Uriel.Doyon
Fixed invalid access in the resave package commantlet when building texture streaming material data for materials enabling tesselation.
Change 3784496 by Mark.Satterthwaite
Temporarily disable USE_OBJECT_COMPOSITING_TILE_CULLING for Metal shader compilation only - other platforms are unaffected - as it isn't working properly for some reason. need to work out what's up but don't want Distance Fields to be completely snookered in the interim.
#jira UE-52952
Change 3784608 by Rolando.Caloca
DR - Copy 3784588
- Fix for drivers returning out of date swapchains during resizes
Change 3784734 by Mark.Satterthwaite
Real fix for UE-52952 - MetalShaderFormat wasn't propagating the full thread-group value.
#jira UE-52952
Change 3784741 by Mark.Satterthwaite
More Metal debugging commandline options "-metalfastmath" & "-metalnofastmath" to force fast-math on or off for all shaders, must be using runtime-compiled shaders (i.e. -metalshaderdebug or r.Shaders.Optimise=0) to take effect.
Change 3787103 by Guillaume.Abadie
Kills BuiltinSamplers UB
Change 3787207 by Guillaume.Abadie
Sorry, compile fix that were fine with local changes...
Change 3787396 by Marcus.Wassmer
PR #4271: UE-52901: Set VIS_Max meta to hidden (Contributed by projectgheist)
Change 3788028 by Peter.Sumanaseni
Working linear HDR exr output from sequencer
Change 3788536 by Mark.Satterthwaite
Track whether the Metal shader uses the discard_fragment function as when this is used but without any other outputs we know we need to bind at least one render-target or a depth-stencil surface but we don't know which. This lets us correctly error when we encounter a shader with no outputs at all which Metal doesn't permit.
#jira UE-52292
Change 3788538 by Mark.Satterthwaite
Let's try mitigating UE-46604 on Nvidia by retaining resource references in the command-buffer. This shouldn't be necessary and isn't typically on other vendors but we haven't been able to reproduce this reliably enough to get to the bottom of it.
#jira UE-46604
Change 3789083 by Guillaume.Abadie
Implements global shader permutations. Example in ScreenSpaceReflections.cpp.
Change 3789090 by Guillaume.Abadie
Fixes linux build.
Change 3789106 by Guillaume.Abadie
Fixes compilation failure in niagara plugin.
Change 3789274 by Guillaume.Abadie
Avoid hit proxies to clobber TAA's hitsory.
#jira UE-52968
Change 3789380 by Guillaume.Abadie
Back out changelist 3789083: global shader permutation because compilation failure in clang.
Change 3789648 by Guillaume.Abadie
Relands global shader permutation, with clang support.
Change 3789712 by Guillaume.Abadie
Fixes TestImage show flag with TAAU on.
#jira UE-53061
Change 3791593 by Guillaume.Abadie
Reinvalidates shaders with shader permutations.
Change 3791884 by Daniel.Wright
Added BP setter for LowerHemisphereColor
Change 3791886 by Daniel.Wright
Added LightmapType to PrimitiveComponent
* ForceVolumetric allows forcing static geometry to use Volumetric Lightmaps, which can be useful on instanced foliage where seams are prevalent. Lightmass internal caching still requires lightmap UVs and reasonable lightmap resolution.
* ForceSurface replaces bLightAsIfStatic
Improvements to Volumetric Lightmap quality needed for static geometry
* Stationary light shadowing is now dilated inside geometry
* Now doing two dilation passes since samples near geometry see inside due to ray start bias
* Refinement around geometry uses an expanded cell bounds when the geometry is going to use Volumetric Lightmaps, since cross-resolution stitching causes leaking
Lightmass debug primitives are now tied to a swarm task instead of global - allows debugging of Volumetric Lightmap tasks
Change 3792256 by Guillaume.Abadie
Fixes a bug where permutation was not actually serialised in FShader, so was ending up recompiling shader at every load.
Change 3792884 by Marcus.Wassmer
Copying //UE4/Partner-AMD to Dev-Rendering (//UE4/Dev-Rendering)
Change 3793200 by Marcus.Wassmer
Copying //UE4/Partner-IDV-SpeedTree to Dev-Rendering (//UE4/Dev-Rendering)
Speedtree 8 support
Change 3793206 by Brian.Karis
Added color grading control BlueCorrection to correct for artifacts with "electric" blues due to the ACEScg color space. Bright blue desaturates instead of going to violet.
Added color grading control ExpandGamut which expands bright saturated colors outside the sRGB gamut to fake wide gamut rendering.
ACES changes.
Change 3793344 by Marcus.Wassmer
Fix editortest compile
Change 3794285 by Guillaume.Abadie
Serializes PermutationId according to archive rendering version to avoid issues with old material that were serializing a shader map into UObject.
Change 3794307 by Guillaume.Abadie
Resaves uassets that were modified between 3789648 and 3794285
Change 3794627 by Mark.Satterthwaite
Implement two components for MTLPP, an IMP cache for Objective-C selector implementations & an interposition framework for those same selectors:
- imp_SelectorCache & friends provide the IMP caching for each of the Metal protocols which constitute most of the API, so far I've not covered the Metal classes used for the various descriptor/initializer types. Each type has its own IMPTable which caches the selector's implementation pointer and provides the mechanism to hook that implementation. As Objective-C is runtime dynamic this look up must be performed on the actual Class value returned by an object at runtime - you can't do this at compile time. Even things like NSString which appear compile-time static are really not as NSString is an alias for a class-cluster (NSString, NSMutableString, __NSInlineString and more).
- The interpose directory contains MTI* files which are the framework for interposing all the functions in Metal's runtime API - I deliberately omit the descriptor classes & read-only functions as there's no benefit to interposing them - which I can build off to create a trace tool or a superior validation layer. Right now this is Mac only as there'll be some problems to solve for iOS/tvOS due to difference in linking requirements - not insurmountable.
- Rebuild MTLPP's implementation of the C++ wrapper classes around the IMPTable's - this means we avoid all the objc_msgSend overhead for all the classes and functions whose implementations are cached. Right now the IMPTable is going to incur a look-up for all non-copy/move constructors which is suboptimal - ideally the Metal IMPTables would be cached in the Device object as they will be consistent within a single Device.
- Sort out the MTLPP availability logic - it now exports the availability warnings to the caller and internally just blithely assumes it may call the functions, the caller is responsible for ensuring that calls are made only on appropriate devices & OSes. This reduces MTLPP complexity and better fits how MetalRHI works.
- Fix a number of retain/release bugs that were lying dormant in MTLPP but exposed by the switch to IMPTables.
- Add tvOS support.
Next up, put this into MetalRHI and start fixing all the fallout.
Change 3794631 by Mark.Satterthwaite
Missed updating mtlpp's build.cs for TVOS.
Change 3794651 by Uriel.Doyon
UPointLightComponent::GetUnitsConversionFactor() now takes the cone angle as parameter. This allows to fix spotlight unit conversion when using lumens.
Change 3794720 by Guillaume.Abadie
Fixes a bug in Global{Bilinear,Trilinear}ClampedSampler that was actually doing a Point sampling.
Change 3794749 by Mark.Satterthwaite
Fix mtlpp.build.cs paths.
Change 3794856 by Mark.Satterthwaite
Fix some shadowing warnings.
Change 3795484 by Daniel.Wright
Implemented the Spherical Harmonic windowing algorithm from 'Stupid Spherical Harmonics (SH) Tricks'
New WorldSettings Lightmass property VolumetricLightmapSphericalHarmonicSmoothing controls the global amount of smoothing applied
Change 3795590 by Brian.Karis
Area light fixes
Fixed order of operations. This helps mixing of SourceRadius, SourceLength, and SoftSourceRadius.
Change 3796832 by Marcus.Wassmer
Correct shouldcache condition for new resolve shader
Change 3796884 by Marcus.Wassmer
Doing it right this time.
Change 3797196 by Mark.Satterthwaite
More updates to MTLPP to make things simpler and reduce the number of spurious Objective-C warnings that are emitted because of the way we are using the runtime.
Change 3797200 by Daniel.Wright
Lightmass now uses the highest density VolumetricLightmapDensityVolume settings that affect any part of a cell
Change 3797221 by Daniel.Wright
Reduced default SphericalHarmonicSmoothing based on RoboRecall tests. Now only active with strong direct lighting from static lights by default.
Change 3797411 by Brian.Karis
Disable ExpandGamut for old tone mapper.
Change 3797462 by Mark.Satterthwaite
More build warnings silenced after changing to the lowest possible deployment target OS for each library.
Change 3797585 by Mark.Satterthwaite
Range-based-For support in the NSArray wrapper.
Change 3797836 by Mark.Satterthwaite
Even more forward-declarations to avoid system headers poking through to the including code from mtlpp.
Change 3798027 by Mark.Satterthwaite
Fix handling of nil objects, on which no functions may be called, command-buffer retention and IMP declaration.
Change 3798154 by Mark.Satterthwaite
Fix some egregious memory leaks that rewriting to use mtlpp exposed before we carry on - don't want these slipping into 4.19.
Change 3800990 by Mark.Satterthwaite
Typedef all the completion-handler callback types in mtlpp to make future me's life easier.
Change 3801400 by Chris.Bunner
Improving automated test errors on failure to generate report data.
Change 3801726 by Mark.Satterthwaite
Correct some function availability and the command-buffer error status in mtlpp.
Change 3801808 by Chris.Bunner
Added DefaultScalability.ini to EngineTest that forces all quality levels to Engine default Epic for now to improve consistency.
Change 3801862 by Marcus.Wassmer
Update automated tests with color gamut change
Change 3802214 by Chris.Bunner
When running automated tests in and editor-locked PIE viewport, skip resizing as the editor can't handle this.
Added bindable delegate called when ScreenshotRequest is processed - Useful to allow screenshots to override and restore settings per capture.
#jira UE-53188
Change 3802243 by Chris.Bunner
Added button to automated test screenshot browser to add or replace all outstanding test reports if appropriate.
DeleteAllReports button is now only enabled whilst there are reports in the list.
Change 3802372 by Chris.Bunner
Updating more test screenshots.
Change 3803683 by Chris.Bunner
Adding more logging and multiple attempts to automated test report network save.
Added small wait on repeated operations that are known to fail.
Change 3803826 by Rolando.Caloca
DR - vk - Fix merge issue
Change 3804181 by Chris.Bunner
Tentative fix for CIS test failure.
Change 3804236 by Chris.Bunner
Additional logging for case where file write silently fails, report platform-specific error.
Change 3804303 by zachary.wilson
Cleaning up assets in QAGame saved with empty engine versions to resolve warnings seen when launching on
Change 3804410 by Chris.Bunner
Added additional logging when automated screenshot test fails due to size mismatch.
Mismatched bounds are colored red in the delta.
Change 3804455 by Mark.Satterthwaite
Fix a small number of persistent memory leaks on the Mac build that slowly consume more and more memory as you use the Editor - interacting with menu's was particularly egregious as each NSMenu would leak after you move away.
#jira NA
Change 3804667 by Chris.Bunner
Speculative CIS fixes.
Change 3806008 by Chris.Bunner
Partially reimplementing backed-out CL 3804181 to improve consistency of how automated screenshot test settings are applied/restored.
#tests CIS preflight job 8174412
Change 3806909 by Mark.Satterthwaite
Use the vertex-shader's in-out mask to ensure that we only validate legitmate vertex-streams in Metal's DrawIndexedPrimitive implementation.
#jira UE-53046
Change 3807059 by laz.matech
Checking in QAGame Rendering Map, QA-PhysicalLightingUnits, for testing Physical Light Units.
Wanted to get this in before copy up.
#Jira none
Change 3807726 by Chris.Bunner
Removed a check that we can't fix up. The check hits unbound buffers which it assumes means a failure but is actually due to m.v.fetch. We don't have the information available to know which are which removed from the input without reading from the shader.
#jira UE-53046
Change 3807800 by Guillaume.Abadie
Fixes some warning in shader headers.
Change 3807804 by Guillaume.Abadie
Back out changelist 3807800
Change 3807807 by Guillaume.Abadie
Relands shader header warnings.
Change 3808046 by Chris.Bunner
Dropping a new automated test error back to a warning as this may lead to genuine issues being ignored in the short term.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3809620 by Chris.Bunner
Updating animated cloth test screenshot.
Change 3803629 by Chris.Bunner
Rebuilt CornellBox and DistanceField test maps, updated screenshots.
Change 3787045 by Guillaume.Abadie
Moves some global samplers to Common.ush
Change 3809756 by Chris.Bunner
Updating animated cloth test screenshot.
[CL 3809764 by Chris Bunner in Main branch]
2017-12-15 12:47:47 -05:00
{
int32 NumExternalIncludes = 0 ;
InputFile < < NumExternalIncludes ;
ExternalIncludes . Reserve ( NumExternalIncludes ) ;
for ( int32 IncludeIndex = 0 ; IncludeIndex < NumExternalIncludes ; IncludeIndex + + )
{
FString NewIncludeName ;
InputFile < < NewIncludeName ;
FString * NewIncludeContents = new FString ( ) ;
InputFile < < ( * NewIncludeContents ) ;
ExternalIncludes . Add ( NewIncludeName , MakeShareable ( NewIncludeContents ) ) ;
}
2021-03-16 16:19:23 -04:00
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3809756)
#rb None
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3629223 by Rolando.Caloca
DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847
Change 3629708 by Rolando.Caloca
DR - vk - Redo some changes from DevMobile
3601439
3604186
3606672
3617383
3617474
3617483
Change 3761370 by Arne.Schober
DR - Added CityHash to use with conatiners and stuff. It provides good performance and high quallity across multiple platforms.
Change 3761437 by Guillaume.Abadie
Optimises motion blur compute shader for consoles.
Change 3761483 by Guillaume.Abadie
Fixes D3D11 RHI lying to dynamic resolution heuristic with t.MaxFPS.
Change 3761995 by Mark.Satterthwaite
Add the Metal compiler path to the local .pch filename to avoid problems when Xcode moves.
Change 3761996 by Mark.Satterthwaite
Emit more details when a pixel shader is found to have no outputs at all which Metal doesn't permit. More likely this is a bug in the shader compiler not configuring the in-out mask correctly...
#jira UE-52292
Change 3761999 by Mark.Satterthwaite
No need to avoid tessellation for FMetalRHICommandContext::RHIEndDrawIndexedPrimitiveUP anymore - that was from back when the tessellation logic was replicated in each RHI*Draw* implementation.
#jira UE-51937
Change 3762181 by Joe.Graf
Changed MaxShaderJobBatchSize to 25 on Mac as it reduced shader compile time by 21%
Change 3762607 by Mark.Satterthwaite
Remove accidentally included changes from 3761995.
Change 3762612 by Mark.Satterthwaite
Enable the explicit sincos intrinsic for Metal to avoid instances of UE-52477 that can cause shaders to compile incorrectly through hlslcc.
#jira UE-52477
Change 3762772 by Michael.Lentine
Move RHI calls to render thread.
Change 3763021 by Richard.Wallis
Remove shader cache tool project and implementation.
#jira UE-51613
Change 3763082 by Guillaume.Abadie
More SceneTexture, SceneColor and SceneDepth automated tests
Change 3763111 by Richard.Wallis
Clone of CL 3763033 (Release-4.18):
Fix for crash upon launching packaged game on Mac with Share Material Shader Code enabled.
#jira UE-52121
Change 3763657 by Michael.Lentine
Invalidate ddc for skeletal mesh render data so that the duplicated vertex render structures are properly serialized.
Change 3763727 by Jian.Ru
Fix Player Collision view mode. It is caused by checking an uninitialized vertex buffer so the check always fail.
#jira UE-52052
Change 3763738 by Guillaume.Abadie
Implements SSR input post process material location.
Change 3764271 by Mark.Satterthwaite
Allow ControlPointPatch lists to flow through MetalRHI as it was setup to handle this transparently - the VSHS compute shader will convert them to triangles to draw. Report the same warning as in the pipeline creation stage as this hasn't been formally validated.
#jira UE-52454
Change 3764316 by Daniel.Wright
Added AVolumetricLightmapDensityVolume - gives local control over Volumetric Lightmap density. Dropping the top mip outside of the play area in Monolith saves 20Mb (35Mb original).
Volumetric Lightmap no longer refines around static translucent geometry - saves 5Mb in Monolith
Reworked brick culling by error mechanism. Now compares error to interpolated parent lighting instead of the brick average - prevents dropping constant value bricks which are near a wall and cause leaking due to parent interpolation after being culled.
Change 3764318 by Daniel.Wright
Missing file
Change 3764321 by Daniel.Wright
Shader compiling memory optimizations
* Editor memory: Sharing uniform buffer includes and GeneratedInstancedStereo.ush per FShaderType (was previously duplicated per FShader job)
* SCW input size: Sharing uniform buffer includes and SharedEnvironment per batch
* 7.6Gb of shader job inputs in memory -> .5Gb (13x less) when doing a full shader compile of Paragon Editor
* 13.8Gb written into worker input files -> 2.9Gb (4.7x less). Global shaders are never batched when sent to SCW so unoptimized by these changes.
Change 3764595 by Daniel.Wright
Added VolumetricLightmapDensityVolume asset icons
Change 3764701 by Michael.Lentine
Add duplicated vertices merging for meshmerge.
Change 3766002 by Guillaume.Abadie
Fixes a crash in translucency.
Change 3766007 by Guillaume.Abadie
Oups.... Fixes compilation failure.
Change 3766697 by Guillaume.Abadie
Giant refactor of global shader interface for upcoming native support of permutation.
CL generated by python script.
Change 3767205 by Chris.Bunner
Deferring FMaterial::RenderingThreadShaderMap update to render-thread rather than assumption commands have been flushed.
#jira UE-50652
Change 3767207 by Chris.Bunner
Clamp fetched texture coordinates to those available on the mesh.
Change 3767209 by Chris.Bunner
PR #4203: Early-outs in UMaterialInstance parameter setters (Contributed by stefanzimecki)
#jira UE-52193
Change 3767772 by Mark.Satterthwaite
MetalShaderFormat will no longer fallback to text shaders when you ask it to compile to bytecode but the bytecode compiler is not available (either locally or remotely) - this ensures that the DDC can't be poisoned by incorrectly configured clients. The Editor is already setup such that if the remote shader compiler is not configured & Xcode is not available locally the shader-compiler will be invoked to generate text shaders.
#jira UE-52554
Change 3768604 by Guillaume.Abadie
Polish up with new global shader function signature.
Change 3768993 by Guillaume.Abadie
Fixes r.Upscale.Panini cvars
Change 3769478 by Mark.Satterthwaite
Move the ue4_stdlib.metal & PCH into a temporary directory that exists for the lifetime of the SCW on the remote side as well as the local one and add this path as an include directory.
#jira UE-52587
Change 3769703 by Mark.Satterthwaite
For all Metal platforms >= Metal v1.2 transform mul(a,b) into fma(a,b,0) to prevent the Apple compiler reordering operations differently between the base & depth passes which results in variance in the position output.
For iOS disable fast-math when the vertex-shader uses World-Position-Offset because there are additional problems on the iOS shader compiler that result in position variance even with the above fix - WPO performance will suffer but I don't have any alternatives.
Remove the depth-offset hack from the depth-only vertex shader again.
#jira UES-5651
Change 3769763 by Mark.Satterthwaite
Handle swizzle's in the hlslcc fma identification pass so that we reduce the number of instructions and the platform compiler can't break the instructions up.
Change 3769849 by Mark.Satterthwaite
Fix CIS error.
Change 3770517 by Richard.Wallis
Fix for crash when creating a new media texture (AppleIntelHD5000GraphicsMTLDriver!SamplerStage::bindSamplerToTexture()). Missing texture resource for binding. Old InitDynamicRHI() code has been refactored out into seperate functions which leaves us on Mac with a NULL resource initially after creation which Metal doesn't like. This fix puts InitDynamicRHI down the default setup/clear path which inits default resources - I don't think we should use a global dummy in this instance as this is a render target.
#jira UE-51940
Change 3770688 by Uriel.Doyon
Fixed texture resolution returning 0 when running blueprint construction scripts at cook time.
Change 3771115 by Mark.Satterthwaite
Report errors from failed attempts to compile global shaders or we can't see why things fail on non-Windows platforms.
Change 3771263 by Mark.Satterthwaite
Change the way ManualVertexFetch is enabled on Metal platforms so that it is enabled when targeting Metal v1.2 and higher (macOS 10.12+/iOS 10+). This brings iOS in the Desktop Forward renderer back into line with the Mac.
#jira UERNDR-300
Change 3773472 by Guillaume.Abadie
Fixes a crash on PIE of SimpleComposure project.
Change 3773475 by Guillaume.Abadie
Fixes bug in editor viewport caused by SSR input changes.
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3777037 by Mark.Satterthwaite
Remove incorrect change that caused a reference to "accurate::sincos" to appear in some Metal shaders rather than "precise::sincos".
Change 3777122 by Mark.Satterthwaite
Back out changelist 3777037 - I'm blind and wasn't seeing the real problem was a stale shader cache...
Change 3777196 by Mark.Satterthwaite
Fix text-shader compilation on iOS 10 - maybe iOS 9 too (untested!).
We need our own make_scalar type-trait template for ue4_stdlib.metal so that we still compile with older iOS runtime compilers and we can't use as_type to directly implement the packHalf2x16/unpackHalf2x16 intrinsics for these older runtime compilers either.
Change 3779098 by Rolando.Caloca
DR - vk - Fix query index
Change 3779275 by Mark.Satterthwaite
Silence the Metal runtime compiler warning caused by use of a deprecated enum value when running text shaders compiled for Metal v1.0/1.1 on a Metal v1.2+ OS.
#jira UE-52554
Change 3779427 by Rolando.Caloca
DR - vk - Fix for allocator contention
Change 3779608 by Uriel.Doyon
Fixed invalid access in the resave package commantlet when building texture streaming material data for materials enabling tesselation.
Change 3784496 by Mark.Satterthwaite
Temporarily disable USE_OBJECT_COMPOSITING_TILE_CULLING for Metal shader compilation only - other platforms are unaffected - as it isn't working properly for some reason. need to work out what's up but don't want Distance Fields to be completely snookered in the interim.
#jira UE-52952
Change 3784608 by Rolando.Caloca
DR - Copy 3784588
- Fix for drivers returning out of date swapchains during resizes
Change 3784734 by Mark.Satterthwaite
Real fix for UE-52952 - MetalShaderFormat wasn't propagating the full thread-group value.
#jira UE-52952
Change 3784741 by Mark.Satterthwaite
More Metal debugging commandline options "-metalfastmath" & "-metalnofastmath" to force fast-math on or off for all shaders, must be using runtime-compiled shaders (i.e. -metalshaderdebug or r.Shaders.Optimise=0) to take effect.
Change 3787103 by Guillaume.Abadie
Kills BuiltinSamplers UB
Change 3787207 by Guillaume.Abadie
Sorry, compile fix that were fine with local changes...
Change 3787396 by Marcus.Wassmer
PR #4271: UE-52901: Set VIS_Max meta to hidden (Contributed by projectgheist)
Change 3788028 by Peter.Sumanaseni
Working linear HDR exr output from sequencer
Change 3788536 by Mark.Satterthwaite
Track whether the Metal shader uses the discard_fragment function as when this is used but without any other outputs we know we need to bind at least one render-target or a depth-stencil surface but we don't know which. This lets us correctly error when we encounter a shader with no outputs at all which Metal doesn't permit.
#jira UE-52292
Change 3788538 by Mark.Satterthwaite
Let's try mitigating UE-46604 on Nvidia by retaining resource references in the command-buffer. This shouldn't be necessary and isn't typically on other vendors but we haven't been able to reproduce this reliably enough to get to the bottom of it.
#jira UE-46604
Change 3789083 by Guillaume.Abadie
Implements global shader permutations. Example in ScreenSpaceReflections.cpp.
Change 3789090 by Guillaume.Abadie
Fixes linux build.
Change 3789106 by Guillaume.Abadie
Fixes compilation failure in niagara plugin.
Change 3789274 by Guillaume.Abadie
Avoid hit proxies to clobber TAA's hitsory.
#jira UE-52968
Change 3789380 by Guillaume.Abadie
Back out changelist 3789083: global shader permutation because compilation failure in clang.
Change 3789648 by Guillaume.Abadie
Relands global shader permutation, with clang support.
Change 3789712 by Guillaume.Abadie
Fixes TestImage show flag with TAAU on.
#jira UE-53061
Change 3791593 by Guillaume.Abadie
Reinvalidates shaders with shader permutations.
Change 3791884 by Daniel.Wright
Added BP setter for LowerHemisphereColor
Change 3791886 by Daniel.Wright
Added LightmapType to PrimitiveComponent
* ForceVolumetric allows forcing static geometry to use Volumetric Lightmaps, which can be useful on instanced foliage where seams are prevalent. Lightmass internal caching still requires lightmap UVs and reasonable lightmap resolution.
* ForceSurface replaces bLightAsIfStatic
Improvements to Volumetric Lightmap quality needed for static geometry
* Stationary light shadowing is now dilated inside geometry
* Now doing two dilation passes since samples near geometry see inside due to ray start bias
* Refinement around geometry uses an expanded cell bounds when the geometry is going to use Volumetric Lightmaps, since cross-resolution stitching causes leaking
Lightmass debug primitives are now tied to a swarm task instead of global - allows debugging of Volumetric Lightmap tasks
Change 3792256 by Guillaume.Abadie
Fixes a bug where permutation was not actually serialised in FShader, so was ending up recompiling shader at every load.
Change 3792884 by Marcus.Wassmer
Copying //UE4/Partner-AMD to Dev-Rendering (//UE4/Dev-Rendering)
Change 3793200 by Marcus.Wassmer
Copying //UE4/Partner-IDV-SpeedTree to Dev-Rendering (//UE4/Dev-Rendering)
Speedtree 8 support
Change 3793206 by Brian.Karis
Added color grading control BlueCorrection to correct for artifacts with "electric" blues due to the ACEScg color space. Bright blue desaturates instead of going to violet.
Added color grading control ExpandGamut which expands bright saturated colors outside the sRGB gamut to fake wide gamut rendering.
ACES changes.
Change 3793344 by Marcus.Wassmer
Fix editortest compile
Change 3794285 by Guillaume.Abadie
Serializes PermutationId according to archive rendering version to avoid issues with old material that were serializing a shader map into UObject.
Change 3794307 by Guillaume.Abadie
Resaves uassets that were modified between 3789648 and 3794285
Change 3794627 by Mark.Satterthwaite
Implement two components for MTLPP, an IMP cache for Objective-C selector implementations & an interposition framework for those same selectors:
- imp_SelectorCache & friends provide the IMP caching for each of the Metal protocols which constitute most of the API, so far I've not covered the Metal classes used for the various descriptor/initializer types. Each type has its own IMPTable which caches the selector's implementation pointer and provides the mechanism to hook that implementation. As Objective-C is runtime dynamic this look up must be performed on the actual Class value returned by an object at runtime - you can't do this at compile time. Even things like NSString which appear compile-time static are really not as NSString is an alias for a class-cluster (NSString, NSMutableString, __NSInlineString and more).
- The interpose directory contains MTI* files which are the framework for interposing all the functions in Metal's runtime API - I deliberately omit the descriptor classes & read-only functions as there's no benefit to interposing them - which I can build off to create a trace tool or a superior validation layer. Right now this is Mac only as there'll be some problems to solve for iOS/tvOS due to difference in linking requirements - not insurmountable.
- Rebuild MTLPP's implementation of the C++ wrapper classes around the IMPTable's - this means we avoid all the objc_msgSend overhead for all the classes and functions whose implementations are cached. Right now the IMPTable is going to incur a look-up for all non-copy/move constructors which is suboptimal - ideally the Metal IMPTables would be cached in the Device object as they will be consistent within a single Device.
- Sort out the MTLPP availability logic - it now exports the availability warnings to the caller and internally just blithely assumes it may call the functions, the caller is responsible for ensuring that calls are made only on appropriate devices & OSes. This reduces MTLPP complexity and better fits how MetalRHI works.
- Fix a number of retain/release bugs that were lying dormant in MTLPP but exposed by the switch to IMPTables.
- Add tvOS support.
Next up, put this into MetalRHI and start fixing all the fallout.
Change 3794631 by Mark.Satterthwaite
Missed updating mtlpp's build.cs for TVOS.
Change 3794651 by Uriel.Doyon
UPointLightComponent::GetUnitsConversionFactor() now takes the cone angle as parameter. This allows to fix spotlight unit conversion when using lumens.
Change 3794720 by Guillaume.Abadie
Fixes a bug in Global{Bilinear,Trilinear}ClampedSampler that was actually doing a Point sampling.
Change 3794749 by Mark.Satterthwaite
Fix mtlpp.build.cs paths.
Change 3794856 by Mark.Satterthwaite
Fix some shadowing warnings.
Change 3795484 by Daniel.Wright
Implemented the Spherical Harmonic windowing algorithm from 'Stupid Spherical Harmonics (SH) Tricks'
New WorldSettings Lightmass property VolumetricLightmapSphericalHarmonicSmoothing controls the global amount of smoothing applied
Change 3795590 by Brian.Karis
Area light fixes
Fixed order of operations. This helps mixing of SourceRadius, SourceLength, and SoftSourceRadius.
Change 3796832 by Marcus.Wassmer
Correct shouldcache condition for new resolve shader
Change 3796884 by Marcus.Wassmer
Doing it right this time.
Change 3797196 by Mark.Satterthwaite
More updates to MTLPP to make things simpler and reduce the number of spurious Objective-C warnings that are emitted because of the way we are using the runtime.
Change 3797200 by Daniel.Wright
Lightmass now uses the highest density VolumetricLightmapDensityVolume settings that affect any part of a cell
Change 3797221 by Daniel.Wright
Reduced default SphericalHarmonicSmoothing based on RoboRecall tests. Now only active with strong direct lighting from static lights by default.
Change 3797411 by Brian.Karis
Disable ExpandGamut for old tone mapper.
Change 3797462 by Mark.Satterthwaite
More build warnings silenced after changing to the lowest possible deployment target OS for each library.
Change 3797585 by Mark.Satterthwaite
Range-based-For support in the NSArray wrapper.
Change 3797836 by Mark.Satterthwaite
Even more forward-declarations to avoid system headers poking through to the including code from mtlpp.
Change 3798027 by Mark.Satterthwaite
Fix handling of nil objects, on which no functions may be called, command-buffer retention and IMP declaration.
Change 3798154 by Mark.Satterthwaite
Fix some egregious memory leaks that rewriting to use mtlpp exposed before we carry on - don't want these slipping into 4.19.
Change 3800990 by Mark.Satterthwaite
Typedef all the completion-handler callback types in mtlpp to make future me's life easier.
Change 3801400 by Chris.Bunner
Improving automated test errors on failure to generate report data.
Change 3801726 by Mark.Satterthwaite
Correct some function availability and the command-buffer error status in mtlpp.
Change 3801808 by Chris.Bunner
Added DefaultScalability.ini to EngineTest that forces all quality levels to Engine default Epic for now to improve consistency.
Change 3801862 by Marcus.Wassmer
Update automated tests with color gamut change
Change 3802214 by Chris.Bunner
When running automated tests in and editor-locked PIE viewport, skip resizing as the editor can't handle this.
Added bindable delegate called when ScreenshotRequest is processed - Useful to allow screenshots to override and restore settings per capture.
#jira UE-53188
Change 3802243 by Chris.Bunner
Added button to automated test screenshot browser to add or replace all outstanding test reports if appropriate.
DeleteAllReports button is now only enabled whilst there are reports in the list.
Change 3802372 by Chris.Bunner
Updating more test screenshots.
Change 3803683 by Chris.Bunner
Adding more logging and multiple attempts to automated test report network save.
Added small wait on repeated operations that are known to fail.
Change 3803826 by Rolando.Caloca
DR - vk - Fix merge issue
Change 3804181 by Chris.Bunner
Tentative fix for CIS test failure.
Change 3804236 by Chris.Bunner
Additional logging for case where file write silently fails, report platform-specific error.
Change 3804303 by zachary.wilson
Cleaning up assets in QAGame saved with empty engine versions to resolve warnings seen when launching on
Change 3804410 by Chris.Bunner
Added additional logging when automated screenshot test fails due to size mismatch.
Mismatched bounds are colored red in the delta.
Change 3804455 by Mark.Satterthwaite
Fix a small number of persistent memory leaks on the Mac build that slowly consume more and more memory as you use the Editor - interacting with menu's was particularly egregious as each NSMenu would leak after you move away.
#jira NA
Change 3804667 by Chris.Bunner
Speculative CIS fixes.
Change 3806008 by Chris.Bunner
Partially reimplementing backed-out CL 3804181 to improve consistency of how automated screenshot test settings are applied/restored.
#tests CIS preflight job 8174412
Change 3806909 by Mark.Satterthwaite
Use the vertex-shader's in-out mask to ensure that we only validate legitmate vertex-streams in Metal's DrawIndexedPrimitive implementation.
#jira UE-53046
Change 3807059 by laz.matech
Checking in QAGame Rendering Map, QA-PhysicalLightingUnits, for testing Physical Light Units.
Wanted to get this in before copy up.
#Jira none
Change 3807726 by Chris.Bunner
Removed a check that we can't fix up. The check hits unbound buffers which it assumes means a failure but is actually due to m.v.fetch. We don't have the information available to know which are which removed from the input without reading from the shader.
#jira UE-53046
Change 3807800 by Guillaume.Abadie
Fixes some warning in shader headers.
Change 3807804 by Guillaume.Abadie
Back out changelist 3807800
Change 3807807 by Guillaume.Abadie
Relands shader header warnings.
Change 3808046 by Chris.Bunner
Dropping a new automated test error back to a warning as this may lead to genuine issues being ignored in the short term.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3809620 by Chris.Bunner
Updating animated cloth test screenshot.
Change 3803629 by Chris.Bunner
Rebuilt CornellBox and DistanceField test maps, updated screenshots.
Change 3787045 by Guillaume.Abadie
Moves some global samplers to Common.ush
Change 3809756 by Chris.Bunner
Updating animated cloth test screenshot.
[CL 3809764 by Chris Bunner in Main branch]
2017-12-15 12:47:47 -05:00
2021-03-16 16:19:23 -04:00
// Shared environments
TArray < FShaderCompilerEnvironment > SharedEnvironments ;
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3809756)
#rb None
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3629223 by Rolando.Caloca
DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847
Change 3629708 by Rolando.Caloca
DR - vk - Redo some changes from DevMobile
3601439
3604186
3606672
3617383
3617474
3617483
Change 3761370 by Arne.Schober
DR - Added CityHash to use with conatiners and stuff. It provides good performance and high quallity across multiple platforms.
Change 3761437 by Guillaume.Abadie
Optimises motion blur compute shader for consoles.
Change 3761483 by Guillaume.Abadie
Fixes D3D11 RHI lying to dynamic resolution heuristic with t.MaxFPS.
Change 3761995 by Mark.Satterthwaite
Add the Metal compiler path to the local .pch filename to avoid problems when Xcode moves.
Change 3761996 by Mark.Satterthwaite
Emit more details when a pixel shader is found to have no outputs at all which Metal doesn't permit. More likely this is a bug in the shader compiler not configuring the in-out mask correctly...
#jira UE-52292
Change 3761999 by Mark.Satterthwaite
No need to avoid tessellation for FMetalRHICommandContext::RHIEndDrawIndexedPrimitiveUP anymore - that was from back when the tessellation logic was replicated in each RHI*Draw* implementation.
#jira UE-51937
Change 3762181 by Joe.Graf
Changed MaxShaderJobBatchSize to 25 on Mac as it reduced shader compile time by 21%
Change 3762607 by Mark.Satterthwaite
Remove accidentally included changes from 3761995.
Change 3762612 by Mark.Satterthwaite
Enable the explicit sincos intrinsic for Metal to avoid instances of UE-52477 that can cause shaders to compile incorrectly through hlslcc.
#jira UE-52477
Change 3762772 by Michael.Lentine
Move RHI calls to render thread.
Change 3763021 by Richard.Wallis
Remove shader cache tool project and implementation.
#jira UE-51613
Change 3763082 by Guillaume.Abadie
More SceneTexture, SceneColor and SceneDepth automated tests
Change 3763111 by Richard.Wallis
Clone of CL 3763033 (Release-4.18):
Fix for crash upon launching packaged game on Mac with Share Material Shader Code enabled.
#jira UE-52121
Change 3763657 by Michael.Lentine
Invalidate ddc for skeletal mesh render data so that the duplicated vertex render structures are properly serialized.
Change 3763727 by Jian.Ru
Fix Player Collision view mode. It is caused by checking an uninitialized vertex buffer so the check always fail.
#jira UE-52052
Change 3763738 by Guillaume.Abadie
Implements SSR input post process material location.
Change 3764271 by Mark.Satterthwaite
Allow ControlPointPatch lists to flow through MetalRHI as it was setup to handle this transparently - the VSHS compute shader will convert them to triangles to draw. Report the same warning as in the pipeline creation stage as this hasn't been formally validated.
#jira UE-52454
Change 3764316 by Daniel.Wright
Added AVolumetricLightmapDensityVolume - gives local control over Volumetric Lightmap density. Dropping the top mip outside of the play area in Monolith saves 20Mb (35Mb original).
Volumetric Lightmap no longer refines around static translucent geometry - saves 5Mb in Monolith
Reworked brick culling by error mechanism. Now compares error to interpolated parent lighting instead of the brick average - prevents dropping constant value bricks which are near a wall and cause leaking due to parent interpolation after being culled.
Change 3764318 by Daniel.Wright
Missing file
Change 3764321 by Daniel.Wright
Shader compiling memory optimizations
* Editor memory: Sharing uniform buffer includes and GeneratedInstancedStereo.ush per FShaderType (was previously duplicated per FShader job)
* SCW input size: Sharing uniform buffer includes and SharedEnvironment per batch
* 7.6Gb of shader job inputs in memory -> .5Gb (13x less) when doing a full shader compile of Paragon Editor
* 13.8Gb written into worker input files -> 2.9Gb (4.7x less). Global shaders are never batched when sent to SCW so unoptimized by these changes.
Change 3764595 by Daniel.Wright
Added VolumetricLightmapDensityVolume asset icons
Change 3764701 by Michael.Lentine
Add duplicated vertices merging for meshmerge.
Change 3766002 by Guillaume.Abadie
Fixes a crash in translucency.
Change 3766007 by Guillaume.Abadie
Oups.... Fixes compilation failure.
Change 3766697 by Guillaume.Abadie
Giant refactor of global shader interface for upcoming native support of permutation.
CL generated by python script.
Change 3767205 by Chris.Bunner
Deferring FMaterial::RenderingThreadShaderMap update to render-thread rather than assumption commands have been flushed.
#jira UE-50652
Change 3767207 by Chris.Bunner
Clamp fetched texture coordinates to those available on the mesh.
Change 3767209 by Chris.Bunner
PR #4203: Early-outs in UMaterialInstance parameter setters (Contributed by stefanzimecki)
#jira UE-52193
Change 3767772 by Mark.Satterthwaite
MetalShaderFormat will no longer fallback to text shaders when you ask it to compile to bytecode but the bytecode compiler is not available (either locally or remotely) - this ensures that the DDC can't be poisoned by incorrectly configured clients. The Editor is already setup such that if the remote shader compiler is not configured & Xcode is not available locally the shader-compiler will be invoked to generate text shaders.
#jira UE-52554
Change 3768604 by Guillaume.Abadie
Polish up with new global shader function signature.
Change 3768993 by Guillaume.Abadie
Fixes r.Upscale.Panini cvars
Change 3769478 by Mark.Satterthwaite
Move the ue4_stdlib.metal & PCH into a temporary directory that exists for the lifetime of the SCW on the remote side as well as the local one and add this path as an include directory.
#jira UE-52587
Change 3769703 by Mark.Satterthwaite
For all Metal platforms >= Metal v1.2 transform mul(a,b) into fma(a,b,0) to prevent the Apple compiler reordering operations differently between the base & depth passes which results in variance in the position output.
For iOS disable fast-math when the vertex-shader uses World-Position-Offset because there are additional problems on the iOS shader compiler that result in position variance even with the above fix - WPO performance will suffer but I don't have any alternatives.
Remove the depth-offset hack from the depth-only vertex shader again.
#jira UES-5651
Change 3769763 by Mark.Satterthwaite
Handle swizzle's in the hlslcc fma identification pass so that we reduce the number of instructions and the platform compiler can't break the instructions up.
Change 3769849 by Mark.Satterthwaite
Fix CIS error.
Change 3770517 by Richard.Wallis
Fix for crash when creating a new media texture (AppleIntelHD5000GraphicsMTLDriver!SamplerStage::bindSamplerToTexture()). Missing texture resource for binding. Old InitDynamicRHI() code has been refactored out into seperate functions which leaves us on Mac with a NULL resource initially after creation which Metal doesn't like. This fix puts InitDynamicRHI down the default setup/clear path which inits default resources - I don't think we should use a global dummy in this instance as this is a render target.
#jira UE-51940
Change 3770688 by Uriel.Doyon
Fixed texture resolution returning 0 when running blueprint construction scripts at cook time.
Change 3771115 by Mark.Satterthwaite
Report errors from failed attempts to compile global shaders or we can't see why things fail on non-Windows platforms.
Change 3771263 by Mark.Satterthwaite
Change the way ManualVertexFetch is enabled on Metal platforms so that it is enabled when targeting Metal v1.2 and higher (macOS 10.12+/iOS 10+). This brings iOS in the Desktop Forward renderer back into line with the Mac.
#jira UERNDR-300
Change 3773472 by Guillaume.Abadie
Fixes a crash on PIE of SimpleComposure project.
Change 3773475 by Guillaume.Abadie
Fixes bug in editor viewport caused by SSR input changes.
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3777037 by Mark.Satterthwaite
Remove incorrect change that caused a reference to "accurate::sincos" to appear in some Metal shaders rather than "precise::sincos".
Change 3777122 by Mark.Satterthwaite
Back out changelist 3777037 - I'm blind and wasn't seeing the real problem was a stale shader cache...
Change 3777196 by Mark.Satterthwaite
Fix text-shader compilation on iOS 10 - maybe iOS 9 too (untested!).
We need our own make_scalar type-trait template for ue4_stdlib.metal so that we still compile with older iOS runtime compilers and we can't use as_type to directly implement the packHalf2x16/unpackHalf2x16 intrinsics for these older runtime compilers either.
Change 3779098 by Rolando.Caloca
DR - vk - Fix query index
Change 3779275 by Mark.Satterthwaite
Silence the Metal runtime compiler warning caused by use of a deprecated enum value when running text shaders compiled for Metal v1.0/1.1 on a Metal v1.2+ OS.
#jira UE-52554
Change 3779427 by Rolando.Caloca
DR - vk - Fix for allocator contention
Change 3779608 by Uriel.Doyon
Fixed invalid access in the resave package commantlet when building texture streaming material data for materials enabling tesselation.
Change 3784496 by Mark.Satterthwaite
Temporarily disable USE_OBJECT_COMPOSITING_TILE_CULLING for Metal shader compilation only - other platforms are unaffected - as it isn't working properly for some reason. need to work out what's up but don't want Distance Fields to be completely snookered in the interim.
#jira UE-52952
Change 3784608 by Rolando.Caloca
DR - Copy 3784588
- Fix for drivers returning out of date swapchains during resizes
Change 3784734 by Mark.Satterthwaite
Real fix for UE-52952 - MetalShaderFormat wasn't propagating the full thread-group value.
#jira UE-52952
Change 3784741 by Mark.Satterthwaite
More Metal debugging commandline options "-metalfastmath" & "-metalnofastmath" to force fast-math on or off for all shaders, must be using runtime-compiled shaders (i.e. -metalshaderdebug or r.Shaders.Optimise=0) to take effect.
Change 3787103 by Guillaume.Abadie
Kills BuiltinSamplers UB
Change 3787207 by Guillaume.Abadie
Sorry, compile fix that were fine with local changes...
Change 3787396 by Marcus.Wassmer
PR #4271: UE-52901: Set VIS_Max meta to hidden (Contributed by projectgheist)
Change 3788028 by Peter.Sumanaseni
Working linear HDR exr output from sequencer
Change 3788536 by Mark.Satterthwaite
Track whether the Metal shader uses the discard_fragment function as when this is used but without any other outputs we know we need to bind at least one render-target or a depth-stencil surface but we don't know which. This lets us correctly error when we encounter a shader with no outputs at all which Metal doesn't permit.
#jira UE-52292
Change 3788538 by Mark.Satterthwaite
Let's try mitigating UE-46604 on Nvidia by retaining resource references in the command-buffer. This shouldn't be necessary and isn't typically on other vendors but we haven't been able to reproduce this reliably enough to get to the bottom of it.
#jira UE-46604
Change 3789083 by Guillaume.Abadie
Implements global shader permutations. Example in ScreenSpaceReflections.cpp.
Change 3789090 by Guillaume.Abadie
Fixes linux build.
Change 3789106 by Guillaume.Abadie
Fixes compilation failure in niagara plugin.
Change 3789274 by Guillaume.Abadie
Avoid hit proxies to clobber TAA's hitsory.
#jira UE-52968
Change 3789380 by Guillaume.Abadie
Back out changelist 3789083: global shader permutation because compilation failure in clang.
Change 3789648 by Guillaume.Abadie
Relands global shader permutation, with clang support.
Change 3789712 by Guillaume.Abadie
Fixes TestImage show flag with TAAU on.
#jira UE-53061
Change 3791593 by Guillaume.Abadie
Reinvalidates shaders with shader permutations.
Change 3791884 by Daniel.Wright
Added BP setter for LowerHemisphereColor
Change 3791886 by Daniel.Wright
Added LightmapType to PrimitiveComponent
* ForceVolumetric allows forcing static geometry to use Volumetric Lightmaps, which can be useful on instanced foliage where seams are prevalent. Lightmass internal caching still requires lightmap UVs and reasonable lightmap resolution.
* ForceSurface replaces bLightAsIfStatic
Improvements to Volumetric Lightmap quality needed for static geometry
* Stationary light shadowing is now dilated inside geometry
* Now doing two dilation passes since samples near geometry see inside due to ray start bias
* Refinement around geometry uses an expanded cell bounds when the geometry is going to use Volumetric Lightmaps, since cross-resolution stitching causes leaking
Lightmass debug primitives are now tied to a swarm task instead of global - allows debugging of Volumetric Lightmap tasks
Change 3792256 by Guillaume.Abadie
Fixes a bug where permutation was not actually serialised in FShader, so was ending up recompiling shader at every load.
Change 3792884 by Marcus.Wassmer
Copying //UE4/Partner-AMD to Dev-Rendering (//UE4/Dev-Rendering)
Change 3793200 by Marcus.Wassmer
Copying //UE4/Partner-IDV-SpeedTree to Dev-Rendering (//UE4/Dev-Rendering)
Speedtree 8 support
Change 3793206 by Brian.Karis
Added color grading control BlueCorrection to correct for artifacts with "electric" blues due to the ACEScg color space. Bright blue desaturates instead of going to violet.
Added color grading control ExpandGamut which expands bright saturated colors outside the sRGB gamut to fake wide gamut rendering.
ACES changes.
Change 3793344 by Marcus.Wassmer
Fix editortest compile
Change 3794285 by Guillaume.Abadie
Serializes PermutationId according to archive rendering version to avoid issues with old material that were serializing a shader map into UObject.
Change 3794307 by Guillaume.Abadie
Resaves uassets that were modified between 3789648 and 3794285
Change 3794627 by Mark.Satterthwaite
Implement two components for MTLPP, an IMP cache for Objective-C selector implementations & an interposition framework for those same selectors:
- imp_SelectorCache & friends provide the IMP caching for each of the Metal protocols which constitute most of the API, so far I've not covered the Metal classes used for the various descriptor/initializer types. Each type has its own IMPTable which caches the selector's implementation pointer and provides the mechanism to hook that implementation. As Objective-C is runtime dynamic this look up must be performed on the actual Class value returned by an object at runtime - you can't do this at compile time. Even things like NSString which appear compile-time static are really not as NSString is an alias for a class-cluster (NSString, NSMutableString, __NSInlineString and more).
- The interpose directory contains MTI* files which are the framework for interposing all the functions in Metal's runtime API - I deliberately omit the descriptor classes & read-only functions as there's no benefit to interposing them - which I can build off to create a trace tool or a superior validation layer. Right now this is Mac only as there'll be some problems to solve for iOS/tvOS due to difference in linking requirements - not insurmountable.
- Rebuild MTLPP's implementation of the C++ wrapper classes around the IMPTable's - this means we avoid all the objc_msgSend overhead for all the classes and functions whose implementations are cached. Right now the IMPTable is going to incur a look-up for all non-copy/move constructors which is suboptimal - ideally the Metal IMPTables would be cached in the Device object as they will be consistent within a single Device.
- Sort out the MTLPP availability logic - it now exports the availability warnings to the caller and internally just blithely assumes it may call the functions, the caller is responsible for ensuring that calls are made only on appropriate devices & OSes. This reduces MTLPP complexity and better fits how MetalRHI works.
- Fix a number of retain/release bugs that were lying dormant in MTLPP but exposed by the switch to IMPTables.
- Add tvOS support.
Next up, put this into MetalRHI and start fixing all the fallout.
Change 3794631 by Mark.Satterthwaite
Missed updating mtlpp's build.cs for TVOS.
Change 3794651 by Uriel.Doyon
UPointLightComponent::GetUnitsConversionFactor() now takes the cone angle as parameter. This allows to fix spotlight unit conversion when using lumens.
Change 3794720 by Guillaume.Abadie
Fixes a bug in Global{Bilinear,Trilinear}ClampedSampler that was actually doing a Point sampling.
Change 3794749 by Mark.Satterthwaite
Fix mtlpp.build.cs paths.
Change 3794856 by Mark.Satterthwaite
Fix some shadowing warnings.
Change 3795484 by Daniel.Wright
Implemented the Spherical Harmonic windowing algorithm from 'Stupid Spherical Harmonics (SH) Tricks'
New WorldSettings Lightmass property VolumetricLightmapSphericalHarmonicSmoothing controls the global amount of smoothing applied
Change 3795590 by Brian.Karis
Area light fixes
Fixed order of operations. This helps mixing of SourceRadius, SourceLength, and SoftSourceRadius.
Change 3796832 by Marcus.Wassmer
Correct shouldcache condition for new resolve shader
Change 3796884 by Marcus.Wassmer
Doing it right this time.
Change 3797196 by Mark.Satterthwaite
More updates to MTLPP to make things simpler and reduce the number of spurious Objective-C warnings that are emitted because of the way we are using the runtime.
Change 3797200 by Daniel.Wright
Lightmass now uses the highest density VolumetricLightmapDensityVolume settings that affect any part of a cell
Change 3797221 by Daniel.Wright
Reduced default SphericalHarmonicSmoothing based on RoboRecall tests. Now only active with strong direct lighting from static lights by default.
Change 3797411 by Brian.Karis
Disable ExpandGamut for old tone mapper.
Change 3797462 by Mark.Satterthwaite
More build warnings silenced after changing to the lowest possible deployment target OS for each library.
Change 3797585 by Mark.Satterthwaite
Range-based-For support in the NSArray wrapper.
Change 3797836 by Mark.Satterthwaite
Even more forward-declarations to avoid system headers poking through to the including code from mtlpp.
Change 3798027 by Mark.Satterthwaite
Fix handling of nil objects, on which no functions may be called, command-buffer retention and IMP declaration.
Change 3798154 by Mark.Satterthwaite
Fix some egregious memory leaks that rewriting to use mtlpp exposed before we carry on - don't want these slipping into 4.19.
Change 3800990 by Mark.Satterthwaite
Typedef all the completion-handler callback types in mtlpp to make future me's life easier.
Change 3801400 by Chris.Bunner
Improving automated test errors on failure to generate report data.
Change 3801726 by Mark.Satterthwaite
Correct some function availability and the command-buffer error status in mtlpp.
Change 3801808 by Chris.Bunner
Added DefaultScalability.ini to EngineTest that forces all quality levels to Engine default Epic for now to improve consistency.
Change 3801862 by Marcus.Wassmer
Update automated tests with color gamut change
Change 3802214 by Chris.Bunner
When running automated tests in and editor-locked PIE viewport, skip resizing as the editor can't handle this.
Added bindable delegate called when ScreenshotRequest is processed - Useful to allow screenshots to override and restore settings per capture.
#jira UE-53188
Change 3802243 by Chris.Bunner
Added button to automated test screenshot browser to add or replace all outstanding test reports if appropriate.
DeleteAllReports button is now only enabled whilst there are reports in the list.
Change 3802372 by Chris.Bunner
Updating more test screenshots.
Change 3803683 by Chris.Bunner
Adding more logging and multiple attempts to automated test report network save.
Added small wait on repeated operations that are known to fail.
Change 3803826 by Rolando.Caloca
DR - vk - Fix merge issue
Change 3804181 by Chris.Bunner
Tentative fix for CIS test failure.
Change 3804236 by Chris.Bunner
Additional logging for case where file write silently fails, report platform-specific error.
Change 3804303 by zachary.wilson
Cleaning up assets in QAGame saved with empty engine versions to resolve warnings seen when launching on
Change 3804410 by Chris.Bunner
Added additional logging when automated screenshot test fails due to size mismatch.
Mismatched bounds are colored red in the delta.
Change 3804455 by Mark.Satterthwaite
Fix a small number of persistent memory leaks on the Mac build that slowly consume more and more memory as you use the Editor - interacting with menu's was particularly egregious as each NSMenu would leak after you move away.
#jira NA
Change 3804667 by Chris.Bunner
Speculative CIS fixes.
Change 3806008 by Chris.Bunner
Partially reimplementing backed-out CL 3804181 to improve consistency of how automated screenshot test settings are applied/restored.
#tests CIS preflight job 8174412
Change 3806909 by Mark.Satterthwaite
Use the vertex-shader's in-out mask to ensure that we only validate legitmate vertex-streams in Metal's DrawIndexedPrimitive implementation.
#jira UE-53046
Change 3807059 by laz.matech
Checking in QAGame Rendering Map, QA-PhysicalLightingUnits, for testing Physical Light Units.
Wanted to get this in before copy up.
#Jira none
Change 3807726 by Chris.Bunner
Removed a check that we can't fix up. The check hits unbound buffers which it assumes means a failure but is actually due to m.v.fetch. We don't have the information available to know which are which removed from the input without reading from the shader.
#jira UE-53046
Change 3807800 by Guillaume.Abadie
Fixes some warning in shader headers.
Change 3807804 by Guillaume.Abadie
Back out changelist 3807800
Change 3807807 by Guillaume.Abadie
Relands shader header warnings.
Change 3808046 by Chris.Bunner
Dropping a new automated test error back to a warning as this may lead to genuine issues being ignored in the short term.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3809620 by Chris.Bunner
Updating animated cloth test screenshot.
Change 3803629 by Chris.Bunner
Rebuilt CornellBox and DistanceField test maps, updated screenshots.
Change 3787045 by Guillaume.Abadie
Moves some global samplers to Common.ush
Change 3809756 by Chris.Bunner
Updating animated cloth test screenshot.
[CL 3809764 by Chris Bunner in Main branch]
2017-12-15 12:47:47 -05:00
int32 NumSharedEnvironments = 0 ;
InputFile < < NumSharedEnvironments ;
SharedEnvironments . Empty ( NumSharedEnvironments ) ;
SharedEnvironments . AddDefaulted ( NumSharedEnvironments ) ;
for ( int32 EnvironmentIndex = 0 ; EnvironmentIndex < NumSharedEnvironments ; EnvironmentIndex + + )
{
InputFile < < SharedEnvironments [ EnvironmentIndex ] ;
}
}
2021-03-16 16:19:23 -04:00
// All the shader parameter structures
// Note: this is a bit more complicated, purposefully to avoid switch const TCHAR* to FString in runtime FShaderParametersMetadata.
TArray < TUniquePtr < FShaderParametersMetadata > > ParameterStructures ;
{
int32 NumParameterStructures = 0 ;
InputFile < < NumParameterStructures ;
ParameterStructures . Reserve ( NumParameterStructures ) ;
for ( int32 StructIndex = 0 ; StructIndex < NumParameterStructures ; StructIndex + + )
{
const TCHAR * LayoutName ;
const TCHAR * StructTypeName ;
const TCHAR * ShaderVariableName ;
FShaderParametersMetadata : : EUseCase UseCase ;
2021-08-18 16:56:25 -04:00
const ANSICHAR * StructFileName ;
2021-03-16 16:19:23 -04:00
int32 StructFileLine ;
uint32 Size ;
int32 MemberCount ;
LayoutName = DeserializeConstTCHAR ( InputFile ) ;
StructTypeName = DeserializeConstTCHAR ( InputFile ) ;
ShaderVariableName = DeserializeConstTCHAR ( InputFile ) ;
InputFile < < UseCase ;
2021-08-18 16:56:25 -04:00
StructFileName = DeserializeConstANSICHAR ( InputFile ) ;
2021-03-16 16:19:23 -04:00
InputFile < < StructFileLine ;
InputFile < < Size ;
InputFile < < MemberCount ;
TArray < FShaderParametersMetadata : : FMember > Members ;
Members . Reserve ( MemberCount ) ;
for ( int32 MemberIndex = 0 ; MemberIndex < MemberCount ; MemberIndex + + )
{
const TCHAR * Name ;
const TCHAR * ShaderType ;
int32 FileLine ;
uint32 Offset ;
uint8 BaseType ;
uint8 PrecisionModifier ;
uint32 NumRows ;
uint32 NumColumns ;
uint32 NumElements ;
int32 StructMetadataIndex ;
static_assert ( sizeof ( BaseType ) = = sizeof ( EUniformBufferBaseType ) , " Cast failure. " ) ;
static_assert ( sizeof ( PrecisionModifier ) = = sizeof ( EShaderPrecisionModifier : : Type ) , " Cast failure. " ) ;
Name = DeserializeConstTCHAR ( InputFile ) ;
ShaderType = DeserializeConstTCHAR ( InputFile ) ;
InputFile < < FileLine ;
InputFile < < Offset ;
InputFile < < BaseType ;
InputFile < < PrecisionModifier ;
InputFile < < NumRows ;
InputFile < < NumColumns ;
InputFile < < NumElements ;
InputFile < < StructMetadataIndex ;
2021-03-17 03:17:06 -04:00
if ( ShaderType = = nullptr )
{
ShaderType = TEXT ( " " ) ;
}
2021-03-16 16:19:23 -04:00
const FShaderParametersMetadata * StructMetadata = nullptr ;
if ( StructMetadataIndex ! = INDEX_NONE )
{
StructMetadata = ParameterStructures [ StructMetadataIndex ] . Get ( ) ;
}
FShaderParametersMetadata : : FMember Member (
Name ,
ShaderType ,
FileLine ,
Offset ,
EUniformBufferBaseType ( BaseType ) ,
EShaderPrecisionModifier : : Type ( PrecisionModifier ) ,
NumRows ,
NumColumns ,
NumElements ,
StructMetadata ) ;
Members . Add ( Member ) ;
}
ParameterStructures . Add ( MakeUnique < FShaderParametersMetadata > (
UseCase ,
EUniformBufferBindingFlags : : Shader ,
/* InLayoutName = */ LayoutName ,
/* InStructTypeName = */ StructTypeName ,
/* InShaderVariableName = */ ShaderVariableName ,
/* InStaticSlotName = */ nullptr ,
2021-08-18 16:56:25 -04:00
StructFileName ,
2021-03-16 16:19:23 -04:00
StructFileLine ,
Size ,
Members ,
/* bCompleteInitialization = */ true ) ) ;
}
}
2018-09-11 14:44:10 -04:00
GNumProcessedJobs = 0 ;
2015-10-30 17:41:13 -04:00
// Individual jobs
2014-03-14 14:13:41 -04:00
{
2015-10-30 17:41:13 -04:00
int32 SingleJobHeader = ShaderCompileWorkerSingleJobHeader ;
InputFile < < SingleJobHeader ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if ( ShaderCompileWorkerSingleJobHeader ! = SingleJobHeader )
{
ExitWithoutCrash ( ESCWErrorCode : : BadSingleJobHeader , FString : : Printf ( TEXT ( " Exiting due to ShaderCompilerWorker expecting job header %d, got %d instead! Did you forget to build ShaderCompilerWorker? " ) , ShaderCompileWorkerSingleJobHeader , SingleJobHeader ) ) ;
}
2014-03-14 14:13:41 -04:00
2015-10-30 17:41:13 -04:00
int32 NumBatches = 0 ;
InputFile < < NumBatches ;
// Flush cache, to make sure we load the latest version of the input file.
// (Otherwise quick changes to a shader file can result in the wrong output.)
FlushShaderFileCache ( ) ;
for ( int32 BatchIndex = 0 ; BatchIndex < NumBatches ; BatchIndex + + )
2014-03-14 14:13:41 -04:00
{
2015-10-30 17:41:13 -04:00
// Deserialize the job's inputs.
FShaderCompilerInput CompilerInput ;
InputFile < < CompilerInput ;
2021-03-16 16:19:23 -04:00
CompilerInput . DeserializeSharedInputs ( InputFile , ExternalIncludes , SharedEnvironments , ParameterStructures ) ;
2014-03-14 14:13:41 -04:00
2015-10-30 17:41:13 -04:00
if ( IsValidRef ( CompilerInput . SharedEnvironment ) )
{
// Merge the shared environment into the per-shader environment before calling into the compile function
CompilerInput . Environment . Merge ( * CompilerInput . SharedEnvironment ) ;
}
2014-03-14 14:13:41 -04:00
2015-10-30 17:41:13 -04:00
// Process the job.
FShaderCompilerOutput CompilerOutput ;
ProcessCompilationJob ( CompilerInput , CompilerOutput , WorkingDirectory ) ;
// Serialize the job's output.
2015-10-31 10:55:13 -04:00
FJobResult & JobResult = * new ( OutSingleJobResults ) FJobResult ;
2015-10-30 17:41:13 -04:00
JobResult . CompilerOutput = CompilerOutput ;
}
}
// Shader pipeline jobs
{
int32 PipelineJobHeader = ShaderCompileWorkerPipelineJobHeader ;
InputFile < < PipelineJobHeader ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if ( ShaderCompileWorkerPipelineJobHeader ! = PipelineJobHeader )
{
ExitWithoutCrash ( ESCWErrorCode : : BadPipelineJobHeader , FString : : Printf ( TEXT ( " Exiting due to ShaderCompilerWorker expecting pipeline job header %d, got %d instead! Did you forget to build ShaderCompilerWorker? " ) , ShaderCompileWorkerSingleJobHeader , PipelineJobHeader ) ) ;
}
2015-10-30 17:41:13 -04:00
int32 NumPipelines = 0 ;
InputFile < < NumPipelines ;
2015-10-31 10:55:13 -04:00
for ( int32 Index = 0 ; Index < NumPipelines ; + + Index )
{
FPipelineJobResult & PipelineJob = * new ( OutPipelineJobResults ) FPipelineJobResult ;
InputFile < < PipelineJob . PipelineName ;
int32 NumStages = 0 ;
InputFile < < NumStages ;
TArray < FShaderCompilerInput > CompilerInputs ;
CompilerInputs . AddDefaulted ( NumStages ) ;
for ( int32 StageIndex = 0 ; StageIndex < NumStages ; + + StageIndex )
{
// Deserialize the job's inputs.
InputFile < < CompilerInputs [ StageIndex ] ;
2021-03-16 16:19:23 -04:00
CompilerInputs [ StageIndex ] . DeserializeSharedInputs ( InputFile , ExternalIncludes , SharedEnvironments , ParameterStructures ) ;
2015-10-31 10:55:13 -04:00
if ( IsValidRef ( CompilerInputs [ StageIndex ] . SharedEnvironment ) )
{
// Merge the shared environment into the per-shader environment before calling into the compile function
CompilerInputs [ StageIndex ] . Environment . Merge ( * CompilerInputs [ StageIndex ] . SharedEnvironment ) ;
}
}
ProcessShaderPipelineCompilationJob ( PipelineJob , CompilerInputs ) ;
}
}
}
void ProcessShaderPipelineCompilationJob ( FPipelineJobResult & PipelineJob , TArray < FShaderCompilerInput > & CompilerInputs )
{
checkf ( CompilerInputs . Num ( ) > 0 , TEXT ( " Exiting due to Pipeline %s having zero jobs! " ) , * PipelineJob . PipelineName ) ;
// Process the job.
FShaderCompilerOutput FirstCompilerOutput ;
CompilerInputs [ 0 ] . bCompilingForShaderPipeline = true ;
CompilerInputs [ 0 ] . bIncludeUsedOutputs = false ;
ProcessCompilationJob ( CompilerInputs [ 0 ] , FirstCompilerOutput , WorkingDirectory ) ;
// Serialize the job's output.
2015-11-02 12:44:11 -05:00
{
FJobResult & JobResult = * new ( PipelineJob . SingleJobs ) FJobResult ;
JobResult . CompilerOutput = FirstCompilerOutput ;
}
2015-10-31 10:55:13 -04:00
bool bEnableRemovingUnused = true ;
//#todo-rco: Only remove for pure VS & PS stages
for ( int32 Index = 0 ; Index < CompilerInputs . Num ( ) ; + + Index )
{
auto Stage = CompilerInputs [ Index ] . Target . Frequency ;
if ( Stage ! = SF_Vertex & & Stage ! = SF_Pixel )
{
bEnableRemovingUnused = false ;
break ;
}
}
for ( int32 Index = 1 ; Index < CompilerInputs . Num ( ) ; + + Index )
{
if ( bEnableRemovingUnused & & PipelineJob . SingleJobs . Last ( ) . CompilerOutput . bSupportsQueryingUsedAttributes )
{
CompilerInputs [ Index ] . bIncludeUsedOutputs = true ;
CompilerInputs [ Index ] . bCompilingForShaderPipeline = true ;
CompilerInputs [ Index ] . UsedOutputs = PipelineJob . SingleJobs . Last ( ) . CompilerOutput . UsedAttributes ;
}
FShaderCompilerOutput CompilerOutput ;
ProcessCompilationJob ( CompilerInputs [ Index ] , CompilerOutput , WorkingDirectory ) ;
// Serialize the job's output.
FJobResult & JobResult = * new ( PipelineJob . SingleJobs ) FJobResult ;
JobResult . CompilerOutput = CompilerOutput ;
2014-03-14 14:13:41 -04:00
}
}
FArchive * CreateOutputArchive ( )
{
2014-08-01 02:40:54 -04:00
FArchive * OutputFilePtr = nullptr ;
2015-12-10 21:55:37 -05:00
const double StartTime = FPlatformTime : : Seconds ( ) ;
bool bResult = false ;
// It seems XGE does not support deleting files.
// Don't delete the input file if we are running under Incredibuild.
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
// In xml mode, we signal completion by creating a zero byte "Success" file after the output file has been fully written.
// In intercept mode, completion is signaled by this process terminating.
if ( ! IsUsingXGE ( ) )
2014-03-14 14:13:41 -04:00
{
2014-04-23 18:06:09 -04:00
do
{
2015-12-10 21:55:37 -05:00
// Remove the input file so that it won't get processed more than once
bResult = IFileManager : : Get ( ) . Delete ( * InputFilePath ) ;
2014-04-23 18:06:09 -04:00
}
2015-12-10 21:55:37 -05:00
while ( ! bResult & & ( FPlatformTime : : Seconds ( ) - StartTime < 2 ) ) ;
if ( ! bResult )
2014-04-23 18:06:09 -04:00
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash ( ESCWErrorCode : : CantDeleteInputFile , FString : : Printf ( TEXT ( " Couldn't delete input file %s, is it readonly? " ) , * InputFilePath ) ) ;
2014-04-23 18:06:09 -04:00
}
2014-03-14 14:13:41 -04:00
}
2015-12-10 21:55:37 -05:00
// To make sure that the process waiting for results won't read unfinished output file,
// we use a temp file name during compilation.
do
{
FGuid Guid ;
FPlatformMisc : : CreateGuid ( Guid ) ;
TempFilePath = WorkingDirectory + Guid . ToString ( ) ;
} while ( IFileManager : : Get ( ) . FileSize ( * TempFilePath ) ! = INDEX_NONE ) ;
const double StartTime2 = FPlatformTime : : Seconds ( ) ;
do
{
// Create the output file.
OutputFilePtr = IFileManager : : Get ( ) . CreateFileWriter ( * TempFilePath , FILEWRITE_EvenIfReadOnly ) ;
}
while ( ! OutputFilePtr & & ( FPlatformTime : : Seconds ( ) - StartTime2 < 2 ) ) ;
if ( ! OutputFilePtr )
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
ExitWithoutCrash ( ESCWErrorCode : : CantSaveOutputFile , FString : : Printf ( TEXT ( " Couldn't save output file %s " ) , * TempFilePath ) ) ;
2015-12-10 21:55:37 -05:00
}
2014-03-14 14:13:41 -04:00
return OutputFilePtr ;
}
2015-10-31 10:55:13 -04:00
void WriteToOutputArchive ( FArchive * OutputFilePtr , TArray < FJobResult > & SingleJobResults , TArray < FPipelineJobResult > & PipelineJobResults )
2014-03-14 14:13:41 -04:00
{
FArchive & OutputFile = * OutputFilePtr ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
int64 FileSizePosition = WriteOutputFileHeader ( OutputFile , ( int32 ) ESCWErrorCode : : Success , 0 , nullptr , 0 , nullptr ) ;
2014-03-14 14:13:41 -04:00
{
2015-10-30 17:41:13 -04:00
int32 SingleJobHeader = ShaderCompileWorkerSingleJobHeader ;
OutputFile < < SingleJobHeader ;
2015-10-31 10:55:13 -04:00
int32 NumBatches = SingleJobResults . Num ( ) ;
2015-10-30 17:41:13 -04:00
OutputFile < < NumBatches ;
2015-10-31 10:55:13 -04:00
for ( int32 ResultIndex = 0 ; ResultIndex < SingleJobResults . Num ( ) ; ResultIndex + + )
2015-10-30 17:41:13 -04:00
{
2015-10-31 10:55:13 -04:00
FJobResult & JobResult = SingleJobResults [ ResultIndex ] ;
2015-10-30 17:41:13 -04:00
OutputFile < < JobResult . CompilerOutput ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
UpdateFileSize ( OutputFile , FileSizePosition ) ;
2015-10-30 17:41:13 -04:00
}
}
{
int32 PipelineJobHeader = ShaderCompileWorkerPipelineJobHeader ;
OutputFile < < PipelineJobHeader ;
2015-10-31 10:55:13 -04:00
int32 NumBatches = PipelineJobResults . Num ( ) ;
OutputFile < < NumBatches ;
2015-10-30 17:41:13 -04:00
2015-10-31 10:55:13 -04:00
for ( int32 ResultIndex = 0 ; ResultIndex < PipelineJobResults . Num ( ) ; ResultIndex + + )
{
auto & PipelineJob = PipelineJobResults [ ResultIndex ] ;
OutputFile < < PipelineJob . PipelineName ;
int32 NumStageJobs = PipelineJob . SingleJobs . Num ( ) ;
OutputFile < < NumStageJobs ;
for ( int32 Index = 0 ; Index < NumStageJobs ; + + Index )
{
FJobResult & JobResult = PipelineJob . SingleJobs [ Index ] ;
OutputFile < < JobResult . CompilerOutput ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
UpdateFileSize ( OutputFile , FileSizePosition ) ;
2015-10-31 10:55:13 -04:00
}
}
2014-03-14 14:13:41 -04:00
}
}
/** Called in the idle loop, checks for conditions under which the helper should exit */
void CheckExitConditions ( )
{
2015-07-13 16:53:23 -04:00
if ( ! InputFilename . Contains ( TEXT ( " Only " ) ) )
2014-03-14 14:13:41 -04:00
{
2015-07-13 16:53:23 -04:00
UE_LOG ( LogShaders , Log , TEXT ( " InputFilename did not contain 'Only', exiting after one job. " ) ) ;
2014-03-14 14:13:41 -04:00
FPlatformMisc : : RequestExit ( false ) ;
}
2014-07-25 00:07:42 -04:00
# if PLATFORM_MAC || PLATFORM_LINUX
2014-03-14 14:13:41 -04:00
if ( ! FPlatformMisc : : IsDebuggerPresent ( ) & & ParentProcessId > 0 )
{
// If the parent process is no longer running, exit
if ( ! FPlatformProcess : : IsApplicationRunning ( ParentProcessId ) )
{
2015-04-22 15:04:48 -04:00
FString FilePath = FString ( WorkingDirectory ) + InputFilename ;
checkf ( IFileManager : : Get ( ) . FileSize ( * FilePath ) = = INDEX_NONE , TEXT ( " Exiting due to the parent process no longer running and the input file is present! " ) ) ;
2014-03-14 14:13:41 -04:00
UE_LOG ( LogShaders , Log , TEXT ( " Parent process no longer running, exiting " ) ) ;
FPlatformMisc : : RequestExit ( false ) ;
}
}
const double CurrentTime = FPlatformTime : : Seconds ( ) ;
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
if ( CurrentTime - LastCompileTime > TimeToLive )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
UE_LOG ( LogShaders , Log , TEXT ( " No jobs found for %f seconds, exiting " ) , ( float ) ( CurrentTime - LastCompileTime ) ) ;
2014-03-14 14:13:41 -04:00
FPlatformMisc : : RequestExit ( false ) ;
}
# else
// Don't do these if the debugger is present
//@todo - don't do these if Unreal is being debugged either
if ( ! IsDebuggerPresent ( ) )
{
if ( ParentProcessId > 0 )
{
2015-04-22 15:04:48 -04:00
FString FilePath = FString ( WorkingDirectory ) + InputFilename ;
2014-03-14 14:13:41 -04:00
bool bParentStillRunning = true ;
HANDLE ParentProcessHandle = OpenProcess ( SYNCHRONIZE , false , ParentProcessId ) ;
// If we couldn't open the process then it is no longer running, exit
2014-08-01 02:40:54 -04:00
if ( ParentProcessHandle = = nullptr )
2014-03-14 14:13:41 -04:00
{
2015-07-13 16:53:23 -04:00
checkf ( IFileManager : : Get ( ) . FileSize ( * FilePath ) = = INDEX_NONE , TEXT ( " Exiting due to OpenProcess(ParentProcessId) failing and the input file is present! " ) ) ;
2014-03-14 14:13:41 -04:00
UE_LOG ( LogShaders , Log , TEXT ( " Couldn't OpenProcess, Parent process no longer running, exiting " ) ) ;
FPlatformMisc : : RequestExit ( false ) ;
}
else
{
// If we did open the process, that doesn't mean it is still running
// The process object stays alive as long as there are handles to it
// We need to check if the process has signaled, which indicates that it has exited
uint32 WaitResult = WaitForSingleObject ( ParentProcessHandle , 0 ) ;
if ( WaitResult ! = WAIT_TIMEOUT )
{
2015-07-13 16:53:23 -04:00
checkf ( IFileManager : : Get ( ) . FileSize ( * FilePath ) = = INDEX_NONE , TEXT ( " Exiting due to WaitForSingleObject(ParentProcessHandle) signaling and the input file is present! " ) ) ;
2014-03-14 14:13:41 -04:00
UE_LOG ( LogShaders , Log , TEXT ( " WaitForSingleObject signaled, Parent process no longer running, exiting " ) ) ;
FPlatformMisc : : RequestExit ( false ) ;
}
CloseHandle ( ParentProcessHandle ) ;
}
}
const double CurrentTime = FPlatformTime : : Seconds ( ) ;
// If we have been idle for 20 seconds then exit
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
if ( CurrentTime - LastCompileTime > TimeToLive )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3944462 by Jack.Porter
Prevent TVOS packaging from PC from attempting to build an asset catalog
#jira UE-56114
Change 3943602 by Leslie.Nivison
Adding licenses for additional TPS
#jira none
Change 3943597 by Leslie.Nivison
Adding Enterprise licenses; licenses for additional TPS.
#jira none
Change 3941962 by Leslie.Nivison
Updating 4.19 credit list
#jira none
Change 3941865 by Mark.Satterthwaite
Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI.
- Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs.
- Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer.
#jira UE-56021
Change 3940993 by Marc.Audy
Do not return the last column if the specified column does not exist.
Allow display names to be used when looking for a property if the table is backed by a user defined struct.
Do not crash if a property with the given name is not found.
#jira UE-56017
Change 3939179 by Ben.Marsh
Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance.
#jira
Change 3938566 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Missed a case.
Change 3938533 by Dan.Oconnor
Fix uninitialized variable exposed by recent MallocTBB change
#jira UE-56013
Change 3938508 by Aaron.McLeran
Fixing CIS error, init order issues.
#jira UE-55940
Change 3938490 by Aaron.McLeran
#jira UE-55940 Fix for wavetable synth
Change 3938352 by josh.jensen
Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified
#jira UE-55987
Change 3938345 by Peter.Sauerbrei
fix to Icons not being built on Mac
#jira UE-53492
Change 3938305 by Mark.Satterthwaite
For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied.
#jira UE-56005
Change 3937968 by Ben.Marsh
Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file.
#jira UE-56003
Change 3937573 by Mitchell.Wilson
Saving asset to resolve empty asset warning.
#jira UE-56004
Change 3937561 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
Copied from Dev-Sequencer CL# 3937516
#jira UE-55986
Change 3937305 by Mike.Beach
Resaving google VR model content with UGS build to fix the empty file version error.
#jira UE-55984
Change 3935595 by Arne.Schober
Fix missing UV precission on BSP surfaces
#jira UE-54014
Change 3935411 by josh.jensen
Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory
#jira UE-55899
Change 3934982 by Marc.Audy
Fix shadow variable issue
#jira UE-55957
Change 3934892 by Mark.Satterthwaite
In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands.
#jira UE-55956
Change 3934421 by Arciel.Rekman
Fix lockup/OOM when setting audio sources to 2 (UE-53968).
#jira UE-53968
Change 3934156 by Peter.Sauerbrei
fix for backgrounding problems on iOS and tvOS
this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup
#jira UE4-55609
Change 3933547 by Aaron.McLeran
#jira UE-55940 Fix for wavetable sample duration and seek
Change 3933544 by Aaron.McLeran
#jira UE-55939 Hiding channel format
Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19.
Change 3933540 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3933280 by Ethan.Geller
[Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran
Change 3933079 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3932319 by Ben.Zeigler
#jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package
It now keeps track of which packages were created by the async load system and will only throw those away on cancel
Copy of CL #3932312
Change 3932287 by Matt.Kuhlenschmidt
Updated substance texture
#jira UE-55081
Change 3931729 by josh.jensen
Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build
#jira UE-55899
Change 3929723 by josh.jensen
Removed packaging requirement on Windows of a remote Mac after setting an app icon to default
#jira UE-53495
Change 3929722 by josh.jensen
Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects
#jira UE-53492, UE-51879
#robomerge
Change 3929350 by Mike.Erwin
"Save As" support for
#jira UE-55732
Change 3927829 by Steve.Robb
Out-of-memory handler for MallocStomp.
#jira UE-55550
Change 3926404 by Mike.Erwin
#jira UE-55732
Change 3926394 by Dan.Oconnor
Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode
#jira UE-55813
Change 3926098 by Guillaume.Abadie
Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security.
#jira UE-55697
Change 3925927 by Guillaume.Abadie
Enables TAA's AA_BORDER on all permutation for dynamic resolution.
#jira UE-55353
Change 3925882 by Matt.Kuhlenschmidt
Fix substance uri having one extra /
Fix substance menu option showing up for github (incompatible with plugin)
#jira UE-55766
Change 3925873 by Ben.Zeigler
#jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly
Copy of CL #3925871
Change 3925163 by Guillaume.Abadie
Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly.
#jira UE-55788
Change 3924839 by Guillaume.Abadie
Fixes a crash of LDR android preview with OS DPI scale != 0.
#jira UE-43622
Change 3924542 by Cosmin.Sulea
Merged fixes:
UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7
UE-51086 - No clear editor activity during remote shader compiling
#jira UE-55299
Change 3922398 by Mark.Satterthwaite
Compile fix for 3922273.
#jira UE-53993
Change 3922273 by Mark.Satterthwaite
Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size.
#jira UE-53993
Change 3921127 by Ethan.Geller
[Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran
Change 3920632 by Lina.Halper
Fix render thread crash when morphtarget is deleted or added
#jira: UE-55521
Change 3920557 by Lauren.Ridge
Fixing material editor resetting background to off
#jira UE-55267
Change 3920519 by Phillip.Kavan
Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code.
Change summary:
- Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value.
#jira UE-55628
Change 3920476 by Michael.Trepka
Clean up Mac menu item cache at exit before SlateApplication is fully destroyed.
#jira UE-55599
Change 3920336 by Ben.Marsh
Ignore license warnings from PVS-Studio.
#jira UE-55729
Change 3920134 by Jurre.deBaare
Moving over:
"HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not
#fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings"
#jira UE-55619
Change 3920126 by Max.Preussner
MediaCompositing: Implemented media track for Sequencer
Copied from Dev-Sequencer
#jira UE-53974
Change 3920004 by Jack.Porter
Disable Manual Vertex Fetch SRV creation when MVF is disabled.
Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it.
Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed.
#jira UE-54764
#jira UE-55622
Change 3919069 by Aaron.McLeran
#jira UE-55718 Fix for playback progress.
Change 3918942 by Graeme.Thornton
Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled.
#jira UE-55686
Change 3918721 by Zak.Parrish
Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none
Change 3918236 by Joe.Graf
Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face
#jira: UE-55531
Change 3917970 by Martin.Wilson
Expose curve data in remap assets to blueprints
#jira UE-55585
Change 3917740 by Olaf.Piesche
Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances);
#jira UE-55591
Change 3917713 by Cody.Albert
Build fixes for Match3 on iOS
#jira UE-53742
Change 3917472 by zak.parrish
added mouthPressLeft and MouthPressRight back into debug screen #jira none
Change 3917244 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node
Change 3916775 by Ben.Marsh
Add missing files for packaging IOS on Windows.
#jira UE-53873
Change 3916293 by Joe.Graf
Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class
#jira: UE-55531
Change 3916011 by Joe.Graf
Added an accessor to get the transform of the face mesh or a face mesh component
#jira: UE-55531
Change 3915967 by Mark.Satterthwaite
Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world.
#jira UE-54858
Change 3915751 by Nick.Atamas
Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/...
#jira UE-55639
Change 3915421 by Martin.Wilson
Fix crash from live link message bus heartbeat manager
#jira UE-55644
Change 3915326 by Dan.Oconnor
Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions
#jira UE-55592
Change 3915250 by JeanLuc.Corenthin
Can't add C++ code to Enterprise projects (when enterprise is installed)
Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path)
Fix:
- Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against
- Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories.
- Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise.
#jira UEENT-1032
Change 3915240 by Ben.Marsh
Reduce editor startup times by ~15s on Windows.
Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array.
Now spends <0.1s total in this function on editor startup.
(Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header).
#jira UE-55642
Change 3914803 by Gil.Gribb
UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug.
#jira UE-49600
Change 3914616 by zak.parrish
Adding Calibrate button #jira none
Change 3914599 by Andrew.Rodham
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
Change 3914479 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3914347 by Martin.Wilson
Stop anim preview instance from ever running in parallel
#Jira UE-55577
Change 3914179 by Benn.Gallagher
Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data.
#jira UE-55528
Change 3914122 by Steven.Barnett
Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message.
#jira UE-54081
Change 3913950 by zak.parrish
Clamping my normalization math #jira none
Change 3913926 by Zak.Parrish
First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none
Change 3913668 by Matt.Kuhlenschmidt
Adding missing substance styling info
#jira UE-55081
Change 3913667 by Nick.Atamas
Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/...
Upgrading to support ARCore 1.0 runtime.
#jira UE-55602
Change 3913645 by Aaron.McLeran
#jira UE-55618 fix for mono audio devices
Change 3913509 by Cody.Albert
Removing PhsX build exclusion from Match3
#jira UE-53742
Change 3913380 by Dan.Oconnor
Preload Sequence Bindings node at proper time
#jira UE-55412
Change 3913300 by Mitchell.Wilson
Updating iOS default startup movie to H.264, 1280x720, 30 fps.
#jira UE-55382
Change 3913291 by Cody.Albert
More iOS build fixes for Match3
#jira UE-53742
Change 3913169 by Cody.Albert
Fixed iOS build issues for UnrealMatch3
#jira UE-53742
Change 3913131 by Krzysztof.Narkowicz
Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity)
#jira UE-54580
Change 3912851 by Lina.Halper
Fixed issue with pose asset blending additively multiple poses suming up to 1 weight.
#jira: UE-55603
Change 3912629 by Guillaume.Abadie
Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3912170 by Martin.Wilson
Add logging for UE-55511 (NaN crash)
#jira UE-55511
Change 3912161 by Phillip.Kavan
Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it.
#jira UE-55474
Change 3912100 by Luke.Thatcher
[RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19
#jira UE-55340
Change 3912072 by Mike.Beach
Art cleanup pass on AR template icon.
#jira UE-55587
Change 3912057 by Michael.Trepka
Additional widget path validity check in FSlateUser::NotifyWindowDestroyed()
#jira UE-55580
Change 3911592 by Jurre.deBaare
Crash on merge actor when Use specific LOD Level
#fix make sure we use the correct array to determine the number of components being merged
#jira UE-55508
Change 3911466 by Cosmin.Sulea
Mega change list for the following related issues:
UEMOB-417 - Support Xcode automagical code signing
UE-49829 - Remote build fails to use / sign distribution provisions coming from PC
UE-39501 - Packaging for tvOS in Distribution fails to find valid provision
UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions
UE-55330 - Automatic signing doesn't work with tvOS
UE-10969 - Remote build fails if there is no development provision provided
#jira UEMOB-417
Change 3911454 by Luke.Thatcher
[RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData
- FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible.
- The SubSections array is leaked when the memstack is popped.
- Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4).
(Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...)
#jira UE-54835
Change 3911370 by Dragan.Jerosimovic
changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight
updated KiteBoyHead_JointsAndBlends.fbx
#jira none
Change 3910545 by Dan.Oconnor
PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb)
#jira UE-55513
Change 3910449 by Michael.Trepka
Fix for crash on exit on Mac when closing the root editor window with Cmd+W
#jira UE-54973
Change 3909601 by Patrick.Boutot
Expose to Blueprint GetProjectDirectory functions.
#jira UE-55548, UEENT-999
Change 3909543 by Patrick.Boutot
Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse.
Python's help function now output the Python type instead of the cpp type.
Do not export hidden enum entry from Python.
#jira UE-55545, UEENT-961
Change 3909289 by Zak.Parrish
Adding shirt/chest to faceAR sample #jira none
Change 3908808 by Dragan.Jerosimovic
added combination shapes network
#jira none
Change 3908788 by Mitchell.Wilson
Updaing Match3Camera to resolve clipping issue on iPhone X
#jira UE-54723
Change 3908374 by Jack.Porter
Fix viewport offset problem for preview PIE window
#jira UE-52583
Change 3907108 by Shane.Caudle
#JIRA
Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile]
+CVars=r.ShadowQuality=4
Change 3907105 by Lauren.Ridge
Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null
#jira UETOOL-1303
Change 3907011 by Chris.Phillips
UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher.
#jira UE-52667
Change 3906792 by Lauren.Ridge
When constructing the material editor viewport, use the direct method to set the environment visibility.
#jira UE-55267
Change 3906734 by Chris.Babcock
Fix issue with vertex fetch disable
#jira UE-55475
Change 3906721 by Rolando.Caloca
UE4.19 - Check if the results file from SCW is corrupt
#jira UE-53124
Change 3906648 by Chris.Phillips
UE-53184 Assertion when running mobile PIE in iPhone 5S mode.
Updated the iPhone5s.json Metal settings.
#jira UE-53184
Change 3906474 by David.Hibbitts
Added default constructor for FLiveLinkWorldTime.
#jira UEENT-879 #rb none
Change 3906467 by Lauren.Ridge
Swapping sibling materials now correctly swaps the overridden parameters out
#jira nojira demobug
Change 3906156 by Michael.Trepka
Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed.
#jira UE-52492
Change 3906144 by Michael.Dupuis
#jira UE-54547: Added guard to be sure that material is valid
Change 3905882 by Matt.Kuhlenschmidt
Enable substance buttons again
#jira UE-55081
Change 3905513 by Sorin.Gradinaru
UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression
#jira UE-55394
#jira UE-52328
#iOS
#4.19
This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings
- the game thread is waiting for the movie to complete on game shutdown - more that 5 sec
- crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed
- HTTP module no longer has time to wait for the requests to complete.
Change 3905506 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
#jira 0
Change 3905498 by Lina.Halper
Fix multiple pose asset issue - fallout from CL 3903509
- as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine
- as for additive, change to use blend from identity.
#jira: UE-55439, UE-55448, UE-55250
Change 3905325 by Sorin.Gradinaru
UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat"
#jira UE-54764
#4.19
Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720).
Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers)
Change 3905307 by Jack.Porter
Removed iPhone5 PIE json file as it's not a supported device
#jira UE-53184
Change 3905132 by Shane.Caudle
#JIRA
Pushed it a little more out of the yellow.
Change 3905117 by Shane.Caudle
#JIRA
Got SSS working and made some tweaks.
Change 3904936 by Max.Chen
Fix editor only
#jira UE-55459
Change 3904269 by Chris.Babcock
Disable manual vertex fetch on mobile
#jira UE-55389
#ue4
#android
#ios
Change 3904186 by Lina.Halper
Pose asset crash when skeleton not existing during serialization
#jira: UE-55422
Change 3904063 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register.
Copy from Dev-Sequencer
#jira UE-55314
Change 3904060 by Lauren.Ridge
Fix for saving a child out of a layer stack capturing the wrong parameters
#jira UETOOL-1280
Change 3904050 by Luke.Thatcher
[CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19)
- Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes.
- The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread.
- This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread.
- The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc.
#jira UE-55437
Change 3904004 by Lauren.Ridge
Fix for material layer output nodes being able to be placed in other graphs
#jira UE-54867
Change 3903931 by Aaron.McLeran
#jira UE-55435 Crash in google resonance when toggling visualization
fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1
Change 3903722 by David.Hill
The ProxyLOD plugin is experimental: don't load it by default.
#jira: ue-55402
Change 3903583 by Ben.Marsh
Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries.
#jira
Change 3903529 by Richard.Hinckley
#jira UEDOC-7180
4.19 API Documentation manual update.
Change 3903509 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction.
#jira: UE-55250
Change 3903501 by Michael.Dupuis
#jira UE-55122: Fixed bad neighbors updating for mobile
Change 3903387 by Will.Fissler
; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation.
;r.XGEShaderCompile = 0
#jira UE-55286
Change 3903251 by Sungjin.Hong
#JIRA UE-55349
#loc added KO locallization for VR, Handheld AR templates
Change 3903219 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54738
removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI
#jira UE-54738
#iOS
Change 3903130 by Cody.Albert
Updated build configuration to resolve iOS build error on UnrealMatch3
#jira UE-53742
Change 3903056 by Shane.Caudle
#JIRA
Latest tweaks to lighitng and rendering for boy.
Change 3903032 by Cody.Albert
Added missing include that was preventing iOS builds from succeeding on TopDown template
#jira UE-54341
Change 3902669 by Lauren.Ridge
Fix for thumbnail crash after saving material instances that contain layers
#jira crash
Change 3902581 by Mitchell.Wilson
Updating Samples and Template Min iOS Version to iOS 9.
#jira UE-55148
Change 3902448 by Lauren.Ridge
Fix for crash due to unparented material instance
#jira crash
Change 3902206 by Chris.Phillips
UE-52612 External textures only work in pixel shaders.
Sampling external textures are now only limited to pixel shaders when the shader model is < SM4.
#jira UE-52612
Change 3902120 by Peter.Sauerbrei
bvringing over the fix for backgrounding crash on iPhone X from Fortnite
#jira UE-54883
Change 3902097 by Lina.Halper
Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/
#DUPE MERGE: CL 3901939
#jira: UE-55401
Change 3902082 by Mike.Beach
Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left").
#jira UE-55153
Change 3901963 by Peter.Sauerbrei
bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader
#jira UE-52797
Change 3901959 by Ethan.Geller
[Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren
Change 3901482 by Lauren.Ridge
Fix for crash on opening materials due to array out of bounds
#jira crash
Change 3901181 by Michael.Dupuis
#jira UE-55313: To enable tessellation we MUST have 2 materials in the list
Change 3900935 by Nick.Bullard
Updating Default_Startup.mp4 with more recent UE branding.
This still requires another update for final version with audio
#jira UE-55382
Change 3900660 by Aaron.McLeran
#jira UE-55381 crash in sound submix
Bringing fix from FN to 4.19 (CL 3890630)
Change 3900643 by Aaron.McLeran
#jira UE-55380 fixing synth envelopes
Change 3900617 by Aaron.McLeran
#jira UE-55151 Fixing crash w/ mic component
Change 3900544 by tim.gautier
QAGame: Submitting asset for AsNumber fix submitted with UE-10310
#jira UE-29618
Change 3900430 by Ryan.Brucks
KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone.
#JIRA none
Change 3900399 by Lauren.Ridge
Fixing global parameters not working
#jira UE-55242
Change 3900297 by Ben.Marsh
Speculative fix for hot reload causing version files to be updated with a locally made installed build.
#jira UE-55072
Change 3900116 by Chris.Bunner
Removing outdated tests and test assets.
#jira UETOOL-1298
Change 3900042 by Chris.Bunner
Deleted SharedInputCollection and associated material graph nodes.
#jira UETOOL-1298
Change 3899887 by Lauren.Ridge
Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work.
#jira UE-55267
Change 3899824 by Chris.Phillips
UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data.
Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels.
#jira UE-52813
Change 3899775 by Lauren.Ridge
Fix for crash on opening material layer material
#jira crash
Change 3899673 by Jamie.Dale
Fixed Functions sometimes being exposed to Python as if they were Structs
#jira none
Change 3899487 by Chris.Bunner
Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag.
#jira UETOOL-1298
Change 3899156 by Phillip.Kavan
Include address of object reference in persistent frame debug info.
#jira UE-51952
Change 3899146 by Rolando.Caloca
UE4.19 - hlslcc - Workaround for intrinsics with two output arguments
#jira UE-52477
Change 3899060 by Bart.Hawthorne
Add a null check for the game mode pointer in UWorld::SpawnPlayActor
#jira UE-54461
Change 3899015 by Krzysztof.Narkowicz
Fixed initialization of instancing random vertex stream.
#jira UE-53605
Change 3899008 by Michael.Dupuis
Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1
#jira 0
Change 3898994 by Phillip.Kavan
More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection.
#jira UE-51952
Change 3898962 by Guillaume.Abadie
Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic.
#jira UE-55352
Change 3898826 by Sorin.Gradinaru
UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin
#4.19
#Android
#jira UE-54784
Wrong code to make an integer even + operator precedence
Change 3898822 by Sorin.Gradinaru
UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression
FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests
#jira UE-52328
#jira FORT-70783
#iOS
#PC
#4.19
UE-52328 reopened because of FORT-70783
iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server.
Change 3898705 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3898108 by Michael.Dupuis
#jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening
Change 3898076 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3897897 by Matt.Kuhlenschmidt
Disable substance buttons for now
#jira UE-55081
Change 3897742 by Aaron.McLeran
Merging fix for UE-55223 to 4.19
#jira UE-55223
Change 3897538 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3897406 by Phillip.Kavan
Back out local debug logs.
#jira UE-51952
Change 3897400 by Phillip.Kavan
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
- Mirrored from //UE4/Dev-Core (3871863).
#jira UE-51952
Change 3897391 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897274 by Krzysztof.Narkowicz
Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future.
#jira UE-54683
Change 3897148 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-55147
#4.19
#iOS
#jira UE-55147
Change 3897138 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Copy from Dev-Sequencer
#jira UE-55309
Change 3897045 by Jack.Porter
Fix for crash in ALandscapeProxy::UpdateGrass
#jira UE-54362
Change 3897036 by Jack.Porter
Fix InstancedStaticMesh crash with invalid lightmap coordinates
#jira UE-54423
Change 3896801 by Dmitriy.Dyomin
Fixed: Planar reflections does not handle origin rebasing
#jira UE-52351
Change 3896743 by Dmitriy.Dyomin
Discard CPU copy of vertex/index buffers in OpenGL RHI
#jira UE-52133
Change 3896619 by Guillaume.Abadie
Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3895718 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3895426 by Rolando.Caloca
UE4.19 - Add an increased timeout for SCW to avoid OOM situations
#jira UE-55306
Change 3895245 by tim.gautier
QAGame: Submitting updated test assets. Broke ML_Base out into individual components
#jira UE-29618
Change 3895194 by Marc.Audy
Prevent crash due to a null entry in the linked to graph of the destination pin
#jira UE-54606
Change 3894913 by Arne.Schober
REL - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3894625 by Arne.Schober
REL - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894464 by Martin.Wilson
Extra debugging info for UE-54705 plus remove check so it is no longer fatal
#jira UE-54705
Change 3894450 by Martin.Wilson
Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node
#jira none
Change 3893948 by Jostin.Bilyeu
Adding default player start location to help with launch on testing within level TM-Materials_POM
#jira UE-55063
Change 3893495 by Robert.Manuszewski
Fixing a crash when running DDC commandlet
#jira UE-54646
Change 3893451 by Jurre.deBaare
Altered fix for actor merging with negative scaling to get correct normals
#jira UE-54996
#misc updated automated test to include this test-case
Change 3892913 by Ethan.Geller
[Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran
Change 3892871 by Ryan.Vance
Multi-view requires the day dream compositor.
#jira UE-55253
Change 3892785 by Arciel.Rekman
Linux: fix inability to create a C++ project (UE-55222).
- NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds.
- Installed build will check for more compilers in commonly found locations.
#jira UE-55222
Change 3892687 by Jostin.Bilyeu
Checking in replacement Built Data for map TM-Materials_POM
#jira UE-55063
Change 3892674 by Jostin.Bilyeu
Adding an invisible plane to TM-Materials_POM to help testing on mobile devices
#jira UE-55063
Change 3892622 by Aaron.McLeran
#jira none Fixing scope lock in phonon probe volume
Change 3892511 by Matt.Kuhlenschmidt
Fix zero engine version warning
#jira UE-55081
Change 3892211 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891732 by Brian.Zaugg
Re-adding iPhoneX launch images with correct case.
#JIRA UE-53541
Change 3891727 by Arne.Schober
REL - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891716 by Ben.Marsh
Fix buffer overrun when generating callstack.
#jira
Change 3891697 by Brian.Zaugg
Deleting iPhoneX launch images that have incorrect case.
#jira UE-53541
Change 3891678 by Brian.Zaugg
IPP binaries for iPhoneX support.
#jira UE-53541
Change 3891525 by Lauren.Ridge
Thumbnails now update correctly w/parameters
#jira UETOOL-1333
Change 3891520 by Lauren.Ridge
Fixing SA error in material editor
#jira UE-55206
Change 3891495 by Jurre.deBaare
Normal are different after Merge Actor on scaled objects
#fix Make sure we do not apply scale when transform Normals/Tangents
#jira UE-54996
Change 3891352 by Guillaume.Abadie
Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3891323 by Matt.Kuhlenschmidt
Added substance buttons to content browser and material editor
#jira UE-55081
Change 3891033 by David.Hibbitts
#JIRA UE-55135
Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations.
Change 3890642 by Arne.Schober
REL - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3890593 by Arne.Schober
REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890502 by Mike.Erwin
Fix reported VRAM size on Metal
We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes.
This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0.
Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that.
Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB.
#jira none
Change 3890404 by Jostin.Bilyeu
Updating Demo Display names to remove redundant spaces
#jira UE-29618
Change 3890401 by Dan.Oconnor
Fix for property table performance regression
#jira UE-54984
Change 3890194 by Dan.Oconnor
Make sure a CDO's subobjects are preloaded when running in -game
#jira UE-54242
Change 3890182 by Krzysztof.Narkowicz
Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path.
#jira UE-54683
Change 3890140 by Rob.Cannaday
Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19
Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018
#jira none
Change 3889850 by Shaun.Kime
Now initializing Niagara scripts and emitters even if the config file isn't ready yet.
#jira UE-54168
#jira UE-54169
#tests can create a blank emitter and all script sub-types
Change 3889833 by Michael.Trepka
Disabled Clang's unused-lambda-capture warning added in Xcode 9.3
#jira none
Change 3889696 by Patrick.Boutot
Allow rename from AssetTool when there is no source control enabled.
Fix crash when you rename an asset without an enabled source control.
#jira UEENT-803
Change 3889470 by Mike.Beach
Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query).
#jira UE-55153
Change 3889319 by Matt.Kuhlenschmidt
Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly
#jira UE-55166
Change 3889087 by Jostin.Bilyeu
Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up
#jira UE-29618
Change 3889073 by Sorin.Gradinaru
UE-55117 Android virtual keyboard can have text input hidden by software buttons
#jira UE-55117
#Android
#4.19
Adjusted x-coord and width for the native EditText
Change 3888841 by Jurre.deBaare
Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function
#jira none
Change 3888837 by Guillaume.Abadie
Fixes a crash in dynamic resolution when doing UE4Editor -server
#jira UE-55158
Change 3888831 by Dragan.Jerosimovic
added fbx files
#jira none
Change 3888340 by Ethan.Geller
[Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron
Change 3888133 by Michael.Karambelas
QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471.
#jira UE-29618
Change 3887957 by Krzysztof.Narkowicz
"Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack
#jira UE-54367
Change 3887912 by Jostin.Bilyeu
Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels
#jira UE-29618
Change 3887571 by Zak.Parrish
Adding FaceAR content and cleanup #jira none
Change 3887458 by Dan.Oconnor
Fix 'Step Out' functionality for macro and collapsed graphs
#jira UE-55000, UE-55002, UE-55022
Change 3886883 by zachary.wilson
Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling.
#jira UE-29618
Change 3886848 by Max.Preussner
Engine: Workaround for uninitialized external textures causing white flashes in media playback
Copied from Fortnite-Main and Dev-Sequencer
#jira UE-53357
Change 3886720 by Matt.Kuhlenschmidt
Guard against mac menus updating during slow tasks.
#jira UE-55068
Change 3886657 by Guillaume.Abadie
Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
#jira FORT-69961
Change 3886653 by Matt.Kuhlenschmidt
Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored
#jira UE-55111
Change 3886621 by Benn.Gallagher
Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus.
#JIRA UE-55067
Change 3886552 by Thomas.Sarkanen
Fixed crash loading an anim instance with a re-instanced class
Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us.
#jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521]
Change 3886442 by Cosmin.Sulea
UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling
#jira UE-53033
Change 3886441 by Cosmin.Sulea
UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager
#jira UE-54598
Change 3886427 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3886210 by Ethan.Geller
[Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM.
Change 3886005 by Zak.Parrish
Checking in faceAR work on behalf of 3Lateral #jira none
Change 3885925 by Mike.Erwin
Material preview label off-center on HiDPI screen
#jira UE-52533
Change 3885778 by Dan.Oconnor
Fix stepping over collapsed graph and macro nodes
#jira UE-54950, UE-54955
Change 3885713 by Mike.Erwin
glTF: fix material using wrong textures
Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures.
Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model.
#jira none
Change 3885603 by Ben.Marsh
Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode.
#jira
Change 3885566 by Phillip.Kavan
Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code.
Change summary:
- Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization.
#jira UE-55061
Change 3885481 by Mark.Satterthwaite
Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier).
#jira UE-54333
Change 3885461 by Lauren.Ridge
Fix for slot not being initialized to null
#jira UE-55069
Change 3885455 by zak.parrish
Adding initial files for FaceAR scene lookdev #jira none
Change 3885446 by Zak.Parrish
Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none
Change 3885424 by Krzysztof.Narkowicz
Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread.
#jira UE-53861
Change 3885406 by Zak.Parrish
Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639
Change 3885340 by Arne.Schober
REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack
#jira none
Change 3885143 by Marc.Audy
Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19
#jira UE-54977
#jira UE-54976
#jira UE-54898
Change 3885093 by Mark.Satterthwaite
Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds.
#JIRA N/A
Change 3884622 by Jurre.deBaare
Moving over missing file from changelist for UE-54508
#jira UE-54508
Change 3883391 by Nick.Atamas
Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled.
Only create ARKit/ARCore tracking systems on iOS/Android.
#jira UE-54622
Change 3883257 by Phillip.Kavan
Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types.
#jira UE-55026
Change 3883024 by Lauren.Ridge
Fixing static analysis warning
#jira SA
Change 3882510 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3882502 by Lauren.Ridge
Fix for material layer parameters not rebuilding and adding save child button
#jira UETOOL-1275
Change 3882458 by Krzysztof.Narkowicz
Copying cached shadow map assert fix from Fortnite-Main (CL3802813)
#jira UE-54747
Change 3882366 by Michael.Karambelas
QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests.
#jira UE-29618
Change 3881971 by andrew.porter
QAGame: Removing actor from Shot_003
#jira UE-29618
Change 3881795 by Krzysztof.Narkowicz
Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows
#jira UE-53875
Change 3881550 by David.Hibbitts
#JIRA UEENT-879
Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed.
THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile.
Change 3881339 by Jurre.deBaare
Moving over:
"Editor crashed when attempting to bake out all the material channels
#jira UE-54508
#misc small UDN Merge actor / bake material fixes
Change 3879557 by Dan.Oconnor
Fix stepover behavior when no debug target is selected
#jira UE-54978
Change 3879485 by Mike.Beach
Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes).
#jira UE-54999
Change 3879438 by David.Hibbitts
#JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau
Change 3879343 by Lina.Halper
Last min change that skiped compiling
#jira: none
Change 3879337 by Lina.Halper
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
#jira: UE-54806
Change 3878968 by Phillip.Kavan
Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization.
Change summary:
- Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties.
#jira UE-54981
Change 3878962 by Adrian.Siminciuc
https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license)
#4.19
#jira UE-54831
#android
- shows an error message box informing that the license file could not be written.
Change 3878821 by Andrew.Rodham
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3878171 by Chris.Phillips
Android: Fixed crash after splash screen when using Vulkan.
#jira UE-54299
Change 3877950 by Ethan.Geller
Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron
Change 3877859 by Nick.Shin
rebuilt lighting for TM-ShaderModels and resaved the level
#jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5
Change 3877854 by tim.gautier
Adding additional (temp) ML Test asset
#jira UE-29318
Change 3877609 by Ethan.Geller
[4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron
Change 3877474 by Lauren.Ridge
Adding WITH_EDITOR wrappers to editor-only section of code
#jira fixingcompiles
Change 3877271 by Arne.Schober
REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary
#jira none
Change 3877260 by Lina.Halper
If revision is too far away, ignore the request and send current buffer
- this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens
#jira: UE-54398
Change 3876950 by Lauren.Ridge
Renaming layers in a material instance - from 4.19 preview feedback
#jira UETOOL-1296
Change 3876932 by Arciel.Rekman
Linux: updated the link to the cross-toolchain (UE-54597).
#jira UE-54597
Change 3876918 by Phillip.Kavan
Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled.
Change summary:
- Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class.
- Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL.
#jira UE-54870
Change 3876759 by tim.gautier
Updated Material Layer test assets to include Opacity and Emissive.
#jira UE-29318
Change 3876575 by Michael.Karambelas
Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes.
#jira UE-29618
Change 3876406 by Robert.Manuszewski
Fixed a crash when reporting linker errors
#jira UE-51037
Change 3875891 by Nick.Atamas
Fixed scenario where geometries were being updated once per pin, instead of just being updated once.
Also fixes a scenario where there are no pins and geometries fail to update.
#jira UE-54914
Change 3875880 by Aaron.McLeran
#jira UE-54916
Fixing up submix effect templates
Change 3875673 by Brandon.Schaefer
Fix Apex dependencies
Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs
#jira UE-54861
Change 3875498 by Lauren.Ridge
PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux)
#jira UE-54862
Change 3875322 by tim.gautier
Recreating Material Layer test assets (asset version has changed)
#jira UE-29318
Change 3875157 by Aaron.McLeran
#jira UE-54901 Synth components do not allow sends to buses
Change 3875103 by Brandon.Schaefer
Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries
#jira UE-54815
Change 3875037 by Aaron.McLeran
#jira UE-54896 Fixing up audio capture component to parameterize the delay
Parameterize the jitter latency delay.
Change 3875026 by Aaron.McLeran
#jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops
Change 3874927 by Ryan.Vance
#jira UE-54894
Ensure we don't delete aliased texture resources, they are managed externally.
Change 3874925 by Martin.Wilson
Remove XR post fix from live link code written during motion controller integration
#jira none
Change 3874354 by Ben.Marsh
Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings.
#jira UE-54272
Change 3877545 by Ben.Marsh
Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying.
Use similar logic for expanding ensure() macros in place.
#jira UE-54961
[CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
UE_LOG ( LogShaders , Log , TEXT ( " No jobs found for %f seconds, exiting " ) , ( float ) ( CurrentTime - LastCompileTime ) ) ;
2014-03-14 14:13:41 -04:00
FPlatformMisc : : RequestExit ( false ) ;
}
}
# endif
}
2020-09-24 00:43:27 -04:00
static bool AnyJobUsedHLSLccCompiler ( TArray < FJobResult > & SingleJobResults , TArray < FPipelineJobResult > & PipelineJobResults )
{
for ( int32 ResultIndex = 0 ; ResultIndex < SingleJobResults . Num ( ) ; ResultIndex + + )
{
FJobResult & JobResult = SingleJobResults [ ResultIndex ] ;
if ( JobResult . CompilerOutput . bUsedHLSLccCompiler )
{
return true ;
}
}
for ( int32 ResultIndex = 0 ; ResultIndex < PipelineJobResults . Num ( ) ; ResultIndex + + )
{
FPipelineJobResult & PipelineJob = PipelineJobResults [ ResultIndex ] ;
for ( int32 Index = 0 ; Index < PipelineJob . SingleJobs . Num ( ) ; + + Index )
{
FJobResult & JobResult = PipelineJob . SingleJobs [ Index ] ;
if ( JobResult . CompilerOutput . bUsedHLSLccCompiler )
{
return true ;
}
}
}
return false ;
}
2014-03-14 14:13:41 -04:00
} ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
static void DirectCompile ( const TArray < const class IShaderFormat * > & ShaderFormats )
2015-12-10 21:55:37 -05:00
{
// Find all the info required for compiling a single shader
TArray < FString > Tokens , Switches ;
FCommandLine : : Parse ( FCommandLine : : Get ( ) , Tokens , Switches ) ;
FString InputFile ;
FName FormatName ;
FString Entry = TEXT ( " Main " ) ;
2016-04-04 18:44:59 -04:00
bool bPipeline = false ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3461187)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3388286 on 2017/04/11 by Chris.Bunner
Fix mips in texture GnmUAV creation.
Change 3388287 on 2017/04/11 by Chris.Bunner
Improved PS/CS code sharing for TemporalAA.
Change 3388291 on 2017/04/11 by Chris.Bunner
HLODs now correctly hide their children in shadow maps.
Propagate bCastFarShadow flag on HLOD generation.
#jira UE-42254
Change 3388448 on 2017/04/11 by Brian.Karis
Better handle divide by zero
Change 3388449 on 2017/04/11 by Brian.Karis
Optimizations to shading model math.
PR #3340: Bug fixes related to shader TODOs (Contributed by vgfx)
Change 3388455 on 2017/04/11 by Uriel.Doyon
Changed Remove for RemoveSwap when clearing dynamic component references
Change 3388612 on 2017/04/11 by Simon.Tourangeau
Support shaders in projects and in plugins
When searching for a shader it will
- First look in Engine/Shaders as usual
- Then in project's Shader folder
- Then in all enabled plugin Shader folders
Project or plugin must be loaded in PostConfigInit phase
Tested in PIE, engine (cooked, packaged)
Change 3388819 on 2017/04/11 by Arne.Schober
DR - Faster MorpthTarget implementation. Changed the previous Gather aproach to a scatter based one. Reaching about 110GB/s on PS4 which is up to 4x faster than the previous implementation. On PC DX11 the impact is lower due to unecessary UAV barriers but still 2x faster on AMD and up to 6x faster on Nvidia Hardware.
#RB Lina.Halper, Rolando.Caloca
Change 3388862 on 2017/04/11 by Guillaume.Abadie
Allows Motion Blur and TAA in scene capture 2d.
Change 3388953 on 2017/04/11 by Uriel.Doyon
Fixed issue where lights from hidden levels where affecting the lighting build, by checking if the light is registered before adding it.
#UE-43220
Change 3389138 on 2017/04/11 by Arne.Schober
DR - Fix crash when opening a Level without Contentbrowser open.
#RB Matt.Kuhlenschmidt
Change 3389400 on 2017/04/11 by Uriel.Doyon
- Renamed FMaterialResource::IsSeparateTranslucencyEnabled() to FMaterialResource::IsTranslucencyAfterDOFEnabled()
- Removed different logic to determine if translucency after DOF was enabled, and centralized it into a single function: FSceneViewFamily::AllowTranslucencyAfterDOF()
- FSceneRenderTargets::FinishRenderingSeparateTranslucency() now only resolves a single view, allowing better Begin/Finish scopes.
- Renamed FSceneRenderTargets::SeparateTranslucencyDepthRT into FSceneRenderTargets::DownsampledTranslucencyDepthRT since this one is only allocated when rendering in downsampled mode.
- Standard translucency is now rendered in the same resolution than translucency after DOF. (downsampled or full resolution)
- Removed RenderTranslucencyParallel and merged it's logic into RenderTranslucency. Renamed DrawAllTranslucencyPasses to RenderViewTranslucency and added a parallel version RenderViewTranslucencyParallel.
- Moved all debug draw logic (VisualizeLPV, ViewMeshElements and SimpleElementCollector) to a common place.
- New option "r.AllowDownsampledStandardTranslucency" to control the downsampling of standard translucency. Affect blend module materials
#jira UE-39505
Change 3389860 on 2017/04/12 by Richard.Wallis
UE-41407 Cable actor does not render correctly in viewport on Mac.
Build the mesh at creation time - call into exisiting mesh create function.
Change 3390933 on 2017/04/12 by Arne.Schober
DR - potential fix for UE-43125 where the this pointer might get invalidated in the middle of the function
#RB Marcus.Wassmer
Change 3391010 on 2017/04/12 by Ben.Marsh
Compile UE4Game non-unity for Mac as part of nightly builds in //UE4/Dev-Rendering.
Change 3391412 on 2017/04/12 by Uriel.Doyon
Mesh Decals are now sorted according to the component TranslucencySortPriority.
#jira UE-43053
Change 3392117 on 2017/04/13 by Guillaume.Abadie
Integrates Raven's experimental PCSS for cascaded shadow map hidden behind a CVar.
Change 3392179 on 2017/04/13 by Guillaume.Abadie
Attempts to fix linux compilation by removing mistakenly submitted dead code.
Change 3392231 on 2017/04/13 by Guillaume.Abadie
Fixes a wrong enum value real quick in FRenderingObjectVersion I introduced after main integration... Oups...
Change 3393879 on 2017/04/14 by Guillaume.Abadie
Attempts to fix linux compilation warning.
Change 3393881 on 2017/04/14 by Guillaume.Abadie
Back out changelist 3393879
Change 3393882 on 2017/04/14 by Guillaume.Abadie
Attempts #2 to fix linux compilation error.
Change 3394100 on 2017/04/14 by Chris.Bunner
Corrected material shared sampler usage with mip-biasing.
Change 3394174 on 2017/04/14 by Rolando.Caloca
DR - Change ensure to warning
Change 3394221 on 2017/04/14 by Marcus.Wassmer
Fix poseable mesh bounds calculation.
Change 3396238 on 2017/04/17 by David.Hill
Fix Bloom with LensFlare
Duplicating fix - will also fix directly in 4.16
#jira 44050
Change 3397055 on 2017/04/17 by Joe.Graf
Fixed Windows specific assumptions in Slate File Dialog Window's file filtering that lead to crashes
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3397921 on 2017/04/18 by Joe.Graf
Rewrote SlateFileDlgWindow's file filtering to allow for extensionless file selection and to remove the O(n^2) file filtering
#CodeReview: arciel.rekman, matt.kuhlenschmidt
#rb: n/a
Change 3398406 on 2017/04/18 by Rolando.Caloca
DR - Fix shaders in plugins on Mac
Change 3399546 on 2017/04/19 by Benjamin.Hyder
Updating content for test levels (HDR, Bloom_FFT, DistanceFields_IndirectShadows)
Change 3399725 on 2017/04/19 by Guillaume.Abadie
Avoids compiling PCSS shaders for SM4.
Change 3400295 on 2017/04/19 by Michael.Trepka
Fixed metal shader compile errors in MorphTargets.usf
Change 3400457 on 2017/04/19 by Michael.Trepka
Merged Rolando's shader fixes
Change 3400473 on 2017/04/19 by Arne.Schober
DR - provide Aftermath Reason when init failed.
#RB none
Change 3400699 on 2017/04/19 by Arne.Schober
DR - Fixed Text macro
#RB none
Change 3402280 on 2017/04/20 by Simon.Tovey
Minor cascade fix
#tests no crash
#jira UE-41560
Change 3402517 on 2017/04/20 by Arne.Schober
DR - Fix static analysis warning
#RB none
Change 3403897 on 2017/04/21 by Arne.Schober
DR - [UE-43898] - Someone missed a shaderversion bump which poisoned the DCC
#RB None
#jira UE-43898
Change 3404591 on 2017/04/21 by Olaf.Piesche
#jira UE-41979
Should never be crashing there, unless the mesh is changed after Init of the effect instance; this change safeguards against the number of mesh sections (and hence materials) changing after creation of the dynamic data to avoid the crash.
Change 3407451 on 2017/04/25 by Daniel.Wright
Fixed Indirect Lighting Cache updates caused by capsule indirect shadows forcing point samples, breaking primitives using ILCQ_Volume
Change 3407452 on 2017/04/25 by Daniel.Wright
Added r.AOJitterConeDirections, although disabled by default because it requires the temporal filter to be much stronger
Change 3408397 on 2017/04/25 by Daniel.Wright
ViewFamily.bRealtimeUpdate is set to false if Slate is throttling (like when toggling show flags). Volumetric fog discards the temporal history when not realtime, so you can see changes immediately.
Change 3408428 on 2017/04/25 by Daniel.Wright
Changed 'r.AOMaxObjectsPerCullTile' default back to 512 as 256 causes artifacts with RTDF shadows
Change 3409764 on 2017/04/26 by Daniel.Wright
Force dumping shader debug info for Global shaders when r.ShaderDevelopmentMode is enabled. Most of the shaders you want to look at in a GPU capture are global shaders, and global shaders create few debug files. 'recompileshaders global' time 35s -> 38s for SM5.
Change 3411659 on 2017/04/27 by Daniel.Wright
[Copy] Set Xbox One engine default screen percentage to 83.33 (1600x900), as ESRAM choices are dependent on this
Change 3411660 on 2017/04/27 by Daniel.Wright
[Copy] Global distance field composite shader has a version for each flattened axis, which improves efficiency when updating a slab which is what camera movement typically causes
Change 3411667 on 2017/04/27 by Daniel.Wright
[Copy] Discard distance field AO history buffer if it doesn't match the new buffer size. This prevents reading uinitialized data after a scene render target resize.
Change 3411668 on 2017/04/27 by Daniel.Wright
[Copy] Better indirect capsule shadow draw event info
Change 3411669 on 2017/04/27 by Daniel.Wright
[Copy] Pass down FeatureLevel to AddSubjectPrimitive and GatherShadowsForPrimitiveInner instead of calling the scene's virtual function. Showed up prominently in a sampling profile.
Change 3411755 on 2017/04/27 by Daniel.Wright
[Copy] Occlusion queries are now always done before the base pass if a nearly full prepass is being used(DDM_AllOccluders or DDM_AllOpaque)
* Removed r.OcclusionQueryLocation
Change 3411827 on 2017/04/27 by Daniel.Wright
[Copy] Much cheaper implementation of IsForwardShadingEnabled which showed up prominently in sampling profiles - inlined function and no more unnecessary thread safety overhead
Change 3411829 on 2017/04/27 by Daniel.Wright
Added an ensure to console manager when doing FindTConsoleVariableData* on a FAutoConsoleVariableRef
Change 3411837 on 2017/04/27 by Daniel.Wright
[Copy] Worked around slow memcpy's being used to sort FSortedLightSceneInfo
Change 3411838 on 2017/04/27 by Daniel.Wright
[Copy] Skip tracking MaterialRenderProxyMap on cooked platforms
Change 3411843 on 2017/04/27 by Daniel.Wright
[Copy] Fixed r.ParallelShadows on PS4 and enabled by default engine-wide (saves 5ms RT with CSM)
* Gnm was not tracking DepthClearValue when a depth target was set but not cleared
* Gnm has a bug where TargetsNeedingEliminateFastClear does not persist across commandlist breaks. Moved FinishRenderingGBuffer before RenderShadowDepthMaps to workaround (accidentally not in this changelist)
* Shadow depth rendering was not using BindClearMRTValues to populate GNM parallel commandlist TargetsNeedingEliminateFastClear values
Change 3411873 on 2017/04/27 by Daniel.Wright
[Copy] Deferred uniform expression caching. Setting multiple parameters on a material only causes its uniform expressions to be recached once.
* 280 calls to CacheUniformExpressions -> 120 during Fortnite combat (6.5ms -> 3.4ms)
Change 3411891 on 2017/04/27 by Daniel.Wright
[Copy] GatherShadowPrimitives optimizations
* Total GatherShadowPrimivies went from 2.3ms -> 1.3ms on PS4 with these changes in GPUPerfTest (duplicated 3x)
* Much flatter primitive octree (16 -> 256 max primitives)
* Primitives are culled against the shadow frustum before FPrimitiveSceneInfo or FPrimitiveSceneProxy are dereferenced in FilterPrimitiveForShadows
* FilterPrimitiveForShadows work is done in a ParallelFor. Primitive octree nodes are processed in different jobs.
* StaticMeshWholeSceneShadowBatchVisibility now only stores entries for meshes with bRequiresPerElementVisibility (landscape). Previously it was allocating and zeroing 500Kb 3x per frame (main view + 2 cascades) which cost ~.8ms on PS4.
Change 3412192 on 2017/04/27 by Michael.Trepka
Fixed Clang compile errors in FortniteGame, partial copy of CL 3313426
Change 3412547 on 2017/04/27 by Daniel.Wright
Fixed leak of FShadowMapAllocation and FLightMapAllocation's found by licensee
Change 3414239 on 2017/04/28 by Arne.Schober
DR - UE-44500 - Removed use of Structured Buffer from MorphTargets due to HLSLCC not supporting it.
#RB none
#jira UE-44500
Change 3414754 on 2017/04/28 by Daniel.Wright
Added VolumetricFogEmissive to ExponentialHeightFogComponent
* Volumetric fog does not yet support precomputed lighting, so this is the only way to get an ambient lighting term
Change 3416859 on 2017/05/01 by Arne.Schober
DR - Remove FeatureLevel from the Clear Functions to reduce area of error
#RB Rolando.Caloca
Change 3420750 on 2017/05/03 by Arne.Schober
DR - [UE-44497] - Fix several PS4 validation layer issues
#RB Marcus.Wassmer
Change 3422869 on 2017/05/04 by Benjamin.Hyder
Fix compile error from merge.
Change 3423938 on 2017/05/04 by Marc.Olano
[UE-44453] Fix bloom problems by moving saturate after vector math
Change 3424494 on 2017/05/04 by Olaf.Piesche
#jira UE-44589
When using FindTCosoleVariableData, the CVar can not be an FAutoConsoleVariable.
#tests as described in jira ticket
Change 3424754 on 2017/05/04 by Uriel.Doyon
Fixed call to get texture compressor module outside the main thread.
#jira UE-42168
Change 3425447 on 2017/05/05 by Uriel.Doyon
#buildfix
Change 3427042 on 2017/05/05 by Arne.Schober
DR - Fix one of my typos
#RB none
Change 3428119 on 2017/05/08 by Marcus.Wassmer
Fix UE-44733
static analysis warning.
Change 3428222 on 2017/05/08 by Uriel.Doyon
Fixed bad condition in translucency rendering
#jira UE-44452
Change 3429794 on 2017/05/08 by Uriel.Doyon
Fixed issues with lightshafts and low res translucency.
#jira UE-44452
Change 3430921 on 2017/05/09 by Rolando.Caloca
DR - Get additional function pointers for D3DReflect, Compile and Disassemble instructions from the same DLL when compiling D3D11 shaders.
- Also fixes using the correct fxc.exe path to match the DLL we distribute.
Change 3431156 on 2017/05/09 by Rolando.Caloca
DR - Remove unused code
Change 3431396 on 2017/05/09 by David.Hill
Copy of changes made directly in 4.16 ( CL 341037 )
to be submitted to dev-rendering
#jira UE-44641
Change 3431400 on 2017/05/09 by Rolando.Caloca
DR - Fix typo
Change 3431527 on 2017/05/09 by David.Hill
#rb: none
Oops.
comment out r.ShaderDevelopmentMode =1
Change 3431590 on 2017/05/09 by Daniel.Wright
Removed early return landmine in USceneCaptureComponent2D::Serialize
Change 3431591 on 2017/05/09 by Daniel.Wright
Disallow map building while in PIE, or PIE while buildling lighting
Change 3431594 on 2017/05/09 by Daniel.Wright
Added RenderTargetFormat to UTextureRenderTarget2D, with choices of 8 bit, 16fp, 32fp and 1, 2 or 4 channels.
Change 3431667 on 2017/05/09 by Daniel.Wright
Volumetric fog now supersamples lighting when the history is not available, reducing noise on areas that just came on-screen or after a camera cut.
* The number of samples is controlled by r.VolumetricFog.HistoryMissSupersampleCount, defaults to 4, cinematic scalability uses 16
* Under fast camera movement, volumetric fog cost went from 1.79ms -> 1.97ms with 4 samples, on a 970GTX
Change 3432366 on 2017/05/10 by Richard.Wallis
Fix for MetalRHI Asserts When Using "Profile GPU" With RHI-Thread/Parallel-Execution. Don't insert events when not in RHIThread or the actual single-threaded-render thread.
#jira UE-36006
Change 3432367 on 2017/05/10 by Richard.Wallis
Fix for Metal ReStartRenderPass assert with profiling. macOS metal asserts when using "profileGPU" even with -norhithread argument set.
Added no action to the allowed render pass restart store actions for the depth buffer avoiding the assert. Interested to know the details if this is not a valid assumption to make - throwing away the depth buffer after a render pass I think would be a common case.
#jira UE-44322
Change 3432409 on 2017/05/10 by Richard.Wallis
Merged across CL 3415890 from Release-4.16 fix for (jira UE-43895)
Fix for deferred store actions getting cleared when we don't have a valid render target.
Change 3432833 on 2017/05/10 by Daniel.Wright
Fixed Ocean compile error
Change 3432874 on 2017/05/10 by Marc.Olano
Improved captions for Noise and VectorNoise material nodes
Change 3432947 on 2017/05/10 by Richard.Wallis
Fix for shared Material Native Shader Libraries Don't Function With Iterative Cooking. Keep latest versions of shader byte code in native shared material packaged build in an intermediate directory than can be reused on a later iterative cook.
- Doesn't handle deletion of the intermediate directory contents. Assumed to be a higher level requirement on non iterative cook flag.
#jira UE-44657
Change 3433484 on 2017/05/10 by Arne.Schober
DR - UE-44393 - Move ShaderPlatform into TShaderMap for extra debuginformation when it fails to find a proper shader. Also log when Gobalshaders are verified and recompiled.
#jira UE-44393
#RB Daniel.Wright
Change 3433515 on 2017/05/10 by Arne.Schober
DR - Fix a bug where recompileshaders changed while compiling causes a crash where the chached local vertex factories are mutated while been used.
#RB Daniel.Wright
Change 3433606 on 2017/05/10 by Daniel.Wright
Fixed static shadowing of volumetric fog and translucency causing shadowing past the lightmass importance volume.
Change 3433619 on 2017/05/10 by Daniel.Wright
Skip recapturing reflection captures when PropagateLightingScenarioChange is being called for a level unload. This leaves stale results in reflection captures around when hiding a level in the editor, but avoids the double recapture that happens when swapping lighting scenarios in game, and the unnecessary reflection capture update when exiting PIE.
Change 3433795 on 2017/05/10 by Arne.Schober
DR - add cmdline to select a GPU vendor when multiple GPUs from differnt Vendors are installed into the same Machine
#RB marcus.Wassmer
Change 3433941 on 2017/05/10 by Daniel.Wright
Cone vs tile bounding sphere intersection tests for Light Grid culling of spotlights, which provides much tighter culling than just View space tile AABB vs light bounding sphere.
* Forward shading BasePass 3.7ms -> 2.4ms in a scene with 24 spotlights on 970GTX
* Volumetric fog 2.87ms -> 2.09ms in the same scene
Change 3435139 on 2017/05/11 by Daniel.Wright
Restored GTextureRenderTarget2DMaxSizeX which is used by Ocean
Change 3435297 on 2017/05/11 by Arne.Schober
DR - Remove manual AlignOf and use C++11 keyword instead
#RB Steve.Robb
Change 3435367 on 2017/05/11 by Daniel.Wright
Circle vertex buffer for slightly tighter voxelization of volumetric fog shadowed lights
* 1.5ms -> 1.38ms on 970 GTX with 24 spotlights
Change 3435522 on 2017/05/11 by Brian.Karis
Dither opacity mask now stacks properly for non parallel polys. Dither is randomized by triangle normal.
Change 3436063 on 2017/05/11 by Daniel.Wright
Disabled CLB_AggressiveBatching for PC d3d12 as it causes flickering artifacts in lighting
Change 3436269 on 2017/05/11 by Uriel.Doyon
Fixed UVChannel data possibly not up-to-date depending on user manips.
Change 3436611 on 2017/05/12 by Simon.Tovey
Improved name and tooltip for static mesh property controlling generation of alias tables for uniform sampling.
Change 3436676 on 2017/05/12 by Simon.Tovey
Fix for fixed bounds being "invalid" unless set via the toolbar option.
Change 3436700 on 2017/05/12 by Simon.Tovey
Crash fix.
Issue found in https://udn.unrealengine.com/questions/355944/crash-in-fdynamicspriteemitterdatagetdynamicmeshel.html
Particle proxies would have stale material resource pointers if the material is changed while the system was invisible.
If the old material is freed during this time, the next time the system renders it will crash.
Change 3437367 on 2017/05/12 by Brian.Karis
Fixed bug with small UV charts not packing.
Change 3437860 on 2017/05/12 by Arne.Schober
DR - Fix alignment compile error in win32 where according to ABI alignment is 4 for int64
#RB none
Change 3437972 on 2017/05/12 by Arne.Schober
DR - Fix alignment compile error in win32 where according to ABI function calls cannot take alingned structures. In all of the cases the copy was completely unnecessary.
#RB none
Change 3437975 on 2017/05/12 by Chris.Bunner
Added calculation for MaterialParamsEx to MeshDecals.usf.
#jira UE-43052
Change 3438109 on 2017/05/12 by Rolando.Caloca
DR - Support for -nomcpp on SCW
Change 3438889 on 2017/05/15 by Chris.Bunner
Nullptr check in a few material uniform expressions.
Change 3439351 on 2017/05/15 by Chris.Bunner
Added tooltip to Power material expression.
Change 3439763 on 2017/05/15 by Daniel.Wright
Apply passed in DistanceBiasSqr to line lights - allows volumetric fog to reduce aliasing on line lights
Change 3439764 on 2017/05/15 by Daniel.Wright
Fixed order of operations with bTreatMaxDepthUnshadowed - manifested as unfiltered static shadow depth lookups
Change 3440722 on 2017/05/16 by Guillaume.Abadie
Exposes Scene capture's FOV to blueprints
Change 3441680 on 2017/05/16 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3441884 on 2017/05/16 by Uriel.Doyon
Fixed StreamingDistanceMultiplier not being applied to the texture streaming data.
Change 3442800 on 2017/05/17 by Gil.Gribb
Fixed botched merge.
Change 3442896 on 2017/05/17 by Gil.Gribb
UE4 - Allowed the possibility of running the RHI "thread" on task threads instead and cleaned up and unified the conditionals involved. By default we still have a dedicated RHI thread because it tested slightly faster.
Change 3443951 on 2017/05/17 by Richard.Wallis
Added Apple override allocator macro - each command encoder type needs it's own allocator queue.
Change 3444787 on 2017/05/17 by Daniel.Wright
Fixed DBuffer decal default normal (used when DBuffer decals enabled, but not decals rendered) not reconstructing zero properly, adding -.008 to WorldNormal which then caused artifacts with forward lighting specular on materials with roughness near 0.
Change 3444882 on 2017/05/17 by Daniel.Wright
Added comment to FClearValueBinding::DefaultNormal8Bit to make the dependency on shader decode clear
Change 3444883 on 2017/05/17 by Brian.Karis
Improved contact shadows
Change 3445048 on 2017/05/17 by Daniel.Wright
Fixed particle lights in forward shading, they were not setting the lighting channel mask properly
Change 3445107 on 2017/05/17 by Michael.Trepka
Changed the order of operations in FMetalStateCache::SetRenderState to work around an issue with some Intel drivers where they would not recalculate the raster state in some edge cases.
#jira UE-43725
Change 3445212 on 2017/05/17 by Uriel.Doyon
Added a -CSV option to ListTextures command
Change 3445947 on 2017/05/18 by Richard.Wallis
Clone of Release-4.16 Stream CL 3437181 and CL 3442450 - fix(s) for black rendering on macOS El Cap with Nvidia GPU. Move sampling of EyeAdaption texture to pixel shader for Mac Metal using shader language version <= 1 only.
Change 3446545 on 2017/05/18 by Chris.Bunner
Removed hardcoded (and unused) MRT write from Decal shaders.
#jira UE-45095
Change 3446568 on 2017/05/18 by Marc.Olano
Sobol and image-based importance sampling C++ functions and blueprint nodes
Change 3446988 on 2017/05/18 by Marc.Olano
Fix build error: missing include
Change 3446990 on 2017/05/18 by Marc.Olano
Cell-indexed Sobol sampling for shaders (in MonteCarlo.usf) and materials (Sobol and TemporalSobol nodes)
Change 3447142 on 2017/05/18 by Rolando.Caloca
DR - RWLock instead of mutex for PSO cache
Change 3447144 on 2017/05/18 by Uriel.Doyon
Moved shading model code to SetGBufferFromShadingModel(). This allows the code to be reused in other shader files.
Change 3447794 on 2017/05/18 by Brian.Karis
Virtual texturing foundation code
Change 3448944 on 2017/05/19 by Arciel.Rekman
Fix non-unity Linux (and Mac, etc) builds.
- Mac fix is tentative, did not try.
Change 3449183 on 2017/05/19 by Marcus.Wassmer
Duplicate fix for reflection captures to happen after sequencer updates.
Change 3449196 on 2017/05/19 by Uriel.Doyon
Handling RCM_MinMax when reading FloatRGBA textures.
This fixes pixel inspector always reading 1 for scene color values greater than one.
Change 3451652 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45245
Change 3451660 on 2017/05/22 by Chris.Bunner
Additional compile fix.
#jira UE-45245
Change 3451897 on 2017/05/22 by Daniel.Wright
Moved RTDF shadow project back after the base pass, since it samples the GBuffer for subsurface shadowing. Removed r.DFShadowAsyncCompute which was relying on the previous ordering.
Change 3452055 on 2017/05/22 by Rolando.Caloca
DR - Switch compile fix
#jira UE-45265
Change 3452089 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45246
Change 3452108 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45246
Change 3452179 on 2017/05/22 by Brian.Karis
Exposed dimensions. Fixed static analysis.
Change 3452734 on 2017/05/22 by Daniel.Wright
When post processing is disabled, TPT_TranslucencyAfterDOF translucency gets forced into the standard translucency pass.
Change 3452770 on 2017/05/22 by Daniel.Wright
Static light source shapes drawn into reflection captures handle SourceLength via scaled sphere
Change 3452861 on 2017/05/22 by Rolando.Caloca
DR - Switch compile fix
Change 3452952 on 2017/05/22 by Brian.Karis
Small VT fixes
Change 3453647 on 2017/05/23 by Richard.Wallis
Fix for tessellation shaders on Mac (Metal v1.2) failing to compile.
#jira UE-45227
Change 3454844 on 2017/05/23 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 on 2017/05/23 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3457131 on 2017/05/24 by Arne.Schober
DR - [UE-45317] - Fix Depthbuffer not available for resolve in Forward mode
#jira UE-45317
#RB Chris.Bunner
Change 3457141 on 2017/05/24 by Marc.Olano
Sobol bug fixes
Change 3457953 on 2017/05/24 by Brian.Karis
Fix static analysis
#jira UE-45315
#jira UE-45314
#jira UE-45313
Change 3459064 on 2017/05/25 by Chris.Bunner
Fix for out of bounds material translation crash.
#jira UE-45406
Change 3459700 on 2017/05/25 by Brian.Karis
Revert using sprite index buffer because the vert order is different.
Change 3459847 on 2017/05/25 by Chris.Bunner
Fixing ensure in RenderTestMap.
[CL 3461201 by Chris Bunner in Main branch]
2017-05-26 08:22:50 -04:00
bool bUseMCPP = false ;
2015-12-10 21:55:37 -05:00
EShaderFrequency Frequency = SF_Pixel ;
2016-06-08 16:02:23 -04:00
TArray < FString > UsedOutputs ;
bool bIncludeUsedOutputs = false ;
uint64 CFlags = 0 ;
2016-04-04 18:44:59 -04:00
for ( const FString & Token : Tokens )
2015-12-10 21:55:37 -05:00
{
2016-04-04 18:44:59 -04:00
if ( Switches . Contains ( Token ) )
2015-12-10 21:55:37 -05:00
{
2016-04-04 18:44:59 -04:00
if ( Token . StartsWith ( TEXT ( " format= " ) ) )
{
FormatName = FName ( * Token . RightChop ( 7 ) ) ;
}
else if ( Token . StartsWith ( TEXT ( " entry= " ) ) )
{
Entry = Token . RightChop ( 6 ) ;
2022-01-12 18:08:09 -05:00
// Remove quotations marks at beginning and end; happens when multiple entry points are specified, e.g. -entry="closesthit=A anyhit=B"
if ( Entry . Len ( ) > = 2 & & Entry [ 0 ] = = TEXT ( ' \" ' ) & & Entry [ Entry . Len ( ) - 1 ] = = TEXT ( ' \" ' ) )
{
Entry = Entry . Mid ( 1 , Entry . Len ( ) - 2 ) ;
}
2016-04-04 18:44:59 -04:00
}
2016-06-08 16:02:23 -04:00
else if ( Token . StartsWith ( TEXT ( " cflags= " ) ) )
{
CFlags = FCString : : Atoi64 ( * Token . RightChop ( 7 ) ) ;
}
2016-04-04 18:44:59 -04:00
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " ps " ) ) )
{
Frequency = SF_Pixel ;
}
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " vs " ) ) )
{
Frequency = SF_Vertex ;
}
2021-04-14 17:05:02 -04:00
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " ms " ) ) )
{
Frequency = SF_Mesh ;
}
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " as " ) ) )
{
Frequency = SF_Amplification ;
}
2016-04-04 18:44:59 -04:00
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " gs " ) ) )
{
Frequency = SF_Geometry ;
}
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " cs " ) ) )
{
Frequency = SF_Compute ;
}
2019-01-03 11:42:46 -05:00
# if RHI_RAYTRACING
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " rgs " ) ) )
{
Frequency = SF_RayGen ;
}
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " rms " ) ) )
{
Frequency = SF_RayMiss ;
}
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " rhs " ) ) )
{
Frequency = SF_RayHitGroup ;
}
2019-06-11 18:27:07 -04:00
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " rcs " ) ) )
{
Frequency = SF_RayCallable ;
}
2019-01-03 11:42:46 -05:00
# endif // RHI_RAYTRACING
2016-04-04 18:44:59 -04:00
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " pipeline " ) ) )
{
bPipeline = true ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3461187)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3388286 on 2017/04/11 by Chris.Bunner
Fix mips in texture GnmUAV creation.
Change 3388287 on 2017/04/11 by Chris.Bunner
Improved PS/CS code sharing for TemporalAA.
Change 3388291 on 2017/04/11 by Chris.Bunner
HLODs now correctly hide their children in shadow maps.
Propagate bCastFarShadow flag on HLOD generation.
#jira UE-42254
Change 3388448 on 2017/04/11 by Brian.Karis
Better handle divide by zero
Change 3388449 on 2017/04/11 by Brian.Karis
Optimizations to shading model math.
PR #3340: Bug fixes related to shader TODOs (Contributed by vgfx)
Change 3388455 on 2017/04/11 by Uriel.Doyon
Changed Remove for RemoveSwap when clearing dynamic component references
Change 3388612 on 2017/04/11 by Simon.Tourangeau
Support shaders in projects and in plugins
When searching for a shader it will
- First look in Engine/Shaders as usual
- Then in project's Shader folder
- Then in all enabled plugin Shader folders
Project or plugin must be loaded in PostConfigInit phase
Tested in PIE, engine (cooked, packaged)
Change 3388819 on 2017/04/11 by Arne.Schober
DR - Faster MorpthTarget implementation. Changed the previous Gather aproach to a scatter based one. Reaching about 110GB/s on PS4 which is up to 4x faster than the previous implementation. On PC DX11 the impact is lower due to unecessary UAV barriers but still 2x faster on AMD and up to 6x faster on Nvidia Hardware.
#RB Lina.Halper, Rolando.Caloca
Change 3388862 on 2017/04/11 by Guillaume.Abadie
Allows Motion Blur and TAA in scene capture 2d.
Change 3388953 on 2017/04/11 by Uriel.Doyon
Fixed issue where lights from hidden levels where affecting the lighting build, by checking if the light is registered before adding it.
#UE-43220
Change 3389138 on 2017/04/11 by Arne.Schober
DR - Fix crash when opening a Level without Contentbrowser open.
#RB Matt.Kuhlenschmidt
Change 3389400 on 2017/04/11 by Uriel.Doyon
- Renamed FMaterialResource::IsSeparateTranslucencyEnabled() to FMaterialResource::IsTranslucencyAfterDOFEnabled()
- Removed different logic to determine if translucency after DOF was enabled, and centralized it into a single function: FSceneViewFamily::AllowTranslucencyAfterDOF()
- FSceneRenderTargets::FinishRenderingSeparateTranslucency() now only resolves a single view, allowing better Begin/Finish scopes.
- Renamed FSceneRenderTargets::SeparateTranslucencyDepthRT into FSceneRenderTargets::DownsampledTranslucencyDepthRT since this one is only allocated when rendering in downsampled mode.
- Standard translucency is now rendered in the same resolution than translucency after DOF. (downsampled or full resolution)
- Removed RenderTranslucencyParallel and merged it's logic into RenderTranslucency. Renamed DrawAllTranslucencyPasses to RenderViewTranslucency and added a parallel version RenderViewTranslucencyParallel.
- Moved all debug draw logic (VisualizeLPV, ViewMeshElements and SimpleElementCollector) to a common place.
- New option "r.AllowDownsampledStandardTranslucency" to control the downsampling of standard translucency. Affect blend module materials
#jira UE-39505
Change 3389860 on 2017/04/12 by Richard.Wallis
UE-41407 Cable actor does not render correctly in viewport on Mac.
Build the mesh at creation time - call into exisiting mesh create function.
Change 3390933 on 2017/04/12 by Arne.Schober
DR - potential fix for UE-43125 where the this pointer might get invalidated in the middle of the function
#RB Marcus.Wassmer
Change 3391010 on 2017/04/12 by Ben.Marsh
Compile UE4Game non-unity for Mac as part of nightly builds in //UE4/Dev-Rendering.
Change 3391412 on 2017/04/12 by Uriel.Doyon
Mesh Decals are now sorted according to the component TranslucencySortPriority.
#jira UE-43053
Change 3392117 on 2017/04/13 by Guillaume.Abadie
Integrates Raven's experimental PCSS for cascaded shadow map hidden behind a CVar.
Change 3392179 on 2017/04/13 by Guillaume.Abadie
Attempts to fix linux compilation by removing mistakenly submitted dead code.
Change 3392231 on 2017/04/13 by Guillaume.Abadie
Fixes a wrong enum value real quick in FRenderingObjectVersion I introduced after main integration... Oups...
Change 3393879 on 2017/04/14 by Guillaume.Abadie
Attempts to fix linux compilation warning.
Change 3393881 on 2017/04/14 by Guillaume.Abadie
Back out changelist 3393879
Change 3393882 on 2017/04/14 by Guillaume.Abadie
Attempts #2 to fix linux compilation error.
Change 3394100 on 2017/04/14 by Chris.Bunner
Corrected material shared sampler usage with mip-biasing.
Change 3394174 on 2017/04/14 by Rolando.Caloca
DR - Change ensure to warning
Change 3394221 on 2017/04/14 by Marcus.Wassmer
Fix poseable mesh bounds calculation.
Change 3396238 on 2017/04/17 by David.Hill
Fix Bloom with LensFlare
Duplicating fix - will also fix directly in 4.16
#jira 44050
Change 3397055 on 2017/04/17 by Joe.Graf
Fixed Windows specific assumptions in Slate File Dialog Window's file filtering that lead to crashes
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3397921 on 2017/04/18 by Joe.Graf
Rewrote SlateFileDlgWindow's file filtering to allow for extensionless file selection and to remove the O(n^2) file filtering
#CodeReview: arciel.rekman, matt.kuhlenschmidt
#rb: n/a
Change 3398406 on 2017/04/18 by Rolando.Caloca
DR - Fix shaders in plugins on Mac
Change 3399546 on 2017/04/19 by Benjamin.Hyder
Updating content for test levels (HDR, Bloom_FFT, DistanceFields_IndirectShadows)
Change 3399725 on 2017/04/19 by Guillaume.Abadie
Avoids compiling PCSS shaders for SM4.
Change 3400295 on 2017/04/19 by Michael.Trepka
Fixed metal shader compile errors in MorphTargets.usf
Change 3400457 on 2017/04/19 by Michael.Trepka
Merged Rolando's shader fixes
Change 3400473 on 2017/04/19 by Arne.Schober
DR - provide Aftermath Reason when init failed.
#RB none
Change 3400699 on 2017/04/19 by Arne.Schober
DR - Fixed Text macro
#RB none
Change 3402280 on 2017/04/20 by Simon.Tovey
Minor cascade fix
#tests no crash
#jira UE-41560
Change 3402517 on 2017/04/20 by Arne.Schober
DR - Fix static analysis warning
#RB none
Change 3403897 on 2017/04/21 by Arne.Schober
DR - [UE-43898] - Someone missed a shaderversion bump which poisoned the DCC
#RB None
#jira UE-43898
Change 3404591 on 2017/04/21 by Olaf.Piesche
#jira UE-41979
Should never be crashing there, unless the mesh is changed after Init of the effect instance; this change safeguards against the number of mesh sections (and hence materials) changing after creation of the dynamic data to avoid the crash.
Change 3407451 on 2017/04/25 by Daniel.Wright
Fixed Indirect Lighting Cache updates caused by capsule indirect shadows forcing point samples, breaking primitives using ILCQ_Volume
Change 3407452 on 2017/04/25 by Daniel.Wright
Added r.AOJitterConeDirections, although disabled by default because it requires the temporal filter to be much stronger
Change 3408397 on 2017/04/25 by Daniel.Wright
ViewFamily.bRealtimeUpdate is set to false if Slate is throttling (like when toggling show flags). Volumetric fog discards the temporal history when not realtime, so you can see changes immediately.
Change 3408428 on 2017/04/25 by Daniel.Wright
Changed 'r.AOMaxObjectsPerCullTile' default back to 512 as 256 causes artifacts with RTDF shadows
Change 3409764 on 2017/04/26 by Daniel.Wright
Force dumping shader debug info for Global shaders when r.ShaderDevelopmentMode is enabled. Most of the shaders you want to look at in a GPU capture are global shaders, and global shaders create few debug files. 'recompileshaders global' time 35s -> 38s for SM5.
Change 3411659 on 2017/04/27 by Daniel.Wright
[Copy] Set Xbox One engine default screen percentage to 83.33 (1600x900), as ESRAM choices are dependent on this
Change 3411660 on 2017/04/27 by Daniel.Wright
[Copy] Global distance field composite shader has a version for each flattened axis, which improves efficiency when updating a slab which is what camera movement typically causes
Change 3411667 on 2017/04/27 by Daniel.Wright
[Copy] Discard distance field AO history buffer if it doesn't match the new buffer size. This prevents reading uinitialized data after a scene render target resize.
Change 3411668 on 2017/04/27 by Daniel.Wright
[Copy] Better indirect capsule shadow draw event info
Change 3411669 on 2017/04/27 by Daniel.Wright
[Copy] Pass down FeatureLevel to AddSubjectPrimitive and GatherShadowsForPrimitiveInner instead of calling the scene's virtual function. Showed up prominently in a sampling profile.
Change 3411755 on 2017/04/27 by Daniel.Wright
[Copy] Occlusion queries are now always done before the base pass if a nearly full prepass is being used(DDM_AllOccluders or DDM_AllOpaque)
* Removed r.OcclusionQueryLocation
Change 3411827 on 2017/04/27 by Daniel.Wright
[Copy] Much cheaper implementation of IsForwardShadingEnabled which showed up prominently in sampling profiles - inlined function and no more unnecessary thread safety overhead
Change 3411829 on 2017/04/27 by Daniel.Wright
Added an ensure to console manager when doing FindTConsoleVariableData* on a FAutoConsoleVariableRef
Change 3411837 on 2017/04/27 by Daniel.Wright
[Copy] Worked around slow memcpy's being used to sort FSortedLightSceneInfo
Change 3411838 on 2017/04/27 by Daniel.Wright
[Copy] Skip tracking MaterialRenderProxyMap on cooked platforms
Change 3411843 on 2017/04/27 by Daniel.Wright
[Copy] Fixed r.ParallelShadows on PS4 and enabled by default engine-wide (saves 5ms RT with CSM)
* Gnm was not tracking DepthClearValue when a depth target was set but not cleared
* Gnm has a bug where TargetsNeedingEliminateFastClear does not persist across commandlist breaks. Moved FinishRenderingGBuffer before RenderShadowDepthMaps to workaround (accidentally not in this changelist)
* Shadow depth rendering was not using BindClearMRTValues to populate GNM parallel commandlist TargetsNeedingEliminateFastClear values
Change 3411873 on 2017/04/27 by Daniel.Wright
[Copy] Deferred uniform expression caching. Setting multiple parameters on a material only causes its uniform expressions to be recached once.
* 280 calls to CacheUniformExpressions -> 120 during Fortnite combat (6.5ms -> 3.4ms)
Change 3411891 on 2017/04/27 by Daniel.Wright
[Copy] GatherShadowPrimitives optimizations
* Total GatherShadowPrimivies went from 2.3ms -> 1.3ms on PS4 with these changes in GPUPerfTest (duplicated 3x)
* Much flatter primitive octree (16 -> 256 max primitives)
* Primitives are culled against the shadow frustum before FPrimitiveSceneInfo or FPrimitiveSceneProxy are dereferenced in FilterPrimitiveForShadows
* FilterPrimitiveForShadows work is done in a ParallelFor. Primitive octree nodes are processed in different jobs.
* StaticMeshWholeSceneShadowBatchVisibility now only stores entries for meshes with bRequiresPerElementVisibility (landscape). Previously it was allocating and zeroing 500Kb 3x per frame (main view + 2 cascades) which cost ~.8ms on PS4.
Change 3412192 on 2017/04/27 by Michael.Trepka
Fixed Clang compile errors in FortniteGame, partial copy of CL 3313426
Change 3412547 on 2017/04/27 by Daniel.Wright
Fixed leak of FShadowMapAllocation and FLightMapAllocation's found by licensee
Change 3414239 on 2017/04/28 by Arne.Schober
DR - UE-44500 - Removed use of Structured Buffer from MorphTargets due to HLSLCC not supporting it.
#RB none
#jira UE-44500
Change 3414754 on 2017/04/28 by Daniel.Wright
Added VolumetricFogEmissive to ExponentialHeightFogComponent
* Volumetric fog does not yet support precomputed lighting, so this is the only way to get an ambient lighting term
Change 3416859 on 2017/05/01 by Arne.Schober
DR - Remove FeatureLevel from the Clear Functions to reduce area of error
#RB Rolando.Caloca
Change 3420750 on 2017/05/03 by Arne.Schober
DR - [UE-44497] - Fix several PS4 validation layer issues
#RB Marcus.Wassmer
Change 3422869 on 2017/05/04 by Benjamin.Hyder
Fix compile error from merge.
Change 3423938 on 2017/05/04 by Marc.Olano
[UE-44453] Fix bloom problems by moving saturate after vector math
Change 3424494 on 2017/05/04 by Olaf.Piesche
#jira UE-44589
When using FindTCosoleVariableData, the CVar can not be an FAutoConsoleVariable.
#tests as described in jira ticket
Change 3424754 on 2017/05/04 by Uriel.Doyon
Fixed call to get texture compressor module outside the main thread.
#jira UE-42168
Change 3425447 on 2017/05/05 by Uriel.Doyon
#buildfix
Change 3427042 on 2017/05/05 by Arne.Schober
DR - Fix one of my typos
#RB none
Change 3428119 on 2017/05/08 by Marcus.Wassmer
Fix UE-44733
static analysis warning.
Change 3428222 on 2017/05/08 by Uriel.Doyon
Fixed bad condition in translucency rendering
#jira UE-44452
Change 3429794 on 2017/05/08 by Uriel.Doyon
Fixed issues with lightshafts and low res translucency.
#jira UE-44452
Change 3430921 on 2017/05/09 by Rolando.Caloca
DR - Get additional function pointers for D3DReflect, Compile and Disassemble instructions from the same DLL when compiling D3D11 shaders.
- Also fixes using the correct fxc.exe path to match the DLL we distribute.
Change 3431156 on 2017/05/09 by Rolando.Caloca
DR - Remove unused code
Change 3431396 on 2017/05/09 by David.Hill
Copy of changes made directly in 4.16 ( CL 341037 )
to be submitted to dev-rendering
#jira UE-44641
Change 3431400 on 2017/05/09 by Rolando.Caloca
DR - Fix typo
Change 3431527 on 2017/05/09 by David.Hill
#rb: none
Oops.
comment out r.ShaderDevelopmentMode =1
Change 3431590 on 2017/05/09 by Daniel.Wright
Removed early return landmine in USceneCaptureComponent2D::Serialize
Change 3431591 on 2017/05/09 by Daniel.Wright
Disallow map building while in PIE, or PIE while buildling lighting
Change 3431594 on 2017/05/09 by Daniel.Wright
Added RenderTargetFormat to UTextureRenderTarget2D, with choices of 8 bit, 16fp, 32fp and 1, 2 or 4 channels.
Change 3431667 on 2017/05/09 by Daniel.Wright
Volumetric fog now supersamples lighting when the history is not available, reducing noise on areas that just came on-screen or after a camera cut.
* The number of samples is controlled by r.VolumetricFog.HistoryMissSupersampleCount, defaults to 4, cinematic scalability uses 16
* Under fast camera movement, volumetric fog cost went from 1.79ms -> 1.97ms with 4 samples, on a 970GTX
Change 3432366 on 2017/05/10 by Richard.Wallis
Fix for MetalRHI Asserts When Using "Profile GPU" With RHI-Thread/Parallel-Execution. Don't insert events when not in RHIThread or the actual single-threaded-render thread.
#jira UE-36006
Change 3432367 on 2017/05/10 by Richard.Wallis
Fix for Metal ReStartRenderPass assert with profiling. macOS metal asserts when using "profileGPU" even with -norhithread argument set.
Added no action to the allowed render pass restart store actions for the depth buffer avoiding the assert. Interested to know the details if this is not a valid assumption to make - throwing away the depth buffer after a render pass I think would be a common case.
#jira UE-44322
Change 3432409 on 2017/05/10 by Richard.Wallis
Merged across CL 3415890 from Release-4.16 fix for (jira UE-43895)
Fix for deferred store actions getting cleared when we don't have a valid render target.
Change 3432833 on 2017/05/10 by Daniel.Wright
Fixed Ocean compile error
Change 3432874 on 2017/05/10 by Marc.Olano
Improved captions for Noise and VectorNoise material nodes
Change 3432947 on 2017/05/10 by Richard.Wallis
Fix for shared Material Native Shader Libraries Don't Function With Iterative Cooking. Keep latest versions of shader byte code in native shared material packaged build in an intermediate directory than can be reused on a later iterative cook.
- Doesn't handle deletion of the intermediate directory contents. Assumed to be a higher level requirement on non iterative cook flag.
#jira UE-44657
Change 3433484 on 2017/05/10 by Arne.Schober
DR - UE-44393 - Move ShaderPlatform into TShaderMap for extra debuginformation when it fails to find a proper shader. Also log when Gobalshaders are verified and recompiled.
#jira UE-44393
#RB Daniel.Wright
Change 3433515 on 2017/05/10 by Arne.Schober
DR - Fix a bug where recompileshaders changed while compiling causes a crash where the chached local vertex factories are mutated while been used.
#RB Daniel.Wright
Change 3433606 on 2017/05/10 by Daniel.Wright
Fixed static shadowing of volumetric fog and translucency causing shadowing past the lightmass importance volume.
Change 3433619 on 2017/05/10 by Daniel.Wright
Skip recapturing reflection captures when PropagateLightingScenarioChange is being called for a level unload. This leaves stale results in reflection captures around when hiding a level in the editor, but avoids the double recapture that happens when swapping lighting scenarios in game, and the unnecessary reflection capture update when exiting PIE.
Change 3433795 on 2017/05/10 by Arne.Schober
DR - add cmdline to select a GPU vendor when multiple GPUs from differnt Vendors are installed into the same Machine
#RB marcus.Wassmer
Change 3433941 on 2017/05/10 by Daniel.Wright
Cone vs tile bounding sphere intersection tests for Light Grid culling of spotlights, which provides much tighter culling than just View space tile AABB vs light bounding sphere.
* Forward shading BasePass 3.7ms -> 2.4ms in a scene with 24 spotlights on 970GTX
* Volumetric fog 2.87ms -> 2.09ms in the same scene
Change 3435139 on 2017/05/11 by Daniel.Wright
Restored GTextureRenderTarget2DMaxSizeX which is used by Ocean
Change 3435297 on 2017/05/11 by Arne.Schober
DR - Remove manual AlignOf and use C++11 keyword instead
#RB Steve.Robb
Change 3435367 on 2017/05/11 by Daniel.Wright
Circle vertex buffer for slightly tighter voxelization of volumetric fog shadowed lights
* 1.5ms -> 1.38ms on 970 GTX with 24 spotlights
Change 3435522 on 2017/05/11 by Brian.Karis
Dither opacity mask now stacks properly for non parallel polys. Dither is randomized by triangle normal.
Change 3436063 on 2017/05/11 by Daniel.Wright
Disabled CLB_AggressiveBatching for PC d3d12 as it causes flickering artifacts in lighting
Change 3436269 on 2017/05/11 by Uriel.Doyon
Fixed UVChannel data possibly not up-to-date depending on user manips.
Change 3436611 on 2017/05/12 by Simon.Tovey
Improved name and tooltip for static mesh property controlling generation of alias tables for uniform sampling.
Change 3436676 on 2017/05/12 by Simon.Tovey
Fix for fixed bounds being "invalid" unless set via the toolbar option.
Change 3436700 on 2017/05/12 by Simon.Tovey
Crash fix.
Issue found in https://udn.unrealengine.com/questions/355944/crash-in-fdynamicspriteemitterdatagetdynamicmeshel.html
Particle proxies would have stale material resource pointers if the material is changed while the system was invisible.
If the old material is freed during this time, the next time the system renders it will crash.
Change 3437367 on 2017/05/12 by Brian.Karis
Fixed bug with small UV charts not packing.
Change 3437860 on 2017/05/12 by Arne.Schober
DR - Fix alignment compile error in win32 where according to ABI alignment is 4 for int64
#RB none
Change 3437972 on 2017/05/12 by Arne.Schober
DR - Fix alignment compile error in win32 where according to ABI function calls cannot take alingned structures. In all of the cases the copy was completely unnecessary.
#RB none
Change 3437975 on 2017/05/12 by Chris.Bunner
Added calculation for MaterialParamsEx to MeshDecals.usf.
#jira UE-43052
Change 3438109 on 2017/05/12 by Rolando.Caloca
DR - Support for -nomcpp on SCW
Change 3438889 on 2017/05/15 by Chris.Bunner
Nullptr check in a few material uniform expressions.
Change 3439351 on 2017/05/15 by Chris.Bunner
Added tooltip to Power material expression.
Change 3439763 on 2017/05/15 by Daniel.Wright
Apply passed in DistanceBiasSqr to line lights - allows volumetric fog to reduce aliasing on line lights
Change 3439764 on 2017/05/15 by Daniel.Wright
Fixed order of operations with bTreatMaxDepthUnshadowed - manifested as unfiltered static shadow depth lookups
Change 3440722 on 2017/05/16 by Guillaume.Abadie
Exposes Scene capture's FOV to blueprints
Change 3441680 on 2017/05/16 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3441884 on 2017/05/16 by Uriel.Doyon
Fixed StreamingDistanceMultiplier not being applied to the texture streaming data.
Change 3442800 on 2017/05/17 by Gil.Gribb
Fixed botched merge.
Change 3442896 on 2017/05/17 by Gil.Gribb
UE4 - Allowed the possibility of running the RHI "thread" on task threads instead and cleaned up and unified the conditionals involved. By default we still have a dedicated RHI thread because it tested slightly faster.
Change 3443951 on 2017/05/17 by Richard.Wallis
Added Apple override allocator macro - each command encoder type needs it's own allocator queue.
Change 3444787 on 2017/05/17 by Daniel.Wright
Fixed DBuffer decal default normal (used when DBuffer decals enabled, but not decals rendered) not reconstructing zero properly, adding -.008 to WorldNormal which then caused artifacts with forward lighting specular on materials with roughness near 0.
Change 3444882 on 2017/05/17 by Daniel.Wright
Added comment to FClearValueBinding::DefaultNormal8Bit to make the dependency on shader decode clear
Change 3444883 on 2017/05/17 by Brian.Karis
Improved contact shadows
Change 3445048 on 2017/05/17 by Daniel.Wright
Fixed particle lights in forward shading, they were not setting the lighting channel mask properly
Change 3445107 on 2017/05/17 by Michael.Trepka
Changed the order of operations in FMetalStateCache::SetRenderState to work around an issue with some Intel drivers where they would not recalculate the raster state in some edge cases.
#jira UE-43725
Change 3445212 on 2017/05/17 by Uriel.Doyon
Added a -CSV option to ListTextures command
Change 3445947 on 2017/05/18 by Richard.Wallis
Clone of Release-4.16 Stream CL 3437181 and CL 3442450 - fix(s) for black rendering on macOS El Cap with Nvidia GPU. Move sampling of EyeAdaption texture to pixel shader for Mac Metal using shader language version <= 1 only.
Change 3446545 on 2017/05/18 by Chris.Bunner
Removed hardcoded (and unused) MRT write from Decal shaders.
#jira UE-45095
Change 3446568 on 2017/05/18 by Marc.Olano
Sobol and image-based importance sampling C++ functions and blueprint nodes
Change 3446988 on 2017/05/18 by Marc.Olano
Fix build error: missing include
Change 3446990 on 2017/05/18 by Marc.Olano
Cell-indexed Sobol sampling for shaders (in MonteCarlo.usf) and materials (Sobol and TemporalSobol nodes)
Change 3447142 on 2017/05/18 by Rolando.Caloca
DR - RWLock instead of mutex for PSO cache
Change 3447144 on 2017/05/18 by Uriel.Doyon
Moved shading model code to SetGBufferFromShadingModel(). This allows the code to be reused in other shader files.
Change 3447794 on 2017/05/18 by Brian.Karis
Virtual texturing foundation code
Change 3448944 on 2017/05/19 by Arciel.Rekman
Fix non-unity Linux (and Mac, etc) builds.
- Mac fix is tentative, did not try.
Change 3449183 on 2017/05/19 by Marcus.Wassmer
Duplicate fix for reflection captures to happen after sequencer updates.
Change 3449196 on 2017/05/19 by Uriel.Doyon
Handling RCM_MinMax when reading FloatRGBA textures.
This fixes pixel inspector always reading 1 for scene color values greater than one.
Change 3451652 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45245
Change 3451660 on 2017/05/22 by Chris.Bunner
Additional compile fix.
#jira UE-45245
Change 3451897 on 2017/05/22 by Daniel.Wright
Moved RTDF shadow project back after the base pass, since it samples the GBuffer for subsurface shadowing. Removed r.DFShadowAsyncCompute which was relying on the previous ordering.
Change 3452055 on 2017/05/22 by Rolando.Caloca
DR - Switch compile fix
#jira UE-45265
Change 3452089 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45246
Change 3452108 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45246
Change 3452179 on 2017/05/22 by Brian.Karis
Exposed dimensions. Fixed static analysis.
Change 3452734 on 2017/05/22 by Daniel.Wright
When post processing is disabled, TPT_TranslucencyAfterDOF translucency gets forced into the standard translucency pass.
Change 3452770 on 2017/05/22 by Daniel.Wright
Static light source shapes drawn into reflection captures handle SourceLength via scaled sphere
Change 3452861 on 2017/05/22 by Rolando.Caloca
DR - Switch compile fix
Change 3452952 on 2017/05/22 by Brian.Karis
Small VT fixes
Change 3453647 on 2017/05/23 by Richard.Wallis
Fix for tessellation shaders on Mac (Metal v1.2) failing to compile.
#jira UE-45227
Change 3454844 on 2017/05/23 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 on 2017/05/23 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3457131 on 2017/05/24 by Arne.Schober
DR - [UE-45317] - Fix Depthbuffer not available for resolve in Forward mode
#jira UE-45317
#RB Chris.Bunner
Change 3457141 on 2017/05/24 by Marc.Olano
Sobol bug fixes
Change 3457953 on 2017/05/24 by Brian.Karis
Fix static analysis
#jira UE-45315
#jira UE-45314
#jira UE-45313
Change 3459064 on 2017/05/25 by Chris.Bunner
Fix for out of bounds material translation crash.
#jira UE-45406
Change 3459700 on 2017/05/25 by Brian.Karis
Revert using sprite index buffer because the vert order is different.
Change 3459847 on 2017/05/25 by Chris.Bunner
Fixing ensure in RenderTestMap.
[CL 3461201 by Chris Bunner in Main branch]
2017-05-26 08:22:50 -04:00
else if ( ! FCString : : Strcmp ( * Token , TEXT ( " mcpp " ) ) )
{
bUseMCPP = true ;
}
2016-06-08 16:02:23 -04:00
else if ( Token . StartsWith ( TEXT ( " usedoutputs= " ) ) )
{
FString Outputs = Token . RightChop ( 12 ) ;
bIncludeUsedOutputs = true ;
FString LHS , RHS ;
while ( Outputs . Split ( TEXT ( " + " ) , & LHS , & RHS ) )
{
Outputs = RHS ;
UsedOutputs . Add ( LHS ) ;
}
UsedOutputs . Add ( Outputs ) ;
}
2015-12-10 21:55:37 -05:00
}
2016-04-04 18:44:59 -04:00
else
2015-12-10 21:55:37 -05:00
{
2016-04-04 18:44:59 -04:00
if ( InputFile . Len ( ) = = 0 )
{
InputFile = Token ;
}
2015-12-10 21:55:37 -05:00
}
}
FString Dir = FPlatformProcess : : UserTempDir ( ) ;
FShaderCompilerInput Input ;
Input . EntryPointName = Entry ;
Input . ShaderFormat = FormatName ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3511476)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3372740 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3374187 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454636 by Uriel.Doyon
Fixed point light having an extra scale of 16 in mobile
#jira UE-45272
Change 3454844 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3461206 by Guillaume.Abadie
Adds possibility to scene captures and player controller to render no primitives at all.
Change 3461207 by Guillaume.Abadie
Exposes showflag details to USceneCaptureComponent. This gives the possibility to configure scene capture's showflags in blueprint encapsulated compositing pipeline.
#jira UE-6810
Change 3461233 by Chris.Bunner
Added Log10 material expression.
Added tooltip for Log2 and Log10.
Change 3461434 by Michael.Trepka
Copy of CL 3456118
In Metal RHI report texture streaming as immediately successful as on D3D to avoid a race-condition leading to deadlock between the Main, Game, Render & RHI threads.
#jira UE-44961
Change 3461770 by Benjamin.Hyder
Submitting TM-RayTracedDistanceField map
Change 3461929 by Marc.Olano
Add Sobol blueprint and material node test maps to RenderTest project
Change 3462249 by Uriel.Doyon
Translucency after DoF is now disabled when showflag postprocess is disabled.
Change 3462371 by Brian.Karis
VT addressing is now 64bit to support huge sparse virtualized volumes
16bit page tables working.
Change 3462936 by Marc.Olano
Extend Sobol testing map with comparision between Random Sobol and Next Sobol functions
Change 3464394 by Uriel.Doyon
Improved synchronization for texture streaming commands.
This fixes an issue when accessing FStreamingTexture for pending textures.
Change 3464743 by Guillaume.Abadie
Adds .usf file extension on all shader's source file names and adds checks to verify them at engine load time.
Change 3464818 by Guillaume.Abadie
Fixes compilation error in FindShaderRelativePath
Change 3465184 by Daniel.Wright
r.Shadow.PreShadowResolutionFactor 1.0 on Epic shadow settings
Change 3465283 by Marc.Olano
Update Sobol Gray code tables to match random order tables
Change 3465976 by Arne.Schober
DR - [UE-44393] - The Canvas is using the Globalshaders for clearing but compilation is done asynconously at load time. Unfortunately there could be Code that uses a canvas to draw and cause this issue in between. There might be some plugins that do this. For now we need to wait and block for the shaqders to be compiled until we can allo the use of the canvas.
#RB none
Change 3467513 by Guillaume.Abadie
Fixes an issue where primitives would no longer draw in gameplay.
#jira UE-45550
Change 3471116 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms. Merge of CL 3327784 dev-editor stream from Michael Trepka with some extra changes.
- Also removed Metal shader platforms from PlatformSupportsDebugViewShaders() otherwise we get a compiler error. HLSL register binds not implemented in metal backend.
#jira UE-39108
Change 3471117 by Richard.Wallis
Drop down menus clip on 27" Screen iMacs. Disable viewport HDR rendering on macOS 10.12.x when in editor.
#jira UE-43026
Change 3471130 by Richard.Wallis
Mac GPU hang causes editor output log to be written to the wrong file. Try to emulate windows behaviour when opening a file for reading or writing. Tested against behaviour of windows log file with multiple instances running.
- Only defined in for Mac and non shipping.
#jira UE-44934
Change 3471224 by Guillaume.Abadie
Lets the ProjectFileGenerator to look at Shaders/ directories in plugin and game projects.
Change 3471646 by Daniel.Wright
Fixed ensure opening UT system settings
Change 3471862 by Arne.Schober
DR - revert accidently checked in changes.
#RB Chris.Bunner
Change 3472249 by Guillaume.Abadie
Implements virtual shader source directory mapping.
- /Engine/... maps to Engine/Shaders/...
- /Plugin/FooBar/... maps to FooBar plugin's Shaders/ directory
- /Project/... maps to project's Shaders/ directory
Change 3472443 by Daniel.Wright
Moved the Rendering category for lights to be just below the Light category, so the bVisible property is easily accessible
Change 3474537 by Uriel.Doyon
Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)
Change 3475192 by Guillaume.Abadie
Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475209 by Guillaume.Abadie
Back out changelist 3475192
Change 3475252 by Guillaume.Abadie
Reland: Implements LensDistortion engine plugin.
This CL import a polished version of Raven's lens distortion and undistortion from OpenCV parameters:
- It is implemented as the first engine plugin with its own shaders and render thread commands;
- Has feature tests in EngineTest with gold images directly extracted from OpenCV itself (GenerateLensDistortionUndistortReferences.py)
Change 3475389 by Guillaume.Abadie
Adds LensDistortion plugin's feature tests.
Change 3475538 by Guillaume.Abadie
Adds the /Engine/* prefix on all of the renderer's USF file references.
Change 3475568 by Guillaume.Abadie
Adds a check for virtual shader source file path format in FShaderType::FShaderType()
Change 3475871 by Guillaume.Abadie
Fixes a bug in shader compile worker, were an error in a relative #include USF file would trigger an check failure in CheckVirtualShaderFilePath
Change 3475997 by Yujiang.Wang
Workaround for a compiler optimization bug introduced in VS2015 Update 3.
* The bug causes TSHVector<2>::CalcDiffuseTransfer to go to infinity at certain spot, making movable objects with ILCQ_Volume indirect lighting cache interpolation get very dark.
* Debug builds don't exhibit this bug.
* Semantics are exactly the same as the original code.
Change 3476203 by David.Hill
Compute SSAO: problem wiht AmbientOcclusionLevels and with various viewporttest sizes. Only seen when Levels >=2
#jira UE-45741
Change 3476536 by Benjamin.Hyder
adding player start to Ray Traced Distance Field Shadows Map
Change 3478298 by Benjamin.Hyder
disabling mesh distance fields in Tm-Raytraced_DistanceField_Shadows map
Change 3478948 by Rolando.Caloca
DR - Nicer check
Change 3478949 by Rolando.Caloca
DR - Default GPU morphs to enabled
Change 3478950 by Rolando.Caloca
DR - By default -vulkan will launch SM5
Change 3478984 by Rolando.Caloca
DR - Pass down -vulkan
Change 3479655 by Richard.Wallis
Video track does not switch in AVF Media Player. Need to disable unused video tracks to allow AVPlayerItemVideoOutput to decode the required track.
- Minimal change to allow video track changes/selection.
- Audio samples are extracted using AVAssetReaderTrackOutput but video uses AVPlayerItemVideoOutput. Video could also use AVAssetReaderTrackOutput to access the video data unless there is an iOS reason not to...
- Flush the audio sink sample buffers so we get instant audio track changes
#jira UE-39750, UE-39749
Change 3479834 by Rolando.Caloca
DR - Fix issue with bad vertex colors (per licensee)
Change 3480376 by Guillaume.Abadie
Disables ComputeLightGrid() if no volumetric fog and no lighting.
#jira UE-45377
Change 3480596 by Yujiang.Wang
Fix for dynamic shadows and raytraced distance field shadows of directional lights not appearing in planar reflection
* Bug caused by incorrect shadow culling volumes for cascaded shadow map and backface culling mode for WholeSceneShadowProjection
* Fixed by taking View.bReverseCulling into account
#jira UE-34452
Change 3480600 by Yujiang.Wang
Fix for UE-42376
* The bug is caused by post-processing ambient cubemaps not being supported in forward shading currently.
* This fix replaces all the occurences of them in CalcSceneView with a skylight using the cubemap
* If a CalcSceneView is used solely for setting the PP ambient cubemap, it is removed.
#jira UE-42376
Change 3480784 by Rolando.Caloca
DR - hlslcc - Initial support for [RW]StructuredBuffer
Change 3481690 by Uriel.Doyon
Attempt to fix static analysis warning
Change 3482012 by Simon.Tovey
Fixed issue when building distribution lookup tables where the final sample fell short of the max input time.
As sampling is done only over this range, under constant interpolation the final value was never actually sampled and so cut from the final optimized LUT.
#tests constant interpolation now works.
#jira UE-45614
Change 3482965 by Yujiang.Wang
Some quality of life changes for UE-42757
* The UV overlay in static mesh editor now has a darker background
* Selected edges are getting highlighted and bolder
* When some edges are selected others turn grey
#jira UE-42757
Change 3483014 by David.Hill
Change labels on bloom boost from x,y,z to min, max, mult.
#jira UE-43904
a PropertyRedirect in BaseEngine.ini allows this to work with older version.
Change 3484573 by Yujiang.Wang
Fix for shadow color not updated after light build when a texture is changed and reimported
* Bug caused by counter-intuitive design of UMaterial::GetReferencedFunctionIds and UMaterial::GetReferencedParameterCollectionIds, both of which will reset the OutIds parameter
* Renamed to AppendReferencedFunctionIdsTo and AppendReferencedParameterCollectionIdsTo, the resets are removed
#jira UE-45647
Change 3484969 by Yujiang.Wang
Fix for UE-39929 inconsistent type between C++ and shader code
* MeshDistanceFieldCasterIndices is declared as Buffer<uint> in CapsuleShadowShaders.usf, while created as PF_R32_SINT in CapsuleShadowRendering.cpp
* Changed PF_R32_SINT to PF_R32_UINT in CapsuleShadowRendering.cpp
#jira UE-39929
Change 3485012 by Yujiang.Wang
Fix for UE-39929 #2: Changed int32 to uint32 to match PF_R32_UINT
#jira UE-39929
Change 3485146 by Guillaume.Abadie
Destroyes scene capture's view states on the UnRegister, to avoid large memory usage cause by the ViewState's render targets when moving blueprints arround.
#jira UE-43455
Change 3486602 by Joe.Conley
Adding "texcoord" keyword to UMaterialExpressionTextureCoordinate so you can search for the name that is displayed on the node in the graph.
Change 3487471 by Yujiang.Wang
Github #3659: Improved performance of DumpUnbuiltLightInteractions
* Replaced TArrays with TSets
#jira UE-45783
Change 3487641 by Guillaume.Abadie
Fixes some shader file name casing issues in LPV.
Change 3488014 by Uriel.Doyon
New AllowAsyncLoading flag for UTexture::CachePlatformData().
It allows to load the source texture data in the async task if the source bulk data was not yet loaded.
Data loaded that way is not sharable between tasks and will be discarded.
This is required because updating the source data is not thread safe.
#jira UERNDR-190
#jira UE-33401
Change 3488249 by Uriel.Doyon
Fixed long stall in UpdateResourceStreaming() caused by Actor.GetComponents() not resetting the number of actors anymore.
Fixed inconsistent results in ALODActor::HasValidSubActors() caused by the same change.
#jira UE-46004
Change 3490228 by Mark.Satterthwaite
Fix the Nvidia driver bug with the old reversebits fallback function - you need to use the native reverse_bits intrinsic or use some uint(ushort()) casts to get the compiler to do the right thing, which means injecting the reverse_bits function in MetalBackend not the HLSL (as it has no such type).
#jira UE-46067
Change 3490538 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3490551 by Arne.Schober
Back out changelist 3488249
#RB none
Change 3491828 by Guillaume.Abadie
Fixes another USf file reference casing issue in C++.
Change 3491924 by Yujiang.Wang
Fix for UE-43302 Crash when entering the DebugCreatePlayer console command with planar reflections in the level
* Crash caused by check(Views.Num() <= 2); in SceneCaptureRendering.cpp
* We still want to support at most 2 views for performance, but now instead of crash the planar reflections in additional views will simply turn black
#jira UE-43302
Change 3492359 by Guillaume.Abadie
Fixes non editor launches, failing in FGenericPlatformProcess::AddShaderSourceDirectoryMapping().
Change 3492367 by Marc.Olano
Change Sobol texture size to 32x16, tweak distribution
Change 3492599 by Marcus.Wassmer
PR #3669: -Fix logmessages ParticleModules_Location.cpp (Contributed by UpwindSpring01)
Change 3493473 by Uriel.Doyon
Back out changelist 3490538
Change 3493590 by Uriel.Doyon
Back out changelist 3490551
Fixed missing #pragma once
Change 3493911 by Marcus.Wassmer
Fix potential GPU crash/hang caused by out of bound subresource updates.
Added checks at cross-platform level to catch any instance earlier.
Change 3494139 by Uriel.Doyon
Fixed shadow variable issue on UE4Editor Linux.
Change 3494364 by Richard.Wallis
Mac OpenGL Is No Longer Supported - Remove All Code & Shader Platforms - Part 2: Remove some more areas and fixes for previous attempt. Also removed OpenGL based GPU performance checks in EditorEngine.cpp - assuming that any GPU that can run Metal is currently OK for UE4.
OpenGL left in the following areas:
- OpenGLShaderCompiler
- StandaloneRenderer
The following files need to be reviewed in conjunction with CL 3471116 as there were some logic errors made:
- OpenGLTexture.cpp
#jira UE-39108
Change 3494413 by Guillaume.Abadie
Updates r.InvalidateCachedShader and bump ShaderVersion.ush.
Change 3494422 by Guillaume.Abadie
Adds LensDistortion plugin's Private shader directory.
Change 3494717 by Guillaume.Abadie
Strengthens shader compiler with checks on generated file names and shader type file names.
Change 3494763 by Guillaume.Abadie
Removes a nolonger standing TODO in GlobalBeginCompileShader() that was automatically adding /Engine/ prefix to all relative virtual shader source file path.
Change 3494985 by Rolando.Caloca
DR - Integrate Vulkan Rewrite
Change 3495031 by Rolando.Caloca
DR - Delete file as it moved
Change 3495032 by Rolando.Caloca
DR - Show Vulkan SM5 instead of SM4 on windows packaging
- Also added support for Vulkan SM5_UB
Change 3495202 by Uriel.Doyon
Fixed static analysis warning with pointer dereferencing.
Change 3495342 by Rolando.Caloca
DR - clang compile fix
Change 3495354 by Rolando.Caloca
DR - clang compile fixes
Change 3495420 by Marc.Olano
Use Sobol sampling for PCSS
Change 3495799 by Rolando.Caloca
DR - Delete old dev assets
Change 3496202 by Mark.Satterthwaite
Switch to using actual Vector*Matrix intrinsic for Metal to avoid a problem whereby the Metal compiler reorders operations in such a way that it loses precision and ends up being different between pre-pass and base-pass.
#jira UE-46070
Change 3496253 by Uriel.Doyon
Fixed static analysis warning for IncludeTool
Change 3496631 by Guillaume.Abadie
Makes AScreenshotFunctionalTest::ScreenshotOptions blueprint readable.
Change 3496851 by Guillaume.Abadie
Fixes back slash issues in Platform.usf.
Change 3496852 by Guillaume.Abadie
Fixes other back slashes includes in PS4 specific usf files.
Change 3496941 by Guillaume.Abadie
Adds a check() for no backslash in virtual shader file paths.
Change 3497661 by Guillaume.Abadie
Lets FLensDistortionCameraModel::GetUndistortOverscanFactor() early return 1.0 if the camera model is does an identity transform.
Change 3497969 by Richard.Wallis
Fix for start Up Movies Are not Playing for iOS Devices. Handle case when movie is loading aysnc in background - need to wait for state changes otherwise it skips intermediate movies.
- Tested on iOS and Mac.
#jira UE-39585
Change 3498035 by Guillaume.Abadie
Polishes //Engine/Plugins/Compositing/LensDistortion/Shaders/Private/UVGeneration.usf from debuging artifacts.
Change 3498101 by Rolando.Caloca
DR - Compile fix
Change 3498254 by Guillaume.Abadie
Exposes comparing FLensDistortionCameraModel to blueprint with == and != operator nodes for cross frame uv displacement map caching.
Change 3498264 by Guillaume.Abadie
Integrate 3267269: Implements SceneCaptureComponent2D::bCameraCutThisFrame
Change 3498371 by Yujiang.Wang
Fix for UE-46149 Planar Reflections display screenspace info when viewports are >2
* Prevent planar reflections being rendered when ViewIndex >= GMaxPlanarReflectionViews
* Now planar reflections in >2 viewports will fallback to other reflection methods (SSR, reflection captures)
#jira UE-46149
Change 3498409 by Rolando.Caloca
DR - Swap resolves
Change 3498410 by Guillaume.Abadie
Adds support for opacity output alpha for post process material when doing a draw material to render target.
Change 3498705 by Rolando.Caloca
DR - Add UID for debugging mem allocations
Change 3498759 by Marcus.Wassmer
No post processing in vertexcolor view mode
#jira UE-44704
Change 3498891 by Rolando.Caloca
DR - Minor Vulkan per frame allocator refactor in prep for changes
Change 3499206 by Rolando.Caloca
DR - Fix temp frame allocator OOM on Vulkan
#jira UE-45913
Change 3499319 by Rolando.Caloca
DR - Vulkan support for StorageBuffer
Change 3499339 by Rolando.Caloca
DR - Remove deprecated typedef
Change 3499400 by Rolando.Caloca
DR - Remove some RHICmdList deprecated functions
Change 3499422 by Rolando.Caloca
DR - Allow buffer transitions inside render passes
Change 3500370 by Rolando.Caloca
DR - Compile fix
Change 3500474 by Rolando.Caloca
DR - Fix static analysis
Change 3500517 by Guillaume.Abadie
Exposes r.PostProcessing.PropagateAlpha to the renderer settings.
Change 3500537 by Guillaume.Abadie
Fixes a bug where scene capture WorldToView matrix would get scale != 1 when scaling the scene capture actor in the world.
#jira UE-39389
Change 3501069 by Mark.Satterthwaite
Bring back temporary 4.16 fix for iOS 9 (CL #3425995) into Dev-Rendering for 4.17 as a real fix will need to wait for 4.18.
temporary fix for skewed textures on IOS 9
#jira UE-44468
Change 3501164 by Michael.Lentine
PR #3402: UE-43131: Format argument count not equal to actual arguments (Contributed by projectgheist)
Change 3501222 by Benjamin.Hyder
Checking in Tm_SobolNoise map
Change 3501612 by zachary.wilson
Adding testing content for RTDF shadows on planar reflections
Change 3501708 by Guillaume.Abadie
Break FPostProcessSettings into smallers structs.
Change 3501830 by Olaf.Piesche
#jira UE-39628; using fix proposed in UDN, will investigate further
Change 3501954 by Marcus.Wassmer
Duplicate 3480903
Light culling safety measures.
Change 3502032 by Mark.Satterthwaite
Fix generation of Metal precompiled headers for the bytecode compiler when using Xcode 9.
Change 3502118 by Uriel.Doyon
Fixed shader compilation issues.
Change 3502191 by Guillaume.Abadie
Implements Composure plugin to make compositing in UE4 easier.
Change 3502192 by Guillaume.Abadie
Implements Composure feature testing in EngineTests
Change 3502196 by Guillaume.Abadie
Creates a dependency of Composure plugin over LensDistortion plugin.
Change 3502213 by Arciel.Rekman
Fix for loading shaders on Linux (UE-46276).
Change 3502243 by Brian.Karis
Bent normal map support.
Multibounce AO.
Spherical Gaussian based specular occlusion.
Change 3502506 by Guillaume.Abadie
Fixes compilation failure in Composure with unity build.
Change 3502507 by Guillaume.Abadie
Fixes composure Set Pass with Render Target blueprint helper.
Change 3502510 by Guillaume.Abadie
Attempts to fix ComposureUtils.cpp compile errors.
Change 3502515 by Guillaume.Abadie
Some other composure failure fixes.
Change 3502545 by Guillaume.Abadie
Fixes some unity build related error in Composure.
Change 3502548 by Guillaume.Abadie
Fixes last missing includes in ComposurePostProcessPass.cpp
Change 3502672 by Guillaume.Abadie
Fixes linux warning in Composure.
Change 3502790 by Ryan.Brucks
float4 PseudoVolumeTexture: Fixed frame layout being a float instead of float2. Now works correctly with non-square frame layouts. Only called in custom nodes and calling with a float still functions properly so no old content will break.
Change 3502836 by Guillaume.Abadie
Propagates scene capture engine showflag changes from blueprint editor to the blueprint instances.
#jira UE-6810
Change 3503096 by Guillaume.Abadie
Resave a unversioned asset.
Change 3503228 by Yujiang.Wang
Fix for UE-45646 Dynamic Light placed inside of a Dynamic Static Mesh doesn't pass through the geometry
* Bug caused by bReflectiveShadowmap not being passed into SetViewFlagsForShadowPass
* Replaced the true with bReflectiveShadowmap
#jira UE-45646
Change 3503284 by Rolando.Caloca
DR - Fixed initial clear on rendertargets
- Added support for r.Vulkan.EnableValidation 1, 2, 3 & 4
- Dump the vulkan log into VS output log
- Added validation for layouts when using dump log
Change 3503545 by Arciel.Rekman
Fix black UI on Linux (UE-46333)
- Rebuilt hlslcc with clang 3.7.0. Whatever issues we're running in with newer clangs still seem to persist.
#jira UE-46333
Change 3503638 by Daniel.Wright
[Copy] Changed DynamicBentNormalAO back to fp16, as PF_FloatR11G11B10 was not enough precision and introduced banding
Change 3503787 by Marcus.Wassmer
Fix difference between gpu/cpu morph target application
Change 3503902 by Marcus.Wassmer
Roll back TAA refactor until we have time to look into the bad interaction with DOF.
Change 3503953 by Arne.Schober
DR - UE-46319 - borked Reflections: The resource transition needs to be in this weired place for PS4 and switch until we teach the interface to know about subresources.
#RB Marcus.Wassmer
Change 3504131 by Rolando.Caloca
DR - Maintain a cache of pipeline and descriptor set layouts
- Fix marker dump
Change 3504462 by Guillaume.Abadie
Fixes an assertion failure that was failing because compute light grid was not done, but the shader used where not necessarily using compute light grid results.
#jira UE-46277
Change 3504779 by Chris.Bunner
Potential static analysis fix.
#jira UE-46360
Change 3504950 by Marc.Olano
Allow Sobol material nodes & textures only if feature level is at least ES3.1
#jira UE-46334
#jira UE-46317
Change 3505035 by Daniel.Wright
Increased MaxSearchCount in GetShaderIncludes. The previous limit of 20 is now getting hit in BasePassPixelShader.usf, causing compiles to fail erroneously.
Change 3505386 by Daniel.Wright
GetShaderIncludes handles infinite recursion gracefully, needed by Metal causing BasePassTessellation.usf to include BasePassVertexShader.usf
Change 3505491 by Rolando.Caloca
DR - Fix crash on first frame of particles on modern APIs
Change 3505557 by Chris.Bunner
[Duplicate] Workaround for outdated shader map crash.
#jira UE-46061
Change 3506071 by Rolando.Caloca
DR - Vulkan fixes
- Fix copy out of bounds reading textures to CPU
- Defer event deletion
- Split validation for errors and warnings
- Skip validation error about attachment not used
Change 3506698 by Guillaume.Abadie
Fixes Composure alpha channel clobering and performance regression in bloom and tonemapper passes caused by scene capture API compatibility breakage brought by Fortnite merge.
Change 3506797 by Rolando.Caloca
DR - Fix static analysis
#jira UE-46428
Change 3506861 by Rolando.Caloca
DR - Fix crash due to layering violation
#jira UE-46424
#jira UE-46431
Change 3508098 by Rolando.Caloca
DR - Fix for Vulkan ES31 crash
- Fix for AMD ensure
Change 3508123 by Rolando.Caloca
DR - Disable occlusion queries on Vulkan to avoid flickering
- Fix for bad HZB & cube mips on Vulkan (now using RHIGenerateMips)
- Fix for decal blending
#jira UE-46376
Change 3509064 by Uriel.Doyon
Changing the logic arround generating an error when HasHadBulkDataCleared() so that it only triggers if the DDC are not found.
#jira UE-46427
Change 3509854 by Marc.Olano
Fix 2D Sobol gray code numbers.
Just changes some numbers in initialization tables, so no effect on existing tests or content.
Change 3509920 by Marcus.Wassmer
Fix LPV fastvram ensure
Change 3509937 by Rolando.Caloca
DR - Fix crash due to deleted viewport
#jira UE-46281
Change 3509988 by Marcus.Wassmer
Roll back part of Sobol fix to avoid full shader recompile for integration.
Change 3510255 by Rolando.Caloca
DR - Fix popup window ensure
#jira UE-46511
Change 3510646 by Marcus.Wassmer
fix ios compiles
Change 3511442 by Rolando.Caloca
DR - Change mesh simplification check to ensure/checkslow to unblock
#jira UE-46538
DONE!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CHANGES WITH MULTIPLE PLATFORMS!!! YOU MUST COPY THESE INTO THE OTHER ONES AS MAKES SENSE!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Change 3467095 by Guillaume.Abadie
Nukes all += TEXT(".usf")
#jira UE-45530
Change 3475084 by Guillaume.Abadie
Fixes compilation failure of the shader compiler on PS4 and XboxOne
Change 3477464 by Guillaume.Abadie
Fixes dumpshaderinfo that generate unecessary sub directory, breaking shell scripts.
Change 3494395 by Guillaume.Abadie
Moves all engine shader files into Public and Private directory, and introduce the .ush extensions for header file that do not contains entry points.
DONE!
[CL 3511602 by Marcus Wassmer in Main branch]
2017-06-27 11:38:28 -04:00
Input . VirtualSourceFilePath = InputFile ;
2018-09-11 14:44:10 -04:00
Input . Target . Platform = ShaderFormatNameToShaderPlatform ( FormatName ) ;
2015-12-10 21:55:37 -05:00
Input . Target . Frequency = Frequency ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3461187)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3388286 on 2017/04/11 by Chris.Bunner
Fix mips in texture GnmUAV creation.
Change 3388287 on 2017/04/11 by Chris.Bunner
Improved PS/CS code sharing for TemporalAA.
Change 3388291 on 2017/04/11 by Chris.Bunner
HLODs now correctly hide their children in shadow maps.
Propagate bCastFarShadow flag on HLOD generation.
#jira UE-42254
Change 3388448 on 2017/04/11 by Brian.Karis
Better handle divide by zero
Change 3388449 on 2017/04/11 by Brian.Karis
Optimizations to shading model math.
PR #3340: Bug fixes related to shader TODOs (Contributed by vgfx)
Change 3388455 on 2017/04/11 by Uriel.Doyon
Changed Remove for RemoveSwap when clearing dynamic component references
Change 3388612 on 2017/04/11 by Simon.Tourangeau
Support shaders in projects and in plugins
When searching for a shader it will
- First look in Engine/Shaders as usual
- Then in project's Shader folder
- Then in all enabled plugin Shader folders
Project or plugin must be loaded in PostConfigInit phase
Tested in PIE, engine (cooked, packaged)
Change 3388819 on 2017/04/11 by Arne.Schober
DR - Faster MorpthTarget implementation. Changed the previous Gather aproach to a scatter based one. Reaching about 110GB/s on PS4 which is up to 4x faster than the previous implementation. On PC DX11 the impact is lower due to unecessary UAV barriers but still 2x faster on AMD and up to 6x faster on Nvidia Hardware.
#RB Lina.Halper, Rolando.Caloca
Change 3388862 on 2017/04/11 by Guillaume.Abadie
Allows Motion Blur and TAA in scene capture 2d.
Change 3388953 on 2017/04/11 by Uriel.Doyon
Fixed issue where lights from hidden levels where affecting the lighting build, by checking if the light is registered before adding it.
#UE-43220
Change 3389138 on 2017/04/11 by Arne.Schober
DR - Fix crash when opening a Level without Contentbrowser open.
#RB Matt.Kuhlenschmidt
Change 3389400 on 2017/04/11 by Uriel.Doyon
- Renamed FMaterialResource::IsSeparateTranslucencyEnabled() to FMaterialResource::IsTranslucencyAfterDOFEnabled()
- Removed different logic to determine if translucency after DOF was enabled, and centralized it into a single function: FSceneViewFamily::AllowTranslucencyAfterDOF()
- FSceneRenderTargets::FinishRenderingSeparateTranslucency() now only resolves a single view, allowing better Begin/Finish scopes.
- Renamed FSceneRenderTargets::SeparateTranslucencyDepthRT into FSceneRenderTargets::DownsampledTranslucencyDepthRT since this one is only allocated when rendering in downsampled mode.
- Standard translucency is now rendered in the same resolution than translucency after DOF. (downsampled or full resolution)
- Removed RenderTranslucencyParallel and merged it's logic into RenderTranslucency. Renamed DrawAllTranslucencyPasses to RenderViewTranslucency and added a parallel version RenderViewTranslucencyParallel.
- Moved all debug draw logic (VisualizeLPV, ViewMeshElements and SimpleElementCollector) to a common place.
- New option "r.AllowDownsampledStandardTranslucency" to control the downsampling of standard translucency. Affect blend module materials
#jira UE-39505
Change 3389860 on 2017/04/12 by Richard.Wallis
UE-41407 Cable actor does not render correctly in viewport on Mac.
Build the mesh at creation time - call into exisiting mesh create function.
Change 3390933 on 2017/04/12 by Arne.Schober
DR - potential fix for UE-43125 where the this pointer might get invalidated in the middle of the function
#RB Marcus.Wassmer
Change 3391010 on 2017/04/12 by Ben.Marsh
Compile UE4Game non-unity for Mac as part of nightly builds in //UE4/Dev-Rendering.
Change 3391412 on 2017/04/12 by Uriel.Doyon
Mesh Decals are now sorted according to the component TranslucencySortPriority.
#jira UE-43053
Change 3392117 on 2017/04/13 by Guillaume.Abadie
Integrates Raven's experimental PCSS for cascaded shadow map hidden behind a CVar.
Change 3392179 on 2017/04/13 by Guillaume.Abadie
Attempts to fix linux compilation by removing mistakenly submitted dead code.
Change 3392231 on 2017/04/13 by Guillaume.Abadie
Fixes a wrong enum value real quick in FRenderingObjectVersion I introduced after main integration... Oups...
Change 3393879 on 2017/04/14 by Guillaume.Abadie
Attempts to fix linux compilation warning.
Change 3393881 on 2017/04/14 by Guillaume.Abadie
Back out changelist 3393879
Change 3393882 on 2017/04/14 by Guillaume.Abadie
Attempts #2 to fix linux compilation error.
Change 3394100 on 2017/04/14 by Chris.Bunner
Corrected material shared sampler usage with mip-biasing.
Change 3394174 on 2017/04/14 by Rolando.Caloca
DR - Change ensure to warning
Change 3394221 on 2017/04/14 by Marcus.Wassmer
Fix poseable mesh bounds calculation.
Change 3396238 on 2017/04/17 by David.Hill
Fix Bloom with LensFlare
Duplicating fix - will also fix directly in 4.16
#jira 44050
Change 3397055 on 2017/04/17 by Joe.Graf
Fixed Windows specific assumptions in Slate File Dialog Window's file filtering that lead to crashes
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3397921 on 2017/04/18 by Joe.Graf
Rewrote SlateFileDlgWindow's file filtering to allow for extensionless file selection and to remove the O(n^2) file filtering
#CodeReview: arciel.rekman, matt.kuhlenschmidt
#rb: n/a
Change 3398406 on 2017/04/18 by Rolando.Caloca
DR - Fix shaders in plugins on Mac
Change 3399546 on 2017/04/19 by Benjamin.Hyder
Updating content for test levels (HDR, Bloom_FFT, DistanceFields_IndirectShadows)
Change 3399725 on 2017/04/19 by Guillaume.Abadie
Avoids compiling PCSS shaders for SM4.
Change 3400295 on 2017/04/19 by Michael.Trepka
Fixed metal shader compile errors in MorphTargets.usf
Change 3400457 on 2017/04/19 by Michael.Trepka
Merged Rolando's shader fixes
Change 3400473 on 2017/04/19 by Arne.Schober
DR - provide Aftermath Reason when init failed.
#RB none
Change 3400699 on 2017/04/19 by Arne.Schober
DR - Fixed Text macro
#RB none
Change 3402280 on 2017/04/20 by Simon.Tovey
Minor cascade fix
#tests no crash
#jira UE-41560
Change 3402517 on 2017/04/20 by Arne.Schober
DR - Fix static analysis warning
#RB none
Change 3403897 on 2017/04/21 by Arne.Schober
DR - [UE-43898] - Someone missed a shaderversion bump which poisoned the DCC
#RB None
#jira UE-43898
Change 3404591 on 2017/04/21 by Olaf.Piesche
#jira UE-41979
Should never be crashing there, unless the mesh is changed after Init of the effect instance; this change safeguards against the number of mesh sections (and hence materials) changing after creation of the dynamic data to avoid the crash.
Change 3407451 on 2017/04/25 by Daniel.Wright
Fixed Indirect Lighting Cache updates caused by capsule indirect shadows forcing point samples, breaking primitives using ILCQ_Volume
Change 3407452 on 2017/04/25 by Daniel.Wright
Added r.AOJitterConeDirections, although disabled by default because it requires the temporal filter to be much stronger
Change 3408397 on 2017/04/25 by Daniel.Wright
ViewFamily.bRealtimeUpdate is set to false if Slate is throttling (like when toggling show flags). Volumetric fog discards the temporal history when not realtime, so you can see changes immediately.
Change 3408428 on 2017/04/25 by Daniel.Wright
Changed 'r.AOMaxObjectsPerCullTile' default back to 512 as 256 causes artifacts with RTDF shadows
Change 3409764 on 2017/04/26 by Daniel.Wright
Force dumping shader debug info for Global shaders when r.ShaderDevelopmentMode is enabled. Most of the shaders you want to look at in a GPU capture are global shaders, and global shaders create few debug files. 'recompileshaders global' time 35s -> 38s for SM5.
Change 3411659 on 2017/04/27 by Daniel.Wright
[Copy] Set Xbox One engine default screen percentage to 83.33 (1600x900), as ESRAM choices are dependent on this
Change 3411660 on 2017/04/27 by Daniel.Wright
[Copy] Global distance field composite shader has a version for each flattened axis, which improves efficiency when updating a slab which is what camera movement typically causes
Change 3411667 on 2017/04/27 by Daniel.Wright
[Copy] Discard distance field AO history buffer if it doesn't match the new buffer size. This prevents reading uinitialized data after a scene render target resize.
Change 3411668 on 2017/04/27 by Daniel.Wright
[Copy] Better indirect capsule shadow draw event info
Change 3411669 on 2017/04/27 by Daniel.Wright
[Copy] Pass down FeatureLevel to AddSubjectPrimitive and GatherShadowsForPrimitiveInner instead of calling the scene's virtual function. Showed up prominently in a sampling profile.
Change 3411755 on 2017/04/27 by Daniel.Wright
[Copy] Occlusion queries are now always done before the base pass if a nearly full prepass is being used(DDM_AllOccluders or DDM_AllOpaque)
* Removed r.OcclusionQueryLocation
Change 3411827 on 2017/04/27 by Daniel.Wright
[Copy] Much cheaper implementation of IsForwardShadingEnabled which showed up prominently in sampling profiles - inlined function and no more unnecessary thread safety overhead
Change 3411829 on 2017/04/27 by Daniel.Wright
Added an ensure to console manager when doing FindTConsoleVariableData* on a FAutoConsoleVariableRef
Change 3411837 on 2017/04/27 by Daniel.Wright
[Copy] Worked around slow memcpy's being used to sort FSortedLightSceneInfo
Change 3411838 on 2017/04/27 by Daniel.Wright
[Copy] Skip tracking MaterialRenderProxyMap on cooked platforms
Change 3411843 on 2017/04/27 by Daniel.Wright
[Copy] Fixed r.ParallelShadows on PS4 and enabled by default engine-wide (saves 5ms RT with CSM)
* Gnm was not tracking DepthClearValue when a depth target was set but not cleared
* Gnm has a bug where TargetsNeedingEliminateFastClear does not persist across commandlist breaks. Moved FinishRenderingGBuffer before RenderShadowDepthMaps to workaround (accidentally not in this changelist)
* Shadow depth rendering was not using BindClearMRTValues to populate GNM parallel commandlist TargetsNeedingEliminateFastClear values
Change 3411873 on 2017/04/27 by Daniel.Wright
[Copy] Deferred uniform expression caching. Setting multiple parameters on a material only causes its uniform expressions to be recached once.
* 280 calls to CacheUniformExpressions -> 120 during Fortnite combat (6.5ms -> 3.4ms)
Change 3411891 on 2017/04/27 by Daniel.Wright
[Copy] GatherShadowPrimitives optimizations
* Total GatherShadowPrimivies went from 2.3ms -> 1.3ms on PS4 with these changes in GPUPerfTest (duplicated 3x)
* Much flatter primitive octree (16 -> 256 max primitives)
* Primitives are culled against the shadow frustum before FPrimitiveSceneInfo or FPrimitiveSceneProxy are dereferenced in FilterPrimitiveForShadows
* FilterPrimitiveForShadows work is done in a ParallelFor. Primitive octree nodes are processed in different jobs.
* StaticMeshWholeSceneShadowBatchVisibility now only stores entries for meshes with bRequiresPerElementVisibility (landscape). Previously it was allocating and zeroing 500Kb 3x per frame (main view + 2 cascades) which cost ~.8ms on PS4.
Change 3412192 on 2017/04/27 by Michael.Trepka
Fixed Clang compile errors in FortniteGame, partial copy of CL 3313426
Change 3412547 on 2017/04/27 by Daniel.Wright
Fixed leak of FShadowMapAllocation and FLightMapAllocation's found by licensee
Change 3414239 on 2017/04/28 by Arne.Schober
DR - UE-44500 - Removed use of Structured Buffer from MorphTargets due to HLSLCC not supporting it.
#RB none
#jira UE-44500
Change 3414754 on 2017/04/28 by Daniel.Wright
Added VolumetricFogEmissive to ExponentialHeightFogComponent
* Volumetric fog does not yet support precomputed lighting, so this is the only way to get an ambient lighting term
Change 3416859 on 2017/05/01 by Arne.Schober
DR - Remove FeatureLevel from the Clear Functions to reduce area of error
#RB Rolando.Caloca
Change 3420750 on 2017/05/03 by Arne.Schober
DR - [UE-44497] - Fix several PS4 validation layer issues
#RB Marcus.Wassmer
Change 3422869 on 2017/05/04 by Benjamin.Hyder
Fix compile error from merge.
Change 3423938 on 2017/05/04 by Marc.Olano
[UE-44453] Fix bloom problems by moving saturate after vector math
Change 3424494 on 2017/05/04 by Olaf.Piesche
#jira UE-44589
When using FindTCosoleVariableData, the CVar can not be an FAutoConsoleVariable.
#tests as described in jira ticket
Change 3424754 on 2017/05/04 by Uriel.Doyon
Fixed call to get texture compressor module outside the main thread.
#jira UE-42168
Change 3425447 on 2017/05/05 by Uriel.Doyon
#buildfix
Change 3427042 on 2017/05/05 by Arne.Schober
DR - Fix one of my typos
#RB none
Change 3428119 on 2017/05/08 by Marcus.Wassmer
Fix UE-44733
static analysis warning.
Change 3428222 on 2017/05/08 by Uriel.Doyon
Fixed bad condition in translucency rendering
#jira UE-44452
Change 3429794 on 2017/05/08 by Uriel.Doyon
Fixed issues with lightshafts and low res translucency.
#jira UE-44452
Change 3430921 on 2017/05/09 by Rolando.Caloca
DR - Get additional function pointers for D3DReflect, Compile and Disassemble instructions from the same DLL when compiling D3D11 shaders.
- Also fixes using the correct fxc.exe path to match the DLL we distribute.
Change 3431156 on 2017/05/09 by Rolando.Caloca
DR - Remove unused code
Change 3431396 on 2017/05/09 by David.Hill
Copy of changes made directly in 4.16 ( CL 341037 )
to be submitted to dev-rendering
#jira UE-44641
Change 3431400 on 2017/05/09 by Rolando.Caloca
DR - Fix typo
Change 3431527 on 2017/05/09 by David.Hill
#rb: none
Oops.
comment out r.ShaderDevelopmentMode =1
Change 3431590 on 2017/05/09 by Daniel.Wright
Removed early return landmine in USceneCaptureComponent2D::Serialize
Change 3431591 on 2017/05/09 by Daniel.Wright
Disallow map building while in PIE, or PIE while buildling lighting
Change 3431594 on 2017/05/09 by Daniel.Wright
Added RenderTargetFormat to UTextureRenderTarget2D, with choices of 8 bit, 16fp, 32fp and 1, 2 or 4 channels.
Change 3431667 on 2017/05/09 by Daniel.Wright
Volumetric fog now supersamples lighting when the history is not available, reducing noise on areas that just came on-screen or after a camera cut.
* The number of samples is controlled by r.VolumetricFog.HistoryMissSupersampleCount, defaults to 4, cinematic scalability uses 16
* Under fast camera movement, volumetric fog cost went from 1.79ms -> 1.97ms with 4 samples, on a 970GTX
Change 3432366 on 2017/05/10 by Richard.Wallis
Fix for MetalRHI Asserts When Using "Profile GPU" With RHI-Thread/Parallel-Execution. Don't insert events when not in RHIThread or the actual single-threaded-render thread.
#jira UE-36006
Change 3432367 on 2017/05/10 by Richard.Wallis
Fix for Metal ReStartRenderPass assert with profiling. macOS metal asserts when using "profileGPU" even with -norhithread argument set.
Added no action to the allowed render pass restart store actions for the depth buffer avoiding the assert. Interested to know the details if this is not a valid assumption to make - throwing away the depth buffer after a render pass I think would be a common case.
#jira UE-44322
Change 3432409 on 2017/05/10 by Richard.Wallis
Merged across CL 3415890 from Release-4.16 fix for (jira UE-43895)
Fix for deferred store actions getting cleared when we don't have a valid render target.
Change 3432833 on 2017/05/10 by Daniel.Wright
Fixed Ocean compile error
Change 3432874 on 2017/05/10 by Marc.Olano
Improved captions for Noise and VectorNoise material nodes
Change 3432947 on 2017/05/10 by Richard.Wallis
Fix for shared Material Native Shader Libraries Don't Function With Iterative Cooking. Keep latest versions of shader byte code in native shared material packaged build in an intermediate directory than can be reused on a later iterative cook.
- Doesn't handle deletion of the intermediate directory contents. Assumed to be a higher level requirement on non iterative cook flag.
#jira UE-44657
Change 3433484 on 2017/05/10 by Arne.Schober
DR - UE-44393 - Move ShaderPlatform into TShaderMap for extra debuginformation when it fails to find a proper shader. Also log when Gobalshaders are verified and recompiled.
#jira UE-44393
#RB Daniel.Wright
Change 3433515 on 2017/05/10 by Arne.Schober
DR - Fix a bug where recompileshaders changed while compiling causes a crash where the chached local vertex factories are mutated while been used.
#RB Daniel.Wright
Change 3433606 on 2017/05/10 by Daniel.Wright
Fixed static shadowing of volumetric fog and translucency causing shadowing past the lightmass importance volume.
Change 3433619 on 2017/05/10 by Daniel.Wright
Skip recapturing reflection captures when PropagateLightingScenarioChange is being called for a level unload. This leaves stale results in reflection captures around when hiding a level in the editor, but avoids the double recapture that happens when swapping lighting scenarios in game, and the unnecessary reflection capture update when exiting PIE.
Change 3433795 on 2017/05/10 by Arne.Schober
DR - add cmdline to select a GPU vendor when multiple GPUs from differnt Vendors are installed into the same Machine
#RB marcus.Wassmer
Change 3433941 on 2017/05/10 by Daniel.Wright
Cone vs tile bounding sphere intersection tests for Light Grid culling of spotlights, which provides much tighter culling than just View space tile AABB vs light bounding sphere.
* Forward shading BasePass 3.7ms -> 2.4ms in a scene with 24 spotlights on 970GTX
* Volumetric fog 2.87ms -> 2.09ms in the same scene
Change 3435139 on 2017/05/11 by Daniel.Wright
Restored GTextureRenderTarget2DMaxSizeX which is used by Ocean
Change 3435297 on 2017/05/11 by Arne.Schober
DR - Remove manual AlignOf and use C++11 keyword instead
#RB Steve.Robb
Change 3435367 on 2017/05/11 by Daniel.Wright
Circle vertex buffer for slightly tighter voxelization of volumetric fog shadowed lights
* 1.5ms -> 1.38ms on 970 GTX with 24 spotlights
Change 3435522 on 2017/05/11 by Brian.Karis
Dither opacity mask now stacks properly for non parallel polys. Dither is randomized by triangle normal.
Change 3436063 on 2017/05/11 by Daniel.Wright
Disabled CLB_AggressiveBatching for PC d3d12 as it causes flickering artifacts in lighting
Change 3436269 on 2017/05/11 by Uriel.Doyon
Fixed UVChannel data possibly not up-to-date depending on user manips.
Change 3436611 on 2017/05/12 by Simon.Tovey
Improved name and tooltip for static mesh property controlling generation of alias tables for uniform sampling.
Change 3436676 on 2017/05/12 by Simon.Tovey
Fix for fixed bounds being "invalid" unless set via the toolbar option.
Change 3436700 on 2017/05/12 by Simon.Tovey
Crash fix.
Issue found in https://udn.unrealengine.com/questions/355944/crash-in-fdynamicspriteemitterdatagetdynamicmeshel.html
Particle proxies would have stale material resource pointers if the material is changed while the system was invisible.
If the old material is freed during this time, the next time the system renders it will crash.
Change 3437367 on 2017/05/12 by Brian.Karis
Fixed bug with small UV charts not packing.
Change 3437860 on 2017/05/12 by Arne.Schober
DR - Fix alignment compile error in win32 where according to ABI alignment is 4 for int64
#RB none
Change 3437972 on 2017/05/12 by Arne.Schober
DR - Fix alignment compile error in win32 where according to ABI function calls cannot take alingned structures. In all of the cases the copy was completely unnecessary.
#RB none
Change 3437975 on 2017/05/12 by Chris.Bunner
Added calculation for MaterialParamsEx to MeshDecals.usf.
#jira UE-43052
Change 3438109 on 2017/05/12 by Rolando.Caloca
DR - Support for -nomcpp on SCW
Change 3438889 on 2017/05/15 by Chris.Bunner
Nullptr check in a few material uniform expressions.
Change 3439351 on 2017/05/15 by Chris.Bunner
Added tooltip to Power material expression.
Change 3439763 on 2017/05/15 by Daniel.Wright
Apply passed in DistanceBiasSqr to line lights - allows volumetric fog to reduce aliasing on line lights
Change 3439764 on 2017/05/15 by Daniel.Wright
Fixed order of operations with bTreatMaxDepthUnshadowed - manifested as unfiltered static shadow depth lookups
Change 3440722 on 2017/05/16 by Guillaume.Abadie
Exposes Scene capture's FOV to blueprints
Change 3441680 on 2017/05/16 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3441884 on 2017/05/16 by Uriel.Doyon
Fixed StreamingDistanceMultiplier not being applied to the texture streaming data.
Change 3442800 on 2017/05/17 by Gil.Gribb
Fixed botched merge.
Change 3442896 on 2017/05/17 by Gil.Gribb
UE4 - Allowed the possibility of running the RHI "thread" on task threads instead and cleaned up and unified the conditionals involved. By default we still have a dedicated RHI thread because it tested slightly faster.
Change 3443951 on 2017/05/17 by Richard.Wallis
Added Apple override allocator macro - each command encoder type needs it's own allocator queue.
Change 3444787 on 2017/05/17 by Daniel.Wright
Fixed DBuffer decal default normal (used when DBuffer decals enabled, but not decals rendered) not reconstructing zero properly, adding -.008 to WorldNormal which then caused artifacts with forward lighting specular on materials with roughness near 0.
Change 3444882 on 2017/05/17 by Daniel.Wright
Added comment to FClearValueBinding::DefaultNormal8Bit to make the dependency on shader decode clear
Change 3444883 on 2017/05/17 by Brian.Karis
Improved contact shadows
Change 3445048 on 2017/05/17 by Daniel.Wright
Fixed particle lights in forward shading, they were not setting the lighting channel mask properly
Change 3445107 on 2017/05/17 by Michael.Trepka
Changed the order of operations in FMetalStateCache::SetRenderState to work around an issue with some Intel drivers where they would not recalculate the raster state in some edge cases.
#jira UE-43725
Change 3445212 on 2017/05/17 by Uriel.Doyon
Added a -CSV option to ListTextures command
Change 3445947 on 2017/05/18 by Richard.Wallis
Clone of Release-4.16 Stream CL 3437181 and CL 3442450 - fix(s) for black rendering on macOS El Cap with Nvidia GPU. Move sampling of EyeAdaption texture to pixel shader for Mac Metal using shader language version <= 1 only.
Change 3446545 on 2017/05/18 by Chris.Bunner
Removed hardcoded (and unused) MRT write from Decal shaders.
#jira UE-45095
Change 3446568 on 2017/05/18 by Marc.Olano
Sobol and image-based importance sampling C++ functions and blueprint nodes
Change 3446988 on 2017/05/18 by Marc.Olano
Fix build error: missing include
Change 3446990 on 2017/05/18 by Marc.Olano
Cell-indexed Sobol sampling for shaders (in MonteCarlo.usf) and materials (Sobol and TemporalSobol nodes)
Change 3447142 on 2017/05/18 by Rolando.Caloca
DR - RWLock instead of mutex for PSO cache
Change 3447144 on 2017/05/18 by Uriel.Doyon
Moved shading model code to SetGBufferFromShadingModel(). This allows the code to be reused in other shader files.
Change 3447794 on 2017/05/18 by Brian.Karis
Virtual texturing foundation code
Change 3448944 on 2017/05/19 by Arciel.Rekman
Fix non-unity Linux (and Mac, etc) builds.
- Mac fix is tentative, did not try.
Change 3449183 on 2017/05/19 by Marcus.Wassmer
Duplicate fix for reflection captures to happen after sequencer updates.
Change 3449196 on 2017/05/19 by Uriel.Doyon
Handling RCM_MinMax when reading FloatRGBA textures.
This fixes pixel inspector always reading 1 for scene color values greater than one.
Change 3451652 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45245
Change 3451660 on 2017/05/22 by Chris.Bunner
Additional compile fix.
#jira UE-45245
Change 3451897 on 2017/05/22 by Daniel.Wright
Moved RTDF shadow project back after the base pass, since it samples the GBuffer for subsurface shadowing. Removed r.DFShadowAsyncCompute which was relying on the previous ordering.
Change 3452055 on 2017/05/22 by Rolando.Caloca
DR - Switch compile fix
#jira UE-45265
Change 3452089 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45246
Change 3452108 on 2017/05/22 by Rolando.Caloca
DR - Compile fix
#jira UE-45246
Change 3452179 on 2017/05/22 by Brian.Karis
Exposed dimensions. Fixed static analysis.
Change 3452734 on 2017/05/22 by Daniel.Wright
When post processing is disabled, TPT_TranslucencyAfterDOF translucency gets forced into the standard translucency pass.
Change 3452770 on 2017/05/22 by Daniel.Wright
Static light source shapes drawn into reflection captures handle SourceLength via scaled sphere
Change 3452861 on 2017/05/22 by Rolando.Caloca
DR - Switch compile fix
Change 3452952 on 2017/05/22 by Brian.Karis
Small VT fixes
Change 3453647 on 2017/05/23 by Richard.Wallis
Fix for tessellation shaders on Mac (Metal v1.2) failing to compile.
#jira UE-45227
Change 3454844 on 2017/05/23 by Uriel.Doyon
Fixed extra X16 on some point lights
#jira UE-45250
Change 3454934 on 2017/05/23 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3457131 on 2017/05/24 by Arne.Schober
DR - [UE-45317] - Fix Depthbuffer not available for resolve in Forward mode
#jira UE-45317
#RB Chris.Bunner
Change 3457141 on 2017/05/24 by Marc.Olano
Sobol bug fixes
Change 3457953 on 2017/05/24 by Brian.Karis
Fix static analysis
#jira UE-45315
#jira UE-45314
#jira UE-45313
Change 3459064 on 2017/05/25 by Chris.Bunner
Fix for out of bounds material translation crash.
#jira UE-45406
Change 3459700 on 2017/05/25 by Brian.Karis
Revert using sprite index buffer because the vert order is different.
Change 3459847 on 2017/05/25 by Chris.Bunner
Fixing ensure in RenderTestMap.
[CL 3461201 by Chris Bunner in Main branch]
2017-05-26 08:22:50 -04:00
Input . bSkipPreprocessedCache = ! bUseMCPP ;
2015-12-10 21:55:37 -05:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
uint32 ResourceIndex = 0 ;
auto AddResourceTableEntry = [ & ResourceIndex ] ( TMap < FString , FResourceTableEntry > & Map , const FString & Name , const FString & UBName , int32 Type )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
{
FResourceTableEntry LambdaEntry ;
LambdaEntry . UniformBufferName = UBName ;
LambdaEntry . Type = Type ;
LambdaEntry . ResourceIndex = ResourceIndex ;
Map . Add ( Name , LambdaEntry ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
+ + ResourceIndex ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
} ;
2021-11-07 23:43:01 -05:00
Input . Environment . CompilerFlags = FShaderCompilerFlags ( CFlags ) ;
2016-06-08 16:02:23 -04:00
2016-04-04 18:44:59 -04:00
Input . bCompilingForShaderPipeline = bPipeline ;
2016-06-08 16:02:23 -04:00
Input . bIncludeUsedOutputs = bIncludeUsedOutputs ;
Input . UsedOutputs = UsedOutputs ;
2016-04-04 18:44:59 -04:00
2015-12-10 21:55:37 -05:00
FShaderCompilerOutput Output ;
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 4362408)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 4125165 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4124306 to //UE4/Dev-Console/...
Change 4136060 by Marcin.Undak
Editor: fixed device unclaiming
#jira UE-58464
Change 4190321 by Marcin.Undak
Linux: fixes for automation and RecordPerformance
#jira UE-61053
Change 4199010 by Marcin.Undak
Linux: remove unnecessary -g option
Change 4201876 by Marcin.Undak
First implementation of WebM media player for Windows and Linux
Change 4201922 by Marcin.Undak
Whitelisted WebMem plugin only for Windows and Linux
Change 4202203 by Marcin.Undak
WebM build fixes
Change 4223102 by Marcin.Undak
Vulkan: console commands for testing device lost
#jira UE-61789
Change 4225028 by Marcin.Undak
WebMMedia: disabled on Linux until fixed compilation issues
Change 4231444 by David.Harvey
UI - Fixing where the virtual cursor renders. It doesn't correctly take into account DPI scale, which isn't apparent except on the Xbox One.
Integrate as edit from CL 4166648.
#jira UE-62115
Change 4233057 by Marcin.Undak
TestPAL: added new test for string allocation size
Change 4234649 by Marcin.Undak
Linux: switched linux plaform to 16bit wide strings
Change 4235253 by Marcin.Undak
TestPAL: compilation fix for platforms that don't use DirectoryWatcher
Change 4235477 by Marcin.Undak
Linux: re-enabled WebMMedia plugin
Change 4242242 by Marcin.Undak
WebMMediaPlayer: implemented proper format retrieving. MediaFrameworkTest now works.
Change 4243321 by Marcin.Undak
WebMPlayer: static code analisys fix
Change 4243505 by Marcin.Undak
MediaFrameworkTest: added WebM video for testing
Change 4244646 by Marcin.Undak
WebMMedia: improved concurrency
Change 4244735 by Arciel.Rekman
Vulkan: skip unnecessary transitions properly (UE-62348, merge).
(Edigrating CL 4244274 from Release-4.20)
Change 4246685 by Arciel.Rekman
PhysX: remove Cygwin from %PATH% on Windows as it confuses CMake (UE-62326).
Change 4247808 by Marcin.Undak
WebMMediaPlayer: added support for seeking
Change 4254841 by Marcin.Undak
WebM: module dependencies fix
Change 4255124 by laz.matech
Updated UMG_AllPaletterWidgets' combo box to include options so that when selected, the dropdown presents 2 options instead of it appearing like it is broken
#jira none
Change 4256415 by Marcin.Undak
WebM: added missing editor module
Change 4256716 by Arciel.Rekman
Make SetReuseAddr() also set SO_REUSEPORT where available (UE-57076).
- Pull request #4617 by malavon.
#jira UE-57076
Change 4266049 by Marcin.Undak
Linux: UnrealLightmass and CrashReportClient compilation fixes
#jira UE-62521
#jira UE-62522
Change 4266678 by Arciel.Rekman
Merge speculative commit to get aligned pointer on mmap().
(Edigrating CL 4225330)
Change 4267998 by Anthony.Bills
Fix DBufferC clear color due to bad merge.
#jira UE-62649
Change 4269441 by Marcin.Undak
GenericPlatformStrings::VarArgs() implemented %-*s, %lu, %z, %h formatting
#jira UE-62582
Change 4269712 by Marcin.Undak
WebMMediaPlayer: removed LibSimpleWebM
Change 4272849 by Marcin.Undak
WebMMediaPlayer: fixed re-initialisation
Change 4277931 by Arciel.Rekman
Linux: switch to Vulkan by default (UE-62807).
- Default behavior: attempt Vulkan first, but in case of failure instead of quitting silently fall back to GL, unless -vulkan is passed.
- Forcing GL is still possible.
Change 4277965 by Arciel.Rekman
Fix standalone applications after the Vulkan switch.
Change 4277968 by Arciel.Rekman
Linux: make CrashReportClient headful (UE-14089).
- The -unattended flags keep even a headful CRC usable on the servers.
- ldd did not change. Need to check Localization stuff to see if there are any deployment concerns.
#jira UE-14089
Change 4279402 by Arciel.Rekman
Merge from 4.20.1: Vulkan: log validation errors. Also fix handling of some message types (UE-62628).
(Edigrating 4273516 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)
Change 4279992 by Marcin.Undak
Linux: fix SlateViewer compilation
#jira UE-62831
Change 4285613 by Arciel.Rekman
Vulkan: fix mismatched layout.
- I tested with RecordPerformance on InfiltratorDemo and haven't found any impact.
Change 4285622 by Arciel.Rekman
Merged from 4.20.2: Linux: do not refuse to start if system limits cannot be raised (UE-62515).
- Too aggressive behavior, which can break cooking for no valid reason.
- If a commandline argument is used, the engine will still treat inability to raise the limits as an error.
(Edigrating 4273547 from //UE4/Release-4.20/... to //UE4/Dev-Console/...)
Change 4293083 by Arciel.Rekman
Merging //UE4/Main@4291654 to //UE4/Dev-Console
Change 4295297 by Marcin.Undak
Vulkan: temporary disable generic pipeline cache saving to prevent crashes
#jira UE-62848
Change 4300191 by Arciel.Rekman
Delete files added under lowercase directories.
Change 4300211 by Arciel.Rekman
Re-add files deleted in previous commit under camel-cased paths.
Change 4300895 by Arciel.Rekman
Linux: fix editor build
Change 4303543 by Ben.Marsh
Fix compile error for FortGPUTestBed.
Change 4305659 by Marcin.Undak
[Vulkan][Engine] Update the Vulkan RHI to obey r.VSync (and the vsync and novsync command-line arguments).
Change 4222769 by Jason.Stewart@Jason.Stewart_AMD_Dev_Rendering_threadripper-win10 on 2018/07/19 10:55:48
The original implementation ran into a latent thread hazard between the RHI thread and the rendering thread, where the rendering thread would try to use the backbuffer of the swap chain while the swap chain was being recreated (specifically after the swap chain recreation code had released and nulled out the back buffer, but before swap chain creation had actually happened to get a new back buffer). This implementation addresses that issue.
This is Tim's code. I'm just submitting it as Tim is currently out of office.
Change 4305661 by Marcin.Undak
Moved libwebm and libvpx inside WebMMediaPlayer directory
Change 4308659 by Marcin.Undak
Linux: fixed LLDB visualizers
#jira UE-52619
Change 4313650 by Marcin.Undak
WebMMediaPlayer: implemented looping
Change 4321713 by David.Harvey
removed hard-coded platform labels from device output log window in favour of ITargetPlatform::SupportsFeature + updated editor tooltip with correct platform list.
https://ec-01.epicgames.net/commander/link/jobDetails/jobs/8641984?
Change 4321942 by Brandon.Schaefer
Linux: Use the Target RHI list as the default ordering for which RHI is prefered
Also update the RHI list in the project settings for our default list
#jira UE-59487
#review-4316134 @Arciel.Rekman
Change 4322230 by Brandon.Schaefer
Treat %lf as %f in GenericWidePlatformString
#jira UE-62582
Change 4322392 by Brandon.Schaefer
Make sure our fmt size is large enough to check indexes
#jira none
Change 4322895 by Brandon.Schaefer
Actually get the current size of Src as it could have been moved down
#jira none
Change 4327866 by Brandon.Schaefer
Linux: Tell the platform misc what RHI we are using
#jira none
Change 4328926 by Brandon.Schaefer
Linux: Add haptic support for controllers
Github PR #4167 (thanks maiself!)
#jira UE-51681
Change 4328963 by Arciel.Rekman
TestPAL: improve the test by randomizing allocation size.
- The range will no longer be constrained to <=128KB at once, allocations can be as big as 16MB but they will unevenly distributed, with smaller sizes being more frequent.
Change 4329208 by Arciel.Rekman
hlslcc: suppressed benign compiler warning during the Linux build (UE-43988).
Change 4329283 by Arciel.Rekman
Linux: replace CachedOSPageAllocator with PooledVirtualMemoryAllocator for Linux.
For the explanation of FPooledVirtualMemoryAllocator, see PooledVirtualMemoryAllocator.h
For the details, test data and comparisons, message Arciel Rekman.
Relevant command line args added:
-vmapoolscale=<float> (defaults to 1.4)
-vmapoolevict
-novmapoolevict
By default, freed memory will not be evicted from RAM (unless running on a server)
Also changed:
- Removed the fixed-size pool previously used by Linux (and supporting machinery like scaling it on start)
- Replaced the way we manage free blocks from pointers to a bitmap to reduce memory footprint.
Change 4331946 by Luke.Thatcher
[CONSOLE] [^] (merging CL 4162064) Implement new thread heart beat clock to solve the suspend/resume problem across all platforms.
- The hang and hitch detectors now maintain their own clocks which are ticked by their respective threads.
- If the title is suspended, the ticking thread will stop and the clock will stop advancing. On resume, the maximum delta in the clock is clamped to a small value, so we ignore all the time the thread was not ticking for (i.e. the duration of the title being suspended).
- As such, we don't need any logic for handling PLM suspend/resume in the hang and hitch detectors, so this change removes that too.
#jira FORT-96886
Change 4331973 by Luke.Thatcher
[CONSOLE] [^] (merging CL 4183499) Add frame-present-based hang detection.
- RHIs call FThreadHeartBeat::PresentFrame() whenever they present a frame to the swap chain.
- These calls form a separate heartbeat from the thread-based ones, allowing the hang detector to fire if, for example, the game thread is stuck in an async loading loop and is ticking the game thread heartbeat, but making no progress.
- Also refactored ThreadHeartBeat.cpp to move hang detection logging into a FORCENOINLINE function. This will put OnHang and OnPresentHang at the top of the callstack in retail crash dumps, making the bucketing easier to recognise.
Change 4332200 by Luke.Thatcher
[CONSOLE] [+] (merging CL 4227517) Add PlatformDebugData to FShaderResource.
- We can use this to store platform specific shader symbols etc. The data gets serialized to the DDC and can be retrieved during a cook.
- Data is entirely discarded in cooked builds, and is a no-op on platforms which don't implement support for shader debug data.
- Bumped shader version to invalidate DDC keys.
Change 4332407 by Luke.Thatcher
[CONSOLE] [CORE] [!] (merging CL 4279686) Fixed unaligned integer load macro inconsistencies.
- Renamed PLATFORM_SUPPORTS_UNALIGNED_INT_LOADS to PLATFORM_SUPPORTS_UNALIGNED_LOADS
- Merged it with REQUIRES_ALIGNED_ACCESS and REQUIRES_ALIGNED_INT_ACCESS
- Fixed Linux platform which had both the old macros defined to 1, which is wrong because they are mutually exclusive.
Change 4333386 by Luke.Thatcher
[CONSOLE] [!] (merging CL 4317367) Fix compile error in AnimationCompression.h
Change 4334395 by Arciel.Rekman
Corrected PLATFORM_DESKTOP definition.
Change 4336190 by Anthony.Bills
(Original CL4314280) Use the debug file writer when using framepro. This buffers more data which should reduce stalls when writing out on certain platforms.
#jira none
Change 4336291 by Anthony.Bills
Use a clamped local clock when timing out the renderthread.
- This prevents suspend and resume issues on platforms where suspend events may not occur or the system clock is not set to the process time.
#jira none
Change 4336292 by Anthony.Bills
(Orignal CL 4195778) Fix printing of the hang detector multiplier and other logging.
"f" is the correct format specifier for a double.
#jira none
Change 4336307 by Anthony.Bills
(Orignal CL 4257875) Use the correct clock when printing the scoped hitch stat.
- Needs to be the internal FGameThreadHitchHeartBeat clock incase FPlatformTime::Seconds becomes out of sync with FrameStartTime.
#jira none
Change 4336321 by Anthony.Bills
(Original CL 4258186) Add GetNoInit function to FGameThreadHitchHeartBeat.
#jira none
Change 4336397 by Anthony.Bills
Fix redefinition of macro.
#jira none
Change 4336738 by Brandon.Schaefer
Linux: Add options for ASan, TSan, and UBSan
#jira UE-62784 UE-62803 UE-62804
Change 4336791 by Brandon.Schaefer
Linux: Add missing xml comments
#jira none
Change 4336957 by Joe.Barnes
Integrate as edit CL#4218145:
Convert some of our Vector macros to inline functions as thier names class with 3rd party functions.
#jira ue-61733
Change 4338228 by Arciel.Rekman
Switch to v12 Linux cross-toolchain (UE-63589).
#jira UE-63589
Change 4339195 by Ben.Woodhouse
Integrate-as-edit latest CSV profiler changes up to CL 4292187
Change 4339237 by Ben.Woodhouse
Integrate-as-edit CL 4226269
Add support for extern GPU stats, so we can use one stat across multiple CPPs
Fix the Forward rendering GPUProjection stat
Change 4339239 by Ben.Woodhouse
Integrate-as-edit CL 4292520
Support different sized buffers for FArchiveFileWriterGeneric per-platform so we can tune per-platform as needed.
No changes to existing defaults values of 1KB for read, 4KB for write:
#define PLATFORM_FILE_READER_BUFFER_SIZE 1024
#define PLATFORM_FILE_WRITER_BUFFER_SIZE 4096
#define PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE 4096
Change 4339241 by Ben.Woodhouse
Integrate-as-edit CL 4210462
Comment out an assert while I investigate properly (doesn't appear to be fatal)
Change 4339265 by Anthony.Bills
[Linux] Fix ContainerBuildThirdParty.sh to pick the first default interface.
#jira none
Change 4339274 by Anthony.Bills
[Linux] Cache the bundled toolchain when using git builds.
- Also will not attempt to download the toolchain if AutoSDK or Multiarch root are specified.
#jira UE-63394
Change 4339623 by Anthony.Bills
[Linux] Update native toolchain buildscript to support clang 6.0.1
- Main issue was due to libxml2 as an extra dependency of some test libraries, so needs to be disabled via DLLVM_ENABLE_LIBXML2.
#jira UE-63588
Change 4339685 by Anthony.Bills
[Linux] Update toolchain setup script to download v12 when it is available.
#jira UE-63588
Change 4339833 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4339548 to //UE4/Dev-Console/...
Change 4339843 by Ben.Woodhouse
Attempt to fix a weird possible bad merge issue
Change 4339890 by Ben.Woodhouse
Fix a build issue
#jira nojira
Change 4340314 by Anthony.Bills
Fix mesh decal rendering when write mask is enabled and no deferred decals are in the scene.
#jira UE-55159
Change 4341099 by Marcin.Undak
Mediashader fix
#jira UE-63650
Change 4341106 by Marcin.Undak
QAGame: added MediaPlayer for Linux test
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341107 by Marcin.Undak
WebMMediaPlayer: blacklist all not supported platforms
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341110 by Marcin.Undak
WebMMediaPlayer: enable for Unix platforms
#jira UE-59667
#jira UE-62775
#jira UE-62780
Change 4341804 by Luke.Thatcher
[CONSOLE] [!] Fix memory scribble in black depth texture cube on platforms with 16-bit depth.
- Original code was writing a FColor into the locked texture data, which causes a 2 byte scribble if the PF_ShadowDepth format is 16-bits.
[!] Also fixed GWhiteTextureCube being black. FColor::White is not a compile-time constant, so an initialization order problem meant the value of FColor::White is actually black when the GWhiteTextureCube constructor runs.
#jira none
Change 4342244 by Anthony.Bills
[Linux] Allow restarting the crashed application from the crash report client
#jira UE-62903
Change 4342636 by Brandon.Schaefer
Linux: Update LLVM libc++.a libc++abi.a with version 6.0.1
#jira UE-63587
Change 4343420 by Marcin.Undak
Fixed assert in console
#jira UE-63643
Change 4345166 by Luke.Thatcher
[CONSOLE] [!] (merging CL 4345072) Fix initialization order bug with FColor and FLinearColor constants.
- The original constants were dynamically initialized during startup. Using these constants from other global constructors may result in getting the wrong value (transparent black) if a given constructor runs before FColor/FLinearColor's constructor.
- Adding constexpr to the FColor/FLinearColor constructor makes these constants known at compile-time, and included in the readonly data section, so they don't require dynamic initialization.
[~] Also restores the original constant color values in RenderUtils.cpp
#jira none
Change 4345860 by Arciel.Rekman
Make StompMalloc return 16-byte aligned memory on 64 bit platforms (UE-63743).
#jira UE-63743
(Edigrating 4345734 from Release-4.20)
Change 4345950 by Brandon.Schaefer
Linux: Remove libelf/libdwarf fallback for symbolicating symbols during a crash
#jira UE-63103
Change 4350249 by David.Harvey
helper function to retrieve an LLM tag's name, including platform tags.
Change 4351184 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4348973 to //UE4/Dev-Console/...
Change 4351593 by Ben.Woodhouse
Clean up aggressive batching (remove xbox specific #if and //TODO)
#jira UE-46780
Change 4351734 by James.Cobbett
Setting TM-ShaderModels_Niagara to always load
Change 4351984 by Marcin.Undak
QAGame: restored platform media source in TM-ShaderModels map
Change 4353508 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4353110 to //UE4/Dev-Console/...
Change 4354237 by Anthony.Bills
[Linux] Fix Linux compilation issues due to change over to TCHAR being char16_t.
#jira UE-63544
Change 4354334 by Anthony.Bills
[Linux] (Missing file from CL 4354237) Fix Linux compilation issues due to change over to TCHAR being char16_t.
#jira UE-63544
Change 4355994 by Brandon.Schaefer
Linux: Agree not Agreed
#jira UE-63937
Change 4356068 by Joe.Barnes
Replace a duplicate DEFINE_EXPRESSION_NODE_TYPE(bool,...) causing errors with iOS unity build compiles. Remove version in ExpressionParser.cpp and include TextFilterExpressionEvaluator.h.
#jira ue-63877
Change 4357726 by David.Harvey
[iOS] add clean support for device output log, after catchup.
#jira none
Change 4357724 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4357176 to //UE4/Dev-Console/...
Change 4359634 by Ben.Woodhouse
[INTEGRATE] Integrate from //UE4/Main/...@4359072 to //UE4/Dev-Console/...
Change 4359958 by Ben.Woodhouse
Fix FortGPUTestbed merge issues via p4 copy (content files didn't get moved before for some reason)
Change 4361108 by Anthony.Bills
Fix webm deprecation issues with DrawPrimitiveUp.
#jira UE-64012
Change 4361896 by James.Cobbett
Re-saving materials so that they render correctly outside of the editor.
Change 4362262 by Anthony.Bills
Fix for WebM video decoder crash.
#jira UE-64025
[CL 4362700 by Joe Barnes in Main branch]
2018-09-12 15:59:49 -04:00
ProcessCompilationJob ( Input , Output , Dir ) ;
2015-12-10 21:55:37 -05:00
}
2014-03-14 14:13:41 -04:00
/**
* Main entrypoint , guarded by a try . . . except .
* This expects 4 parameters :
* The image path and name
* The working directory path , which has to be unique to the instigating process and thread .
* The parent process Id
* The thread Id corresponding to this worker
*/
2015-12-10 21:55:37 -05:00
static int32 GuardedMain ( int32 argc , TCHAR * argv [ ] , bool bDirectMode )
2014-03-14 14:13:41 -04:00
{
2021-03-03 07:52:18 -04:00
FString ExtraCmdLine = TEXT ( " -NOPACKAGECACHE -ReduceThreadUsage -cpuprofilertrace -nocrashreports -nothreading " ) ;
2020-01-24 12:16:02 -05:00
// When executing tasks remotely through XGE, enumerating files requires tcp/ip round-trips with
// the initiator, which can slow down engine initialization quite drastically.
// The idea here is to save the Ini and Modules manager state and reuse them on the workers
// to avoid all those directory enumeration during engine init.
FString IniBootstrapFilename ;
FString ModulesBootstrapFilename ;
if ( IsUsingXGE ( ) )
{
// Tie the bootstrap filenames to the xge job id to refresh bootstraps state every time a new build starts
// This allows the ini/modules and shadercompilerworker binaries to change between builds.
FGuid XGJobID ;
if ( FGuid : : Parse ( FPlatformMisc : : GetEnvironmentVariable ( TEXT ( " xgJobID " ) ) , XGJobID ) )
{
FString XGJobIDString = XGJobID . ToString ( EGuidFormats : : DigitsWithHyphens ) ;
IniBootstrapFilename = FString : : Printf ( TEXT ( " %s/Bootstrap-%s.inis " ) , argv [ 1 ] , * XGJobIDString ) ;
ModulesBootstrapFilename = FString : : Printf ( TEXT ( " %s/Bootstrap-%s.modules " ) , argv [ 1 ] , * XGJobIDString ) ;
ExtraCmdLine . Appendf ( TEXT ( " -IniBootstrap= \" %s \" -ModulesBootstrap= \" %s \" " ) , * IniBootstrapFilename , * ModulesBootstrapFilename ) ;
// Use Windows API directly because required CreateFile flags are not supported by our current OS abstraction
# if PLATFORM_WINDOWS
// This is advantageous to have only a single worker do the init work instead of having all workers
// do a stampede of the initiator's machine all trying to enumerate directories at the same time.
// I've seen incoming TCP connections going through the roof (350 connections for 150 virtual CPUs)
// coming from workers doing all the same directory enumerations.
// This is not strictly required, but will improve performance when successful.
// Most likely a local worker will win the race and do a fast init.
FString MutexFilename = FString : : Printf ( TEXT ( " %s/Bootstrap-%s.mutex " ) , argv [ 1 ] , * XGJobIDString ) ;
// We need to implement a mutex scheme through a file for it to work with XGE's file virtualization layer.
// The first process to successfully create this file will have the honor of doing the complete initialization.
HANDLE MutexHandle =
CreateFileW (
* MutexFilename ,
GENERIC_WRITE ,
0 ,
nullptr ,
CREATE_NEW ,
FILE_ATTRIBUTE_NORMAL ,
nullptr ) ;
if ( MutexHandle ! = INVALID_HANDLE_VALUE )
{
// We won the race, proceed to initialization.
CloseHandle ( MutexHandle ) ;
}
else
{
// Wait until the race winner writes the last bootstrap file
// Due to a bug in XGE, some workers might never see the new file appear, we must proceed after some timeout value.
for ( int32 Index = 0 ; Index < 10 & & ! FPaths : : FileExists ( ModulesBootstrapFilename ) ; + + Index )
{
Sleep ( 100 ) ;
}
}
# endif
}
}
GEngineLoop . PreInit ( argc , argv , * ExtraCmdLine ) ;
2014-03-14 14:13:41 -04:00
# if DEBUG_USING_CONSOLE
GLogConsole - > Show ( true ) ;
# endif
2020-01-24 12:16:02 -05:00
auto AtomicSave =
[ ] ( const FString & Filename , TFunctionRef < void ( const FString & TmpFile ) > SaveFunction )
{
if ( ! Filename . IsEmpty ( ) & & ! FPaths : : FileExists ( Filename ) )
{
// Use a tmp file for atomic publication and avoid reading incomplete state from other workers
FString TmpFile = FString : : Printf ( TEXT ( " %s-%s " ) , * Filename , * FGuid : : NewGuid ( ) . ToString ( ) ) ;
SaveFunction ( TmpFile ) ;
const bool bReplace = false ;
const bool bDoNotRetryOrError = true ;
const bool bEvenIfReadOnly = false ;
const bool bAttributes = false ;
IFileManager : : Get ( ) . Move ( * Filename , * TmpFile , bReplace , bEvenIfReadOnly , bAttributes , bDoNotRetryOrError ) ;
// In case this process lost the race and wasn't able to move the file, discard the tmp file.
IFileManager : : Get ( ) . Delete ( * TmpFile ) ;
}
} ;
AtomicSave ( IniBootstrapFilename , [ ] ( const FString & TmpFile ) { GConfig - > SaveCurrentStateForBootstrap ( * TmpFile ) ; } ) ;
AtomicSave ( ModulesBootstrapFilename , [ ] ( const FString & TmpFile ) { FModuleManager : : Get ( ) . SaveCurrentStateForBootstrap ( * TmpFile ) ; } ) ;
2014-03-14 14:13:41 -04:00
// We just enumerate the shader formats here for debugging.
const TArray < const class IShaderFormat * > & ShaderFormats = GetShaderFormats ( ) ;
check ( ShaderFormats . Num ( ) ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
TMap < FString , uint32 > FormatVersionMap ;
2014-03-14 14:13:41 -04:00
for ( int32 Index = 0 ; Index < ShaderFormats . Num ( ) ; Index + + )
{
TArray < FName > OutFormats ;
ShaderFormats [ Index ] - > GetSupportedFormats ( OutFormats ) ;
check ( OutFormats . Num ( ) ) ;
for ( int32 InnerIndex = 0 ; InnerIndex < OutFormats . Num ( ) ; InnerIndex + + )
{
UE_LOG ( LogShaders , Display , TEXT ( " Available Shader Format %s " ) , * OutFormats [ InnerIndex ] . ToString ( ) ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3607928)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3441680 by Uriel.Doyon
Added units to point light intensity, to allow the user to specify the value in candelas or lumens.
New point light actors now configure the intensity in candelas by default.
Replaced viewport exposure settings by an EV100 slider.
Hidding the tone mapper in the show flag now still applies the exposure.
Added a new AutoExposure method called EV100 which allows to specify :
- MinEV100, MaxEV100
- Calibration Constnat
- Exposure Compensation
#jira UE-42783
Change 3454934 by Chris.Bunner
Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability.
Change 3512118 by Marc.Olano
Fix rare Sobol shader data problem. Mismatch with CPU code after a large number of points
Resubmit of portion of //UE4/Dev-Rendering@3509854 that was rolled back to avoid massive shader recompiles during integration testing
Change 3512129 by Benjamin.Hyder
Fixing up content in TM-SobolNoise
Change 3512151 by Rolando.Caloca
DR - Fixed some layouts that were general
- Added some extra dump information
Change 3512160 by Benjamin.Hyder
Still Fixing TM-Sobol
Change 3512180 by Marc.Olano
PCSS for spotlights. Like directional PCSS this is experimental, activated by r.Shadow.FilterMethod.
Change 3512261 by Michael.Lentine
Move Subsurface to shared properties.
Previously the same code could be executed multiple times without being optimized out if multiple inputs used the same subsurface output.
#jira UE-44405
Change 3512288 by Rolando.Caloca
DR - Fix issue when recycling image handles
Change 3512338 by Michael.Lentine
Fix precision if user enters a multiple of 90 degree rotation for transforms.
This will only work for exact values. Generally comparing float point numbers using == is unsafe but it should be ok in this case as they are exact values entered from the UI. We may want to later expand this to include thresholding using a value ~1e-7.
#jira UE-46137
Change 3512424 by Michael.Lentine
Regenerate BaseColor.uasset and Specular.uasset to not have the notforclient flags set.
#jira UE-44315
Change 3512686 by Brian.Karis
Fix for quadric assert in infiltrator. Due to bad tangents in source mesh.
Change 3512696 by Brian.Karis
Unrevert TAA. Fixed DOF NaN artifacts
Change 3512717 by Marcus.Wassmer
PR #3714: Fix typo in EOcclusionCombineMode (Contributed by Mumbles4)
Change 3513112 by Richard.Wallis
Crash when packaging for iOS with Shared Material Native Libraries and Share Material Shader Code from windows platform. Offline shader compile for archiving not done - shader header has missing offline compile flag for native Metal library archiving.
Fix includes:
- Handle offline compile failure when not running on Mac and no remote is configured (or remote fails). (I think it's this point at which the crash in the bug report is at).
- Make sure remote can build for native Metal libraries and archive correctly - this should now support Linux platforms or Mac to Mac (if enabled in MetalShaderCompiler.cpp) for testing if required.
- Updated to include remote calling into the xcode 9 Metal pch fix already submitted by Mark Satt.
#jira UE-45657
Change 3513357 by Richard.Wallis
Windows compile fix.
Change 3513375 by Guillaume.Abadie
Exposes the possibility to manually destroy the GPU ressource of UTextureRenderTarget2D.
Change 3513685 by Richard.Hinckley
#jira UEDOC-3822
Fixing a comment that refers to a non-existent function, for documentation purposes.
Change 3513705 by Marc.Olano
Updates to Sobol test levels in RenderTest project
Change 3513730 by Rolando.Caloca
DR - Fix mip size copying resolve targets
- Fix compute fence
- Fix descriptor set texture layout
- More dump info
Change 3513742 by Marc.Olano
Texture-free numeric print for shader debugging
Change 3513777 by Daniel.Wright
Handled edge case where no furthest samples are found in precomputed visibility
Change 3514852 by Rolando.Caloca
DR - Fix -directcompile on SCW
Change 3515049 by Rolando.Caloca
DR - hlslcc dump crash fix
Change 3515167 by Rolando.Caloca
DR - hlslcc - Fix bogus string pointer
- Allow reading from non-scalar UAVs
Change 3515745 by Rolando.Caloca
DR - Linux compile fix
Change 3515862 by Rolando.Caloca
DR - Remove old reference to CCT
- Link with hlslcc debug libs on SCW debug config for easier debugging
Change 3516292 by Rolando.Caloca
DR - glslang exe fixes
Change 3516568 by Rolando.Caloca
DR - hlslcc - Copy fix for *Buffer as functionparameters
Change 3516659 by Marcus.Wassmer
Fix some d3derrors with distance fields
Change 3516801 by Daniel.Wright
Fixed crash when doing editor 'Force Delete' on a static mesh whose distance field is still being built. Any UObject reference that is to an asset can be NULL'ed by the editor.
Change 3516825 by Rolando.Caloca
DR - Some initial fixes for structured buffers
Change 3516843 by Rolando.Caloca
DR - Fix for Vulkan dist fields
Change 3516869 by Marcus.Wassmer
Add format to the createrendertarget blueprint node
Change 3516957 by Daniel.Wright
Fixed bUsesDistortion being editable
Change 3516965 by Daniel.Wright
Still mark the distance field task completed, even if the static mesh has been deleted
Change 3517039 by Yujiang.Wang
GitHub #2655: Optimization for shadow map resolution selection for spot lights
* Use the radius of the inscribed sphere at the cone end as the spot light's screen radius
Note: slight drop of shadow quality of spot lights may occur when they are far away from the camera. This is intended, since before this optimization they tend to be always rendered with the maximum shadow map resolution (2048), which is very costly
#jira UE-33982
Change 3517069 by Yujiang.Wang
Fix for ScissorRect settings in d3d11 being lost under certain scenarios
* Scissor rectangle is always enabled in the low-level d3d11 pipeline, and it is expected that at least one ScissorRect is present no matter whether RHISetScissorRect is called with bEnable=false (when it is false we just use a big rect to make it effectively disabled)
* However FD3D11StateCacheBase::ClearState() clears all the states, which removes scissor rectangles and causes problems for certain routines (FScene::UpdateSkyCaptureContents)
* Now SetScissorRectIfRequiredWhenSettingViewport will always set a effectively disabled ScissorRect on each FD3D11DynamicRHI::RHISetViewport call, just like d3d12 does
#jira UE-45465 UE-44760
Change 3517134 by Yujiang.Wang
CIS fix
Change 3517662 by Rolando.Caloca
DR - Execute upload Vulkan cmds on the RHI thread
- Fix crash with structured buffer
Change 3517677 by Rolando.Caloca
DR - Update/copy textures on RHI thread
Change 3517680 by Rolando.Caloca
DR - Copy texture bulk data on rhi thread
Change 3517748 by Marcus.Wassmer
temporary workaround for one class of GPU crashes
Change 3518832 by Rolando.Caloca
DR - Copy & extend 3518077
- Fix for movable skylight shader missing on simple forward (low lighting quality mode)
Change 3519973 by Richard.Wallis
Jittering in Engine Menu Dropdown Options. Jitter fix: Fix some areas that hadn't been changed from RoundToInt (from previous CL's) to CeilToInt.
#jira UE-46505
Change 3520849 by Uriel.Doyon
Fixed issue with investigate texture command and dynamic component entries.
Change 3521064 by Guillaume.Abadie
Returns absolute path of shader files on error to avoid work loss in visual studio that can't figure out that a sln relative and absolute path might leading to same file on disk.
Change 3521834 by Rolando.Caloca
DR - Fix decals on Vulkan
Change 3521892 by Rolando.Caloca
DR - Fix Vulkan texture streaming
Change 3523181 by Rolando.Caloca
DR - Copy from 3523176
UE4.17 - Fix Vulkan scissor causing text to not clip
Change 3523534 by Yujiang.Wang
UE-46631: Implement a scalable LongGPUTask to fix ProfileGPU
* A new, scalable, platform-independent IssueLongGPUTask is now implemented in UtilityShaders
* Removed IssueLongGPUTask and G*Vector4VertexDeclaration from RHI implementations
* The measurement of the execution time of a basic LongGPUTask unit is kicked off on the very first frame
#jira UE-46631
Change 3524552 by Yujiang.Wang
Fix iteration number calculation of LongGPUTask
Change 3524975 by Joe.Graf
Moved the Hamming-weight function from StaticMeshDrawList.inl to FGenericPlatformMath
Added SSE versions using _mm_popcnt_u64 for platforms that support it
Added a SSE check to gracefully exit when missing the instruction and it was expected to be there
#CodeReview: arciel.rekman, brian.karis
Change 3525306 by Daniel.Wright
Fixed ensure from LPV
Change 3525346 by Rolando.Caloca
DR - Fix linking issue
Change 3525459 by Daniel.Wright
Volumetric Lightmaps - higher quality precomputed GI on dynamic objects and GI on Volumetric Fog
* Enabled by default on all maps, effective after a lighting build. This replaces the existing Precomputed Light Volume and Indirect Lighting Cache features.
* New Lightmass World Settings: VolumeLightingMethod, VolumetricLightmapDetailCellSize and VolumetricLightmapMaximumBrickMemoryMb.
* Lightmass computes lighting samples in an adaptive grid, with higher density around geometry inside the importance volume. Positions outside the importance volume get lit with the border texels.
* Improved Lightmass volume solver to use importance photons and full adaptive final gather, so volume samples have similar quality to 2d lightmaps.
* A static indirection texture is built covering the importance volume and flattening the brick tree by storing the offset to the highest density brick at each indirection cell.
* Seamless and efficient GPU interpolation across density levels is achieved by adding a single row of padding to bricks, copied from neighbors, and stitching up bricks with lower density neighbors
* The Volumetric lightmap stores Irradiance as a 3 band SH, which is 27 floats, quantized into 28 bytes, 7 texture lookups.
* A full screen barebones material using Volumetric Lightmaps costs .42ms on 970 GTX, while Indirect Lighting Cache Point costs .32ms
* Sky bent normal is also stored for stationary skylights and Directional Light Shadowing for Single Sample Shadow receiving.
* Volumetric fog, Movable components, unbuilt Static Components, SingleSampleShadow receiving and Capsule Shadows use Volumetric Lightmaps if available
* New Visualization show flag for Volumetric Lightmap sample points
* Level streaming of volume light data is not currently supported with this method
Change 3525461 by Daniel.Wright
Lowered default r.Shadow.RadiusThreshold for Epic shadow settings as it was causing a lot of visible artifacts from small objects popping out. This will increase shadowmap cost slightly (13.5ms RT -> 14.3ms RT in Fortnite on PS4, no measurable GPU difference).
Change 3526459 by Rolando.Caloca
DR - Fix validation error
Change 3526474 by Rolando.Caloca
DR - Integrate from GV
Change 3526487 by Daniel.Wright
Disabled Volumetric Lightmap filtering with neighbors due to artifacts
Fix linux compile errors
Change 3526833 by Rolando.Caloca
DR - Workaround for hlslcc
Change 3526991 by Uriel.Doyon
Integrated 3526859 : Texture mip bias is now reset whenever the streaming budget increases. This fixes an issue where textures persistently become low res after a memory spike.
Change 3527574 by Rolando.Caloca
DR - Added some missing resource entries for SCW direct mode
Change 3527625 by Rolando.Caloca
DR - Copy from 3527113
UE4.17 - Fix Vulkan not calling Present
Change 3528461 by Brian.Karis
Support larger hash sizes. Added uint list hashing function.
Change 3528780 by Rolando.Caloca
DR - Default Vulkan resources
Change 3528818 by Rolando.Caloca
DR - glslang - Added missing accessor
Change 3528839 by Rolando.Caloca
DR - Fix virtual path issue when using non-engine relative absolute paths
Change 3528900 by Daniel.Wright
Fixed variable shadowing
Change 3529039 by Rolando.Caloca
DR - Read Spirv reflection data (not used yet)
Change 3529040 by Joe.Graf
Fixed the 32bit compile failures for the popcnt optimization
#CodeReview: arciel.rekman
Change 3529060 by Rolando.Caloca
DR - hlslcc - New flag for keeping resource names
Change 3529344 by Rolando.Caloca
DR - Delete unused file
Change 3529723 by Brian.Karis
Fixed static analysis cleaner.
Change 3531357 by Michael.Trepka
Updated Mac glslang libraries with latest changes. Also, updated the Xcode project (generated with CMake) and moved it to a different location so that it no longer uses hardcoded absolute paths. It should be easy to rebuild these libraries in the future.
Change 3531517 by Joe.Graf
Added support for ddx_fine, ddy_fine, ddx_coarse, ddy_coarse to hlslcc
#CodeReview: arciel.rekman, mark.satterthwaite, rolando.caloca
Change 3531626 by Joe.Graf
Mac version of the popcount optimization
Changed Linux version to use the same builtin
#CodeReview: mark.satterthwaite, arciel.rekman
Change 3531837 by Chris.Bunner
SetScissorRectIfRequiredWhenSettingViewport sets the viewport size by default rather than disabling the scissor rect.
#jra UE-46753
Change 3533415 by Joe.Graf
Renamed the SSSE3 checks per feedback
#CodeReview: arciel.rekman
Change 3533480 by Michael.Lentine
Use more accurate descriptions for shader recompile options
Change 3533511 by Joe.Graf
Updated the GenericPlatformMisc to match the SSSE3 name change
#CodeReview: arciel.rekman
Change 3533521 by Marcus.Wassmer
Fix scenerenderer leak when updating out of view planar reflections
Change 3533528 by Joe.Graf
Updated comments
#CodeReview: n/a
Change 3533608 by Mark.Satterthwaite
New manual Xcode project for glslang so that we include all the necessary code and can link again.
Change 3534260 by Mark.Satterthwaite
Fix the Xcode 9 Beta 3 compile errors in MetalRHI without breaking Xcode 8.3.3.
Change 3535789 by Yujiang.Wang
Fix for wrong hair shading in forward shading
* IBL reflections should be turned off for hairs
Change 3537059 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537060 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538297 by Michael.Lentine
Add shader comparison test.
Adding the basic test case.
Adding logic to Common.ush to enable FP16 conditionally on a define (which is not set by default)
Adding more exported functionality to automation for use in the shader test.
Change 3538309 by Michael.Lentine
Add missing file from Shader Test CL.
Change 3538751 by Michael.Lentine
Add missing pragma once.
Change 3539236 by Michael.Lentine
Do not ignore return values.
Change 3539237 by Michael.Lentine
Check in the correct file
Change 3540343 by Rolando.Caloca
DR - Added t.DumpHitches.AllThreads
Change 3540661 by Yujiang.Wang
Fix spot tube light direction
* The tube direction for a spot light was pointing along the light direction, now it is along the local Z axis which is perpendicular to the light direction. Lightmass is also touched
* A new LightTangent is added to FDeferredLightData
* Packed all the values from LightSceneProxy->GetParameters into a single FLightParameters struct to avoid copy-pasting them everywhere
Change 3541129 by Rolando.Caloca
DR - vk - Copy all Vulkan fixes from 4.17
Change 3541347 by Yujiang.Wang
Fix wrong ViewFlags being set between objects when rendering shadow depth maps
* Bug caused by trying to share DrawRenderState between objects, but SetViewFlagsForShadowPass was designed to start from a fresh render state
* Now SetViewFlagsForShadowPass recalculates and sets the flags on each call
Change 3542603 by Rolando.Caloca
DR - vk - Allow sharing samplers on Vulkan
Change 3542639 by Jian.Ru
Changed warning text to better indicate that global clip plane needs to be enabled for planar reflection
#RB Marcus.Wassmer
Change 3543167 by Michael.Lentine
Fix naming for the shader comparison tests.
Change 3543210 by Uriel.Doyon
Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
In that case, we used the default settings for texture streaming (assuming a scale of 1).
Change 3543221 by Brian.Karis
Simplifier optimizations
Change 3543239 by Arciel.Rekman
hlslcc: remove FCustomStd* workarounds.
- This was previous attempt to work around problems arising from different STL used for building libhlslcc (in the cross-toolchain) and possibly different STL used for building engine (on the system).
- The same problem has been resolved by bundling libc++.
Change 3543946 by Michael.Lentine
Add comparison output.
Change 3544277 by Brian.Karis
Fixed uninitialized var error
Change 3544404 by Rolando.Caloca
DR - Fix broken textures
Change 3544503 by Jian.Ru
Ensure lighting failure delegates are always called
#RB Marcus.Wassmer,Daniel.Wright
#3689
Change 3545241 by Daniel.Wright
Fixed spotlight whole scene shadows using a radius 2x too long
Change 3545347 by Daniel.Wright
Fixed shadow occlusion culling broken by shadowmap caching change. FProjectedShadowKey is now computed correctly for whole scene shadows and SDCM_StaticPrimitivesOnly shadowmaps will fall back to the query for a SDCM_MovablePrimitivesOnly, since the static primitives shadowmap's query is not issued every frame.
Change 3546196 by Marcus.Wassmer
Fix minor typo
Change 3546459 by Daniel.Wright
ULevel::PostEditChangeProperty recreates rendering resources if MapBuildData is modified - fixes a crash when Force Deleting the MapBuildData package.
Change 3546469 by Jian.Ru
Take into account CVarStaticMeshLODDistanceScale during static mesh LOD calculation
Change 3546804 by Daniel.Wright
[Copy] Added SendAllEndOfFrameUpdates draw event to wrap skin cache events
Change 3546814 by Daniel.Wright
[Copy] Only use skylight OcclusionMaxDistance for the global distance field if it casts shadows
Change 3546815 by Daniel.Wright
[Copy] Snap volumetric fog light function target resolution to a factor of 32 to avoid constant texture reallocation
Change 3546817 by Daniel.Wright
[Copy] Warmup time warning
Change 3546828 by Daniel.Wright
[Copy] Fixed UWorld::DestroyActor in PIE calling InvalidateLightingCacheDetailed which can do a FlushRenderingCommands and cause a large hitch
Change 3546836 by Daniel.Wright
[Copy] ULightComponent::InvalidateLightingCacheInner uses MarkRenderStateDirty instead of slow reregister + FlushRendingCommands, and only for lights which might have static lighting data
Change 3546849 by Rolando.Caloca
DR - vk - Fix missing samplerstates
- Fixes for structured buffers
- Add missing Draw and Dispatch Indirect
Change 3547516 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547542 by Brian.Karis
Linear time 5-coloring for planar graphs.
Brought in the Planarity library written by John Boyer, heavily edited and trimmed down to only include code necesary for graph coloring. Put behind a simple wrapper.
Change 3547563 by Brian.Karis
Fixed some compiler warnings and hopefully some errors.
Change 3547610 by Brian.Karis
Replaced macros with inlined functions
Change 3547620 by Brian.Karis
Clean up includes
Change 3547770 by Marcus.Wassmer
GPU Crash for MTBF analytics
Change 3547773 by Marcus.Wassmer
Updated doxygen comment for new analytic
Change 3548244 by Rolando.Caloca
DR - Fix for translucency
Change 3548352 by Yujiang.Wang
Added soft source radius for point and spot lights
* Soft source radius controls how 'blurry' the shape of specular lighting looks
* Implemented by LobeRoughness modification
* Better approximation for spherical lights so that they don't look sharp when the radius is large using 'smoothed representative point' method
* Suppoted LightTangent in forward shading
Change 3548530 by Brian.Karis
Fix for mac build
Change 3548770 by Rolando.Caloca
DR - vk - Prereq work for Vulkan parallel RHI contexts
Change 3548772 by Jian.Ru
Fixed an issue that caused an ensure when switching levels in D3D10. #rb Marcus.Wassmer
Change 3548865 by Daniel.Wright
With shadowmap caching of whole scene shadows, only one of the cache modes issues an occlusion query. Fixes a crash where the static primitive shadowmap is culled but the movable primitive shadowmap is visible, which is normally not possible.
Change 3548952 by Rolando.Caloca
DR - Allow separate samplers in the shaders on Vulkan
Change 3549197 by Marcus.Wassmer
Fix DX12 PIx not working in cooked builds
Change 3549209 by Daniel.Wright
Occlusion culling for CSM, from the main camera, controlled by 'r.Shadow.OcclusionCullCascadedShadowMaps'. Disabled by default as rapid view changes don't work well with latent occlusion queries.
Change 3549943 by Ben.Marsh
Include better diagnostic information when a modified build product is detected after running a build step.
Change 3550546 by Rolando.Caloca
DR - Fix merge issue
Change 3550962 by Marcus.Wassmer
EarlyZ Masking requires full depth prepass, so just force it to.
Change 3551062 by Daniel.Wright
Handle NULL skylight
Change 3551104 by Rolando.Caloca
DR - vk - Remove assert to match other platforms
Change 3551221 by Rolando.Caloca
DR - vk - Add mirror clamp to edge extension
- Fix framebuffer deletion
Change 3551224 by Daniel.Wright
Volumetric lightmap increase density around static lights affecting a voxel brighter than LightBrightnessSubdivideThreshold.
Change 3551495 by Rolando.Caloca
DR - vk - Intiial support for async queue
Change 3552101 by Rolando.Caloca
DR - vk - Fix for async
Change 3552102 by Rolando.Caloca
DR - SkinCache - Fix potential leak on staging buffers for recompute tangents
- Integrate changes from 4.17 for memory optimizations
Change 3552104 by Rolando.Caloca
DR - vk - Support for SRVs for index buffers
Change 3552838 by Rolando.Caloca
DR - vk - Enable debug markers if found
Change 3553106 by Rolando.Caloca
DR - vk - Fixes for index buffer SRVs
Change 3553107 by Rolando.Caloca
DR - vk - Enable recompute tangents on Vulkan
Change 3553154 by Rolando.Caloca
DR - vk - Fix crash with null uav
Change 3553342 by Yujiang.Wang
Fix redundant skylights in AdvancedPreviewScene
* PreviewScene was changed to using a skylight instead of ambient cubemap to support forward shading
* AdvancedPreviewScene originally had a skylight, now it is changed to using the one inherited from PreviewScene
Change 3553481 by Rolando.Caloca
DR - Integrate fix for D3D12 support of index buffers SRVs
#jira UE-47674
Change 3553715 by Rolando.Caloca
DR - Fix crash when launching PC with -featureleveles31
Change 3553725 by Rolando.Caloca
DR - Redo fix
Change 3553803 by Rolando.Caloca
DR - Shader compile fixes for ES3.1
Change 3553963 by Rolando.Caloca
DR - vk - Remove extra IRDump
Change 3554741 by Ben.Marsh
CIS fix.
Change 3555222 by Rolando.Caloca
DR - vk - static analysis fix
Change 3555362 by Rolando.Caloca
DR - vk - Prep work for separate present queue
Change 3556800 by Daniel.Wright
Fixed screenshot for simple volume material doc
Change 3556942 by Brian.Karis
Fixed Bokeh DOF regression.
Change 3556959 by Rolando.Caloca
DR - vk - Rework staging buffer peak usage
Change 3557497 by Daniel.Wright
Better display name for Unbound property on post process volume
Change 3557499 by Daniel.Wright
Disable r.GenerateLandscapeGIData by default, opt-in for kite demo. Projects that want to use heightfield GI need to opt-in to r.GenerateLandscapeGIData.
Change 3557068 by Olaf.Piesche
Configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2), so additional quality levels can be added and scaling customized further.
IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.
#tests QAGame test maps
Change 3558123 by Rolando.Caloca
DR - vk - static analysis fix
Change 3558685 by Yujiang.Wang
Github #3323: Two sided foliage lightmap directionality fix
* Subsurface is not intended to work with lightmaps that don't have directionality, however we still want it to look similar to a directional one
* Now it uses a constant directionality value
#jira UE-42523
Change 3559052 by Brian.Karis
Hopefully fix static analysis
Change 3559113 by Rolando.Caloca
DR - Fix crash witrh planar reflections
Change 3559275 by Yujiang.Wang
Fix race condition on several scalability CVars between rendering thread and game thread
Change 3559612 by Rolando.Caloca
DR - vk - SM5 with uniform buffers backend support
Change 3559716 by Rolando.Caloca
DR - hlslcc - Fix linker warning on SCW debug
Change 3559768 by Rolando.Caloca
DR - vk - Keep ub names for bindings
Change 3560195 by Rolando.Caloca
DR - accessor
Change 3560275 by Rolando.Caloca
DR - vk - Support for uniform buffers
Change 3560913 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3561145 by Rolando.Caloca
DR - Don't crash if out of resource table bits
Change 3561194 by Rolando.Caloca
DR - vk - Integrate timestamp fixes
Change 3562009 by Rolando.Caloca
DR - vk - Workaround for bad UTexture data
Change 3563884 by Chris.Bunner
VK_NULL_HANDLE fix.
Change 3563885 by Jian.Ru
Ignore a warning caused by enabling distance field generation so that test Cube_Blue and Cube_Section don't fail. #rb Chris.Bunner
Change 3565943 by Jian.Ru
Add extra warning log triggered when attempt to create FRWBuffer greater than 256MB in ComputeLightGrid() #rb Chris.Bunner
Change 3569479 by Michael.Lentine
Integrate rhino shader changes to dev-rendering
Change 3569511 by Michael.Lentine
Fix formating and string out on windows.
Change 3569572 by Yujiang.Wang
Fix MeasureLongGPUTaskExecutionTime crashing on AMD on Macs
Change 3569614 by Yujiang.Wang
Flush rendering commands before measuring the long GPU task's excution time to get accurate results
Change 3570524 by Jian.Ru
Add extra parentheses to avoid compilation warning #rb Chris.Bunner
Change 3570722 by Chris.Bunner
Static analysis workaround - same code, just validating compile-time assumptions a little further.
Change 3570880 by Jian.Ru
Add small depth offset to avoid depth test failing during velocity pass
#jira UE-37556
Change 3572532 by Jian.Ru
Disable a warning to let tests pass
#jira UE-48021
Change 3573109 by Michael.Lentine
Checkin Michael.Trepka's fix for external dynamic libraries on mac.
This is needed to make the build go green on mac.
Change 3573995 by Jian.Ru
Move an include out of define to let nightly build pass
Change 3574777 by Chris.Bunner
Continued merge fixes.
Change 3574792 by Rolando.Caloca
DR - Rename todo
Change 3574794 by Chris.Bunner
Re-adding includes lost in a pre-merge merge.
Change 3574879 by Michael.Trepka
Disabled a couple of Mac deprecation warnings
Change 3574932 by Chris.Bunner
Merge fix.
Change 3575048 by Michael.Trepka
Fixed iOS compile warnings
Change 3575530 by Chris.Bunner
Duplicating static analysis fix CL 3539836.
Change 3575582 by Chris.Bunner
Fixed GetDimensions return type in depth resolve shaders.
Compile error fix.
Change 3576326 by Chris.Bunner
Static analysis fixes.
Change 3576513 by Michael.Trepka
Updated Mac MCPP lib to be compatible with OS X 10.9
Change 3576555 by Richard.Wallis
Metal Validation Errors. Dummy black volume texture is in the wrong format in the Metal shader for the VolumetricLightmapIndirectionTexture. Create a new dummy texture with pixel format PF_R8G8B8A8_UINT.
#jira UE-47549
Change 3576562 by Chris.Bunner
OpenGL SetStreamSource stride updates.
Change 3576589 by Michael.Trepka
Fixed Mac CIS warnings and errors in Dev-Rendering
Change 3576708 by Jian.Ru
Fix cascade preview viewport background color not changing
#jira UE-39687
Change 3576827 by Rolando.Caloca
DR - Minor fix for licensee
Change 3576973 by Chris.Bunner
Fixing up HLSLCC language spec mismatch (potential shader compile crashes in GL and Vulkan).
Change 3577729 by Rolando.Caloca
DR - Fix for info on SCW crashes
Change 3578723 by Chris.Bunner
Fixed issue where custom material attribute was using display name as hlsl function name.
Change 3578797 by Chris.Bunner
Fixed pixel inspector crashing on high-precision normals gbuffer format.
#jira UE-48094
Change 3578815 by Yujiang.Wang
Fix for UE-48207 Orion cooked windows server crash on startup
* Crash caused by rendering features not available in a dedicated server build
* Skip over MeasureLongGPUTaskExecutionTime when !FApp::CanEvenRender()
#jira UE-48207
Change 3578828 by Daniel.Wright
Disable volumetric lightmap 3d texture creation on mobile
Change 3579473 by Daniel.Wright
Added View.SharedBilinearClampSampler and View.SharedBilinearWrapSampler. Used these to reduce base pass sampler counts with volumetric lightmaps.
Change 3580088 by Jian.Ru
Fix QAGame TM-CharacterMovement crashing on PIE
#jira UE-48031
Change 3580388 by Daniel.Wright
Fixed shadowed light injection into volumetric fog fallout from Rhino merge
Change 3580407 by Michael.Trepka
Updated Mac UnrealPak binaries
Change 3581094 by Michael.Trepka
Fix for ScreenSpaceReflections not working properly on iOS 11
Change 3581242 by Michael.Trepka
Fixed a crash on startup on Mac when launching TM-ShaderModels in QAGame
#jira UE-48255
Change 3581489 by Olaf.Piesche
Replicating CL 3578030 from Fortnite-Main to fix #jira UE-46475
#jira FORT-47068, FORT-49705
Don't inappropriaely touch game thread data on the render thread. Push SubUV cutout data into a RT side object owned by the sprite dynamic data.
#tests FN LastPerfTest
Change 3581544 by Simon.Tovey
Fix for ensure accessing cvar from task thread.
#tests no more ensure
Change 3581934 by Chris.Bunner
Fixed ConsoleVariables.ini break from merge.
Change 3581968 by Jian.Ru
Fix QAGame TM-ShaderModels PIE crash when resizing game viewport
#jira UE-48251
Change 3581989 by Richard.Wallis
Fix for NULL PrecomputedLightingBuffer. It is null for first frame request in forward rendering so should have the GEmptyPrecomputedLightingUniformBuffer set in these cases after it's been initially tried to be set not before.
#jira UE-46955
Change 3582632 by Chris.Bunner
Resolved merge error.
Change 3582722 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on GL
#jira UE-48208
Change 3584096 by Rolando.Caloca
DR - Fix for renderdoc crashing in shipping
#jira UE-46867
Change 3584245 by Jian.Ru
Fix System.Promotion.Editor.Particle Editor test crash
#jira UE-48235
Change 3584359 by Yujiang.Wang
Fix for UE-48315 Wall behind base in Monolith is flickering white in -game Orion
* Caused by dot(N, V) being negative
* Clamp to (0, 1)
#jira UE-48315
Change 3587864 by Mark.Satterthwaite
Fix the GPU hang on iOS caused by changes to the Depth-Stencil MSAA handling: you can't store the MSAA stencil results on iOS < 10 unless you use the slower MTLStoreActionStoreAndMultisampleResolve which we don't need for the mobile renderer.
#jira UE-48342
Change 3587866 by Mark.Satterthwaite
Correctly fix iOS compilation errors against Xcode 9 Beta 5 and Xcode 8.3.3 - duplicating function definitions is guaranteed to be wrong.
Change 3588168 by Mark.Satterthwaite
Move the Xcode version into the Metal shader format header, not the DDC key, so that we can handle bad compiler/driver combinations in the runtime and don't force all users to recompile every time the Xcode version changes.
Change 3588192 by Rolando.Caloca
DR - Fix d3d12 linker error when EXECUTE_DEBUG_COMMAND_LISTS is enabled
Change 3588291 by Rolando.Caloca
DR - Fix for d3d12 command list crash: Commited resources can not have aliasing barriers
#jira UE-48299
Change 3590134 by Michael.Trepka
Copy of CL 3578963
Reset automation tests timer after shader compilation when preparing for screenshots taking to make sure tests don't time out.
Change 3590405 by Rolando.Caloca
DR - hlslcc - support for sqrt(uint)
Change 3590436 by Mark.Satterthwaite
Rebuild Mac hlslcc for CL #3590405 - without the various compiler workarounds left over from before the recent code changes.
Change 3590674 by Rolando.Caloca
DR - vk - Integration from working branch
- Fixes distance field maps
- Compute pipelines stored in saved file
- Adds GRHIRequiresRenderTargetForPixelShaderUAVs for platforms that need dummy render targets
Change 3590699 by Rolando.Caloca
DR - Fix distance fields mem leak
Change 3590815 by Rolando.Caloca
DR - vk - Fixes for uniform buffers and empty resource tables
Change 3590818 by Mark.Satterthwaite
Temporarily switch back to OpenVR v1.0.6 for Mac only until I can clarify what to do about a required but missing API hook for Metal. Re-enabled and fixed compile errors with Mac SteamVR plugin code.
Change 3590905 by Mark.Satterthwaite
For Metal shader compilation where the bytecode compiler is unavailable force the debug compiler flag and disable the archiving flag because storing text requires this.
#jira UE-48163
Change 3590961 by Mark.Satterthwaite
Submitted on Richard Wallis's behalf as he's on holiday:
Mac fixes for Compute Skin Cache rendering issues (resulting in incorrect positions and tangents) and for recomputing tangents. Problem sampling from buffers/textures as floats with packed data. Some of the data appears as denorms so get flushed to zero then reinterpreted as uints via asuint or in Metal as_type<uint>(). Fix here for Metal seems to be to use uint types for the skin cache SRV's and as_type<> to floats instead.
There could be some other areas where we're unpacking via floats that could affect Metal and I'm not sure how this will impact on other platforms.
#jira UE-46688, UE-39256, UE-47215
Change 3590965 by Mark.Satterthwaite
Remove the Z-bias workaround from Metal MRT as it isn't required and actually causes more problems.
Change 3590969 by Mark.Satterthwaite
Make all Metal shader platforms compile such that half may be used, unless the material specifies full precision.
Change 3591871 by Rolando.Caloca
DR - Enable PCSS on Vulkan & Metal
- Enable capsule shadows on Vulkan
Change 3592014 by Mark.Satterthwaite
Remove support for Mac OS X El Capitan (10.11) including the stencil view workaround.
Bump the minimum Metal shader standard for Metal SM4, SM5 & Metal MRT to v1.2 (macOS 10.12 Sierra & iOS 10) so we can use FMAs and other newer shader language features globally.
Enable the new GRHIRequiresRenderTargetForPixelShaderUAVs flag as Metal is like Vulkan and needs a target for fragment rendering.
Also fix the filename for direct-compile & remove the old batch file generation in the Metal shader compiler.
Change 3592171 by Rolando.Caloca
DR - CIS fix
Change 3592753 by Jian.Ru
repeat Daniel's fix on xb1 profilegpu crash (draw events cannot live beyond present)
Change 3594595 by Rolando.Caloca
DR - Fix D3D shader compiling run time stack corruption failure on debug triggering falsely
Change 3594794 by Michael.Trepka
Call FPlatformMisc::PumpMessages() before attempting to toggle fullscreen on Mac to fix an issue on some Macs running 10.13 beta that would ignore the toggle fullscreen call freezing the app
Change 3594999 by Mark.Satterthwaite
Disable MallocBinned2 for iOS as on Rhino it worked but on iOS 10.0.2 there are bugs (munmap uses 64kb granularity, not the 4096 the code expects given the reported page-size).
While we are here remove the spurious FORCE_MALLOC_ANSI from the iOS platform header.
#jira UE-48342
Change 3595004 by Mark.Satterthwaite
Disable Metal's Deferred Store Actions and combined Depth/Stencil formats on iOS < 10.3 as there are bugs on earlier versions of iOS 10.
#jira UE-48342
Change 3595386 by Mark.Satterthwaite
Silence the deprecation warning for kIOSurfaceIsGlobal until SteamVR switches to one of the newer IOSurface sharing mechanisms.
Change 3595394 by Rolando.Caloca
DR - Added function for tracking down errors in the hlsl parser
- Added support for simple #if 0...#endif
Change 3599352 by Rolando.Caloca
DR - Fixes for HlslParser
- Added missing attributes for functions
- Fixed nested assignment
Change 3602440 by Michael.Trepka
Fixed Metal shader compilation from Windows with remote compilation disabled
#jira UE-48163
Change 3602898 by Chris.Bunner
Resaving assets.
Change 3603731 by Jian.Ru
fix a crash caused by a material destroyed before the decal component
#jira UE-48587
Change 3604629 by Rolando.Caloca
DR - Workaround for PF_R8G8B8A8_UINT on Android
#jira UE-48208
Change 3604984 by Peter.Sauerbrei
fix for orientation not being limited to that specified in the plist
#jira UE-48360
Change 3605738 by Chris.Bunner
Allow functional screenshot tests to request a camera cut (e.g. tests relying on temporal aa history).
#jira UE-48748
Change 3606009 by Mark.Satterthwaite
Correctly implement ClipDistance for Metal as an array of floats as required by the spec. and fix a few irritating issues from the merge that should not have.
- When compiling a tessellation vertex shader in the SCW direct mode we can't evaluate non-existant defines and we don't actually need to.
- The define names, values & shader file name are irrelevant to the Metal output key, but the shader format name & Metal standard really do matter - should speed up Metal shader compilation a bit.
- Move the shader vertex layer clip-distance to index 2 to avoid conflicts.
- Don't default initialise the debug code string for Metal shaders or it won't print out the actual code....
#jira UE-47663
Change 3606108 by Mark.Satterthwaite
Temporary hack to avoid a crash in AVPlayer.
#jira UE-48758
Change 3606121 by Mark.Satterthwaite
Fix Windows compilation.
Change 3606992 by Chris.Bunner
Static analysis fix.
[CL 3608256 by Marcus Wassmer in Main branch]
2017-08-24 15:38:57 -04:00
uint32 Version = ShaderFormats [ Index ] - > GetVersion ( OutFormats [ InnerIndex ] ) ;
2015-07-13 18:02:21 -04:00
FormatVersionMap . Add ( OutFormats [ InnerIndex ] . ToString ( ) , Version ) ;
2014-03-14 14:13:41 -04:00
}
}
LastCompileTime = FPlatformTime : : Seconds ( ) ;
2015-12-10 21:55:37 -05:00
if ( bDirectMode )
{
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3244756 on 2017/01/03 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3248667 on 2017/01/05 by Olaf.Piesche
Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure
#jira UE-40160
Change 3249324 on 2017/01/06 by Marcus.Wassmer
Resave with an actual version to stop cook warning
Change 3249611 on 2017/01/06 by Marcus.Wassmer
Just remove warning-causing niagara data for now.
Change 3308052 on 2017/02/16 by Rolando.Caloca
DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute
Change 3308109 on 2017/02/16 by Rolando.Caloca
DR - Upgrade glslang to 1.0.39.1
Change 3308111 on 2017/02/16 by Rolando.Caloca
DR - Update Vulkan distribution to 1.0.39.1
Change 3308153 on 2017/02/16 by Rolando.Caloca
DR - Updated glslang libs
Change 3308842 on 2017/02/17 by Rolando.Caloca
DR - Fixed copy/paste
Change 3310007 on 2017/02/17 by Chris.Bunner
Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971.
#jira UE-37792
Change 3310154 on 2017/02/17 by Chris.Bunner
Assert when attempting to add a custom material attribute already in the base attributes list.
Change 3310155 on 2017/02/17 by Chris.Bunner
PR #3231: Validate material index before accessing (Contributed by projectgheist)
#jira UE-41774, UE-41788
Change 3310162 on 2017/02/17 by Chris.Bunner
PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist)
#jira UE-41823, UE-41950
Change 3310176 on 2017/02/17 by Chris.Bunner
Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini).
Update to AGS 5.0.5.
Partial code tidy up.
Change 3310187 on 2017/02/17 by Chris.Bunner
Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression.
#jira UE-41594
Change 3310215 on 2017/02/17 by Chris.Bunner
Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available).
More descriptive error for missing Cubemap UV input on TextureSample material node .
#jira UE-33098
Change 3310838 on 2017/02/18 by Joe.Graf
Moved some private functions to public for a licensee
#CodeReview: matt.kuhlenschmidt
#rb: n/a
Change 3311876 on 2017/02/20 by Rolando.Caloca
DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB
#jira UE-42014
Change 3314139 on 2017/02/21 by Rolando.Caloca
DR - Minor cleanup pass
- Remove FVulkanPendingState
- Renamed some classes for clarity
- Hoist pending UAVs for flush out to pending compute state
Change 3314642 on 2017/02/21 by Rolando.Caloca
DR - Some more renaming
Change 3315431 on 2017/02/21 by Ben.Salem
Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time.
#tests Ran showdown demo several times
Change 3316710 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Fix refract intrinsic
Change 3316718 on 2017/02/22 by Rolando.Caloca
DR - hlslcc - Built libs to pick up change from 3316710 - refract fix
Change 3316820 on 2017/02/22 by Benjamin.Hyder
updating Tm-TrigNodes map
Change 3317192 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317528 on 2017/02/22 by Benjamin.Hyder
Updating QA-Decals map
Change 3317639 on 2017/02/22 by Benjamin.Hyder
Updating Decal on Complex Mesh example in QA-Decals
Change 3317764 on 2017/02/22 by Benjamin.Hyder
Final updates to QA-Decals
Change 3318319 on 2017/02/22 by Rolando.Caloca
DR - minor reorg/rename
Change 3318379 on 2017/02/22 by Rolando.Caloca
DR - more cleanup
Change 3321181 on 2017/02/24 by Rolando.Caloca
DR - Fix GL bug
Change 3321247 on 2017/02/24 by Rolando.Caloca
DR - Fix misc bugs
Change 3321898 on 2017/02/24 by Chris.Bunner
Only issue clear TLV dispatch if required.
#jira UERNDR-193
Change 3321904 on 2017/02/24 by Chris.Bunner
Added comment for potential future optimization.
Change 3322013 on 2017/02/24 by Uriel.Doyon
Fixed separate translucency being affected by Gaussian DOF
#jira UE-40489
Change 3322517 on 2017/02/24 by Uriel.Doyon
Fixed issue with InvestigateTexture command removing budget limit.
Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures.
#jira UE-40485
Change 3323470 on 2017/02/27 by Chad.Garyet
Removing DDC job from dev-rendering
Change 3323479 on 2017/02/27 by Chad.Garyet
Removing RDU agent type
Change 3323519 on 2017/02/27 by Chad.Garyet
removing NCL/LHR/SEA agent types to clean up space
Change 3323639 on 2017/02/27 by Benjamin.Hyder
More updates to QA-Decals
Change 3324207 on 2017/02/27 by Uriel.Doyon
Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias
Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef
Change 3324396 on 2017/02/27 by Uriel.Doyon
Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization
#jira UE-40485
Change 3325227 on 2017/02/28 by Chris.Bunner
Fix-up AMD AGS libs.
Change 3325566 on 2017/02/28 by Uriel.Doyon
Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num
Change 3326009 on 2017/02/28 by Uriel.Doyon
Better fix for 3325566, as the previous fix would ignore the material instance overrides.
Change 3327058 on 2017/03/01 by Benjamin.Hyder
Preparing TM_Shadermodels map for automation
Change 3328222 on 2017/03/01 by Chris.Bunner
Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals.
#jira UE-42449, UE-42446
Change 3329848 on 2017/03/02 by Uriel.Doyon
Added some extra logs to help track UE-42168
Change 3329977 on 2017/03/02 by Rolando.Caloca
DR - Fix bad clear value
Change 3330008 on 2017/03/02 by Benjamin.Hyder
More preparations for QA-Decals automation
Change 3330754 on 2017/03/02 by Daniel.Wright
Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything
Change 3331451 on 2017/03/03 by Marc.Olano
Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal
Change 3331839 on 2017/03/03 by Rolando.Caloca
DR - hlslcc - add missing file to project
Change 3332247 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel
PR #3305
#jira UE-42393
Change 3332259 on 2017/03/03 by Rolando.Caloca
DR - Fix bad index into pixel formats
PR #3237
#jira UE-41855
Change 3332305 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers
PR #3271
#jira UE-32618
Change 3332313 on 2017/03/03 by Rolando.Caloca
DR - Fix for integrated intel (properly)
PR #3305
#jira UE-42393
Change 3332317 on 2017/03/03 by Rolando.Caloca
DR - OpenGL SRV for index buffers (properly)
PR #3271
#jira UE-32618
Change 3332368 on 2017/03/03 by Rolando.Caloca
DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan
Change 3333690 on 2017/03/06 by Daniel.Wright
[Copy] Changing movable skylight properties no longer affects static draw lists
Change 3333693 on 2017/03/06 by Daniel.Wright
[Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations
Change 3333705 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting.
* 8 bit uses half memory but introduces error for thin surfaces or large meshes.
Change 3333721 on 2017/03/06 by David.Hill
DecalProxy:
Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component).
Change 3333772 on 2017/03/06 by Daniel.Wright
[Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur.
Change 3333790 on 2017/03/06 by Daniel.Wright
[Copy] Mesh distance field generation uses Embree, for a 2.5x speedup
* Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging
Change 3333822 on 2017/03/06 by Daniel.Wright
[Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp
* Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up
Change 3333827 on 2017/03/06 by Daniel.Wright
[Copy] Range compress 8bit distance fields - gets one extra bit of precision on average
Change 3333828 on 2017/03/06 by Daniel.Wright
[Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low
Change 3333831 on 2017/03/06 by Daniel.Wright
Non-editor compile fix
Change 3333836 on 2017/03/06 by Daniel.Wright
[Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb.
Change 3333843 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionExponent to skylight component
* Useful for brightening up indoors without losing contact shadows as MinOcclusion does
Change 3333845 on 2017/03/06 by Daniel.Wright
[Copy] Capsule shadow BP functions
Change 3333850 on 2017/03/06 by Daniel.Wright
[Copy] Added OcclusionCombineMode to skylight component
Change 3333854 on 2017/03/06 by Daniel.Wright
[Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu
Change 3333857 on 2017/03/06 by Daniel.Wright
[Copy] Clear light attenuation for local lights with a quad covering their screen extents
* Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms.
* Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4
Change 3333860 on 2017/03/06 by Daniel.Wright
[Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory
Change 3333861 on 2017/03/06 by Daniel.Wright
[Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas
Change 3333869 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric Fog using a volume texture mapped to the camera frustum
* Volumetric fog can be enabled on an Exponential Height Fog component with additional controls
* Lights have a VolumetricScatteringIntensity
* New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale
* Lighting features supported:
* Directional light with CSM and a light function
* Point / spot lights without shadows / light functions / IES profiles
* Skylight with occlusion from distance fields
* Analytical height fog covers the view range past where the volumetric fog ends
* Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability
* Translucency integrates properly into volumetric fog
* Height fog StartDistance is not supported by volumetric fog and should be set to 0.
Change 3333894 on 2017/03/06 by Daniel.Wright
[Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering
Change 3333902 on 2017/03/06 by Daniel.Wright
[Copy] Better handling of volumetric fog enabled with distance of 0
Change 3333903 on 2017/03/06 by Daniel.Wright
[Copy] Fixed volumetric fog trying to render light functions for a point light
Change 3333908 on 2017/03/06 by Daniel.Wright
[Copy] Volumetric materials
* Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities.
* Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius
* Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice.
* Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely
Change 3334134 on 2017/03/06 by Daniel.Wright
[Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree.
Change 3334420 on 2017/03/06 by Daniel.Wright
Fixed RTDF shadows
Change 3335467 on 2017/03/07 by Benjamin.Hyder
Initial submission of QA-Decals map to EngineTest
Change 3335556 on 2017/03/07 by Daniel.Wright
Changed mesh distance field default format back to R16f
Change 3338020 on 2017/03/08 by Daniel.Wright
Disable volumetric fog in vertex shaders for feature levels which don't support it
Change 3339394 on 2017/03/09 by Chris.Bunner
Correctly handle material texture translation error edge case.
#jira UE-42579, UE-42670
Change 3339992 on 2017/03/09 by Daniel.Wright
Only compile volumetric fog shaders on supporting platforms
Change 3341858 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
#RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite
Change 3342004 on 2017/03/10 by Arne.Schober
Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering)
Fix unity build
#RB Marcus.Wassmer
Change 3343307 on 2017/03/13 by Marcus.Wassmer
Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc)
Change 3343732 on 2017/03/13 by Rolando.Caloca
DR - Vulkan compute pipeline & refactor
Change 3344846 on 2017/03/14 by Rolando.Caloca
DR - Android compile fixes
Change 3344883 on 2017/03/14 by Rolando.Caloca
DR - Add missing stencil load/store to PSO initializer
Change 3344985 on 2017/03/14 by Rolando.Caloca
DR - Made load/store actions uint8
Change 3345141 on 2017/03/14 by Rolando.Caloca
DR - vk - Rework render pass hash
Change 3345304 on 2017/03/14 by Benjamin.Hyder
Updating TM-Distancefields map to include TemplateFloor mesh
Change 3345387 on 2017/03/14 by Rolando.Caloca
DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating
Change 3345388 on 2017/03/14 by Rolando.Caloca
DR - Do not stall when creating shaders on Vulkan
Change 3345722 on 2017/03/14 by Chris.Bunner
PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC)
#jira UE-42752
Change 3345723 on 2017/03/14 by Chris.Bunner
Reduce log verbosity causing spamming during landscape editing.
#jira UE-42714
Change 3345725 on 2017/03/14 by Chris.Bunner
[Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes.
Change 3345726 on 2017/03/14 by Chris.Bunner
Typo fixes.
Change 3345732 on 2017/03/14 by Rolando.Caloca
DR - Decouple vertex declaration off BSS
Change 3345746 on 2017/03/14 by Chris.Bunner
Added sign() intrinsic material graph node and delisted material function workaround.
Change 3346042 on 2017/03/14 by Chris.Bunner
Implement missing size query interface for FRenderTargetResources.
#jira UE-41672
Change 3346387 on 2017/03/14 by Daniel.Wright
[Copy] Added VolumetricScatteringIntensity to particle lights
Change 3346389 on 2017/03/14 by Daniel.Wright
[Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs
Disable volumetric fog when the fog show flag is disabled
Change 3346392 on 2017/03/14 by Daniel.Wright
[Copy] Fixed skylight being much too bright on volumetric fog
Change 3346406 on 2017/03/14 by Daniel.Wright
[Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution.
* Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite
Change 3346412 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb
Change 3346414 on 2017/03/14 by Daniel.Wright
[Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb
Change 3346415 on 2017/03/14 by Daniel.Wright
[Copy] Missing file from cl 3338451
Change 3346421 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled
* Volumetric fog converts NaNs to black now so they don't spread
Change 3346422 on 2017/03/14 by Daniel.Wright
[Copy] Fixed NaN in volumetric fog with low density values
Change 3346423 on 2017/03/14 by Daniel.Wright
[Copy] Changed default VolumetricFogScatteringDistribution to .2
Change 3346430 on 2017/03/14 by Daniel.Wright
[Copy] New translucent material option to compute fog per pixel instead of the default per vertex
Change 3346432 on 2017/03/14 by Daniel.Wright
[Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass
Fixed lifetimes of temporary Volumetric Fog render targets
Change 3346526 on 2017/03/14 by Daniel.Wright
[Copy] Volumetric Fog supports point and spot light shadows
* These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map)
* Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0'
* Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing
Change 3347053 on 2017/03/15 by Rolando.Caloca
DR - android compile fix
Change 3347384 on 2017/03/15 by Rolando.Caloca
DR - Fix merge issue
Change 3347643 on 2017/03/15 by Marcus.Wassmer
Fix some bugs with the 'disable stationary skylight ffor the project' feature.
Fixes lighting in Persona on Paragon.
Change 3347979 on 2017/03/15 by Rolando.Caloca
DR - Allow to automatically apply cached rendertargets to PSO initializer
Change 3348024 on 2017/03/15 by Rolando.Caloca
DR - Remove NullPS on Vulkan to avoid deadlock
Change 3348303 on 2017/03/15 by Rolando.Caloca
DR - Fix for debugging SCW with material SRT
Change 3348357 on 2017/03/15 by Marcus.Wassmer
Fix stencildither and a stencilref bug that was probably breaking decals sometimes.
Change 3348549 on 2017/03/15 by Marcus.Wassmer
Hopefully fix static analysis for potential nullptr access.
Change 3348614 on 2017/03/15 by Marcus.Wassmer
Duplicate some switch changes to fix crash on launch.
Change 3349369 on 2017/03/16 by Gil.Gribb
Fixed botched merge
Change 3349947 on 2017/03/16 by Rolando.Caloca
DR - Fix for mismatched primitive type
Change 3349956 on 2017/03/16 by Benjamin.Hyder
initial updates to TM-DistanceFields map
Change 3350151 on 2017/03/16 by Rolando.Caloca
DR - Fix UT compile issue
Change 3350155 on 2017/03/16 by Rolando.Caloca
DR - Catch mismatched primitive type on PSOs on D3D11
Change 3350192 on 2017/03/16 by Daniel.Wright
Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor
Change 3350736 on 2017/03/16 by Daniel.Wright
Fixed formatting from merge
Change 3350881 on 2017/03/16 by Rolando.Caloca
DR - Fix texture arrays as UAVs on Metal
Change 3350927 on 2017/03/16 by Rolando.Caloca
DR - Fix warning
Change 3350935 on 2017/03/16 by Daniel.Wright
Fix for materials with non-Surface domains being skipped in mesh passes
Change 3351583 on 2017/03/17 by Marcus.Wassmer
Fix clang platforms
Change 3351917 on 2017/03/17 by Marcus.Wassmer
Fix linux compile
Change 3351973 on 2017/03/17 by Marcus.Wassmer
Fix mismatched rendertargetformat
Change 3352038 on 2017/03/17 by Daniel.Wright
Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing
Change 3352110 on 2017/03/17 by Marcus.Wassmer
Fix missing RT PSO apply
Change 3352695 on 2017/03/17 by Arne.Schober
DR - Remove PSO Rendertarget check in DX12 Resolve with Shader.
#RB Rolando.Caloca
Change 3352960 on 2017/03/17 by Arne.Schober
DR - Fix some things that slipped trough the PSO merge
#RB none
Change 3353150 on 2017/03/18 by Rolando.Caloca
DR - compile fix
Change 3353205 on 2017/03/18 by Arne.Schober
DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode
#RB none
Change 3353207 on 2017/03/18 by Arne.Schober
DR - Fix Confusion
#RB none
Change 3355183 on 2017/03/20 by Nick.Bullard
Fixed up Content orginzation for Decals automation tests in EngineTest
Change 3355627 on 2017/03/20 by Arne.Schober
DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed.
Change 3356342 on 2017/03/21 by Marcus.Wassmer
Fix clang errors
Change 3356591 on 2017/03/21 by Arne.Schober
DR - Fix ensure message
#RB none
Change 3356873 on 2017/03/21 by Arne.Schober
DR - Fix comparission of undefined values in RendertargetApply Check
Change 3357261 on 2017/03/21 by Marcus.Wassmer
Fix LinuxEditor compile
Change 3357294 on 2017/03/21 by Marcus.Wassmer
Add missing SSE functions
Change 3357351 on 2017/03/21 by Frank.Fella
Fix win32 and linux compiler errors
Change 3357370 on 2017/03/21 by Arne.Schober
DR - disable ensure in test builds
#RB Marcus.Wassmer
[CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
DirectCompile ( ShaderFormats ) ;
2015-12-10 21:55:37 -05:00
}
else
{
# if PLATFORM_WINDOWS
//@todo - would be nice to change application name or description to have the ThreadId in it for debugging purposes
SetConsoleTitle ( argv [ 3 ] ) ;
# endif
2014-03-14 14:13:41 -04:00
2015-12-10 21:55:37 -05:00
FWorkLoop WorkLoop ( argv [ 2 ] , argv [ 1 ] , argv [ 4 ] , argv [ 5 ] , FormatVersionMap ) ;
WorkLoop . Loop ( ) ;
}
2014-03-14 14:13:41 -04:00
return 0 ;
}
2015-12-10 21:55:37 -05:00
static int32 GuardedMainWrapper ( int32 ArgC , TCHAR * ArgV [ ] , const TCHAR * CrashOutputFile , bool bDirectMode )
2014-03-14 14:13:41 -04:00
{
2020-07-02 13:21:15 -04:00
FTaskTagScope Scope ( ETaskTag : : EGameThread ) ;
2014-12-16 20:00:07 -05:00
// We need to know whether we are using XGE now, in case an exception
// is thrown before we parse the command line inside GuardedMain.
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
if ( ( ArgC > 6 ) & & FCString : : Strcmp ( ArgV [ 6 ] , TEXT ( " -xge_int " ) ) = = 0 )
{
GXGEMode = EXGEMode : : Intercept ;
}
else if ( ( ArgC > 6 ) & & FCString : : Strcmp ( ArgV [ 6 ] , TEXT ( " -xge_xml " ) ) = = 0 )
{
GXGEMode = EXGEMode : : Xml ;
}
else
{
GXGEMode = EXGEMode : : None ;
}
2014-12-16 20:00:07 -05:00
2014-03-14 14:13:41 -04:00
int32 ReturnCode = 0 ;
2014-07-25 00:07:42 -04:00
# if PLATFORM_WINDOWS
2014-03-14 14:13:41 -04:00
if ( FPlatformMisc : : IsDebuggerPresent ( ) )
# endif
{
2015-12-10 21:55:37 -05:00
ReturnCode = GuardedMain ( ArgC , ArgV , bDirectMode ) ;
2014-03-14 14:13:41 -04:00
}
2014-07-25 00:07:42 -04:00
# if PLATFORM_WINDOWS
2014-03-14 14:13:41 -04:00
else
{
2015-07-13 18:02:21 -04:00
// Don't want 32 dialogs popping up when SCW fails
GUseCrashReportClient = false ;
2014-03-14 14:13:41 -04:00
__try
{
GIsGuarded = 1 ;
2015-12-10 21:55:37 -05:00
ReturnCode = GuardedMain ( ArgC , ArgV , bDirectMode ) ;
2014-03-14 14:13:41 -04:00
GIsGuarded = 0 ;
}
2020-06-23 18:40:00 -04:00
__except ( EXCEPTION_EXECUTE_HANDLER )
2014-03-14 14:13:41 -04:00
{
2020-06-23 18:40:00 -04:00
FArchive & OutputFile = * IFileManager : : Get ( ) . CreateFileWriter ( CrashOutputFile , FILEWRITE_EvenIfReadOnly ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
if ( GFailedErrorCode = = ESCWErrorCode : : Success )
{
2020-04-16 16:36:56 -04:00
if ( GSCWErrorCode ! = ESCWErrorCode : : NotSet )
{
// Use the value set inside the shader format
GFailedErrorCode = GSCWErrorCode ;
}
else
{
// Something else failed before we could set the error code, so mark it as a General Crash
GFailedErrorCode = ESCWErrorCode : : GeneralCrash ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3122278)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
2016-09-12 22:23:27 -04:00
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
int64 FileSizePosition = WriteOutputFileHeader ( OutputFile , ( int32 ) GFailedErrorCode , FCString : : Strlen ( GErrorHist ) , GErrorHist ,
FCString : : Strlen ( GErrorExceptionDescription ) , GErrorExceptionDescription ) ;
2014-03-14 14:13:41 -04:00
int32 NumBatches = 0 ;
OutputFile < < NumBatches ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
OutputFile < < NumBatches ;
UpdateFileSize ( OutputFile , FileSizePosition ) ;
2014-03-14 14:13:41 -04:00
// Close the output file.
delete & OutputFile ;
2014-12-16 20:00:07 -05:00
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
if ( IsUsingXGE ( ) )
2014-12-16 20:00:07 -05:00
{
ReturnCode = 1 ;
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
OnXGEJobCompleted ( ArgV [ 1 ] ) ;
2014-12-16 20:00:07 -05:00
}
2014-03-14 14:13:41 -04:00
}
}
# endif
FEngineLoop : : AppPreExit ( ) ;
2017-08-30 15:02:07 -04:00
FModuleManager : : Get ( ) . UnloadModulesAtShutdown ( ) ;
2014-03-14 14:13:41 -04:00
FEngineLoop : : AppExit ( ) ;
return ReturnCode ;
}
IMPLEMENT_APPLICATION ( ShaderCompileWorker , " ShaderCompileWorker " )
/**
* Application entry point
*
* @ param ArgC Command - line argument count
* @ param ArgV Argument strings
*/
2014-04-23 20:10:59 -04:00
INT32_MAIN_INT32_ARGC_TCHAR_ARGV ( )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
// Redirect for special XGE utilities...
extern bool XGEMain ( int ArgC , TCHAR * ArgV [ ] , int32 & ReturnCode ) ;
2014-12-16 20:00:07 -05:00
{
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
int32 ReturnCode ;
if ( XGEMain ( ArgC , ArgV , ReturnCode ) )
2014-12-16 20:00:07 -05:00
{
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
return ReturnCode ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
}
2014-12-16 20:00:07 -05:00
}
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3632338)
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3443778 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3576521 by Bart.Hawthorne
ShooterGame - update the game instance's online mode when the LAN option is changed
Change 3587252 by Ben.Woodhouse
Integrate from //UE4/Main/...@3584123 to //UE4/Dev-Console/...
Change 3587943 by Luke.Thatcher
[CONSOLE] [+] Improved XGE shader compiler
- Added support for XGE interception interface, which allows asynchronous streaming of shader tasks into XGE, and eliminates the stalling/flushing found in the old system.
- Old system has been renamed "Xml interface"
- Both systems are available and selectable based on r.XGEShaderCompile.Mode CVar.
Overview of the new system:
- New system uses an additional XGEControlWorker process to manage communication between the engine and XGE. This is simply a copy of ShaderCompileWorker.exe (the implementation is part of SCW, but XGE requires the two files to be separate, hence the duplicate).
- When shader jobs arrive from the engine, the shader compiler thread spawns an instance of XGEControlWorker within an XGE context, and connects to it via named pipes.
- Job command lines are fed to the control worker via the pipe, which the worker enqueues within XGE by issuing a CreateProcess call, which is intercepted. Job completion is reported back to the engine via the named pipes.
- New system is preferred over the old one, and is enabled with "-xgeshadercompile" command line switch or "r.XGEShaderCompile" cvar.
- The new system depends on the "XGEController" engine module. Support for which is based on the WITH_XGE_CONTROLLER #define, or -xgecontroller/-noxgecontroller command line options.
#jira UECON-263
Change 3590037 by Luke.Thatcher
[CONSOLE] [!] Fix compile/link errors with XGE controller module
- Various unity related fixes needed.
Change 3590047 by Luke.Thatcher
[CONSOLE] [!] Compile XGE controller module for Editor builds only
- The module should only be used in uncooked, non-monolitic binaries (i.e. the editor).
Change 3594074 by Luke.Thatcher
[CONSOLE] [!] Fix Linux build - case sensitive header include was wrong in XGEControllerModule.cpp
Change 3596292 by Luke.Thatcher
[CONSOLE] [!] Actually fix unity/nopch build errors in XGE Controller!
Change 3596776 by Jonathan.Fitzpatrick
cherry pick CL 3595292
cooker change which fixes a condition where DLC would always cook with all maps regardless of which maps were specified.
Change 3596795 by Jonathan.Fitzpatrick
Back out changelist 3596776
Change 3596816 by Jonathan.Fitzpatrick
Moved the DLC map check ahead of the "no maps found" condition so that include-all-maps can be skipped if DLC maps are found.
Change 3604282 by Ben.Marsh
UBT: Add support for pre-build and post-build steps when using MegaXGE.
Change 3606862 by Ben.Marsh
Fix missing header guard warning.
Change 3611644 by Ben.Woodhouse
Integrate from //UE4/Main/...@3610522 to //UE4/Dev-Console/...
Change 3614089 by Joe.Barnes
Call GRHICommandList.LatchBypass() after variables it checks are set.
#jira ue-48130
Change 3617783 by Daniel.Eldar
Headers for the HDR changes (they are pre-requisites for compilation).
Integrated from:
//UE4/Partner-Microsoft-DX12/Engine/Source/ThirdParty/Windows/DirectX/...
to //UE4/Dev-Console/Engine/Source/ThirdParty/Windows/DirectX/...
#jira UECON-226
Change 3619117 by Ben.Woodhouse
Integrate from //UE4/Main/...@3617655 to //UE4/Dev-Console/...
Change 3619123 by Ben.Woodhouse
Integrate from //UE4/Main/...@3618361 to //UE4/Dev-Console/...
Change 3619603 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
to //UE4/Dev-Console/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstanceConstant.cpp
Changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619608 by Stewart.Lynch
Merging
//Fortnite/Dev-Athena/Engine/Source/Runtime/...
to //UE4/Dev-Console/Engine/Source/Runtime/...
LLM update
* made sure that all csv stat tracking is disabled if running without -LLMCSV
* added new UObject scopes
* increased LLM_MAX_THREAD_SCOPE_STACK_DEPTH to 128 to cope with new UObject scopes
* added material scopes
* changed UMaterialInstance::PostLoad(); to Super::PostLoad();
Change 3619634 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llm tracking for CPU symbol allocations (20MB)
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
Change 3619642 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
Windows builds were incorrectly showing the debug memory enabled warning. Made IsDebugMemoryEnabled always return false on Windows.
Change 3619799 by Luke.Thatcher
[CONSOLE] [-] Disable peak memory tracking in LLM.
Change 3619809 by Luke.Thatcher
[CONSOLE] [^] Merging CL 3580894 from //Fortnite/Main/... to //UE4/Dev-Console/...
- Add Render Target Pool Stats. Use "stat rendertargetpool" to view.
Change 3619928 by Luke.Thatcher
[CONSOLE] [^] Enable symbol compression on symstore task (Merging CL 3606945 from //Fortnite/Main/... to //UE4/Dev-Console/...)
Change 3620571 by Keith.Judge
Double the size of the occlusion query buffer in D3D12. This costs 256KB of memory.
We need to refactor this in future to resize according to content on demand like D3D11.x.
#jira FORT-53103
#jira FORT-53119
Change 3622419 by Daniel.Eldar
[General] Fix for occasional ensure to do with retriving the new cvar value.
#JIRA UE-46644
Change 3622491 by Daniel.Eldar
[General] Added support for scaling on stat unit and unitgraph.
#JIRA UE-46644
Change 3622610 by Daniel.Eldar
[General] Fixed a compilation warning
Change 3624659 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624175 to //UE4/Dev-Console/...
Change 3624678 by Ben.Woodhouse
Integrate from //UE4/Main/...@3624415 to //UE4/Dev-Console/...
Change 3624878 by Ben.Woodhouse
Integrate as edit CLs 3611835 3611844 3616942 3617607
Descriptor heap memory fix (saves up to ~100MB).
* Fix a bug where rolling over a thread-local heap immediately after switching to context-local would crash due to an uninitialized syncpoint
* Add a separate value for context local heaps (LOCAL_HEAP_SIZE) and set it to a sensible value (2MB) instead of the current 16MB. This means thread local heaps will be allocated in chunks of ~2MB instead of 16MB. There can be up to 6 thread-local heaps, since they're per-context.
Measured peak descriptor heap memory with LLM: 45MB (compared to 145MB previously)
This improves behaviour, but this code could use a bit of a rewrite to allow it to reclaim memory better. For example, the global heap memory is almost entirely wasted currently, since when a context switches to "context local strategy" it simply throws this memory away, never to be reclaimed. Having the pools thread-local is also not a good strategy. Ideally we want a thread-safe pool allocator for descriptor heaps which is shared between all the contexts .
Change 3624882 by Ben.Woodhouse
Fix virtual destructor warning in D3DX12.h
Change 3626419 by Stewart.Lynch
Merging
//Fortnite/Main/...
to //UE4/Dev-Console/...
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
#jira UECON-264
Change 3626906 by Joe.Barnes
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
Change 3628045 by Stewart.Lynch
Merging
//Fortnite/Main/Engine/Source/Runtime/Core/...
to //UE4/Dev-Console/Engine/Source/Runtime/Core/...
LLM - enabled LLM on Windows
* fixed crash in FLLMObjectAllocator destructor. Only happens on Windows shutdown.
* changed Align to AlignArbitrary in LLMArray. Small memory saving.
* clear ThreadStateAllocator in FLLMTracker::Clear(). Small memory saving
* set program size to zero on windows because it isn't relevant
#jira UECON-282
Change 3632279 by Ben.Woodhouse
Back out changelist 3619862
#jira UE-49472
[CL 3632432 by Joe Barnes in Main branch]
2017-09-07 22:18:47 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4285612)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
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 4042043 by Steve.Robb
GitHub #4705 : Added weak lambda's for delegates and multicast delegates.
Change 4042056 by Robert.Manuszewski
Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need.
Change 4042104 by Robert.Manuszewski
Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects
+ Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize
+ Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command
Change 4042377 by Robert.Manuszewski
Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability.
+ added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame
Change 4042427 by Robert.Manuszewski
Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running
Change 4042482 by Robert.Manuszewski
Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection
Change 4042635 by Robert.Manuszewski
Fix for a potential assert when incremental purge garbage is pending and something forces a full purge
Change 4044092 by Steve.Robb
Fix for forward declared CoreUObject weakobject types in delegates when building in Clang.
Change 4044102 by Robert.Manuszewski
Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled
Change 4044113 by Steve.Robb
Another Clang fix.
Change 4044160 by Robert.Manuszewski
Disregard For GC pool will now be enabled by default in cooked builds
Change 4044287 by Steve.Robb
Typo fix.
Change 4047723 by Graeme.Thornton
TBA: Fixes for import/export name cache and object resolving
Change 4048015 by Graeme.Thornton
TBA: Weak/Soft/Lazy pointer serialization changes
* Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future.
* Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference.
* FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization.
Change 4048021 by Steve.Robb
Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr.
TIsMemberPointer added.
TIsATFunction and TIsATFunctionRef renamed to remove the 'A's.
Change 4048544 by Robert.Manuszewski
Fixing ConditionalBeginDestroy profiling after changes to incremental CBD.
Change 4051028 by Graeme.Thornton
TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false
Change 4051056 by Graeme.Thornton
TBA: High level tagged property / UObject base class text serialization
- UObject serialize converted to structured archive
- Properties written to text individually with text tags, and then binary adapted values
- Only saves, doesn't load
Change 4051111 by Graeme.Thornton
TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up
Change 4051154 by Graeme.Thornton
TBA: Convert a few uobject serializers to structured archive format for example purposes
Change 4051181 by Graeme.Thornton
TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty
Change 4051197 by Graeme.Thornton
TBA: ObjectProperty text serialization
Change 4051216 by Graeme.Thornton
Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to.
Change 4051261 by Graeme.Thornton
TBA: Convert UMetaData to structured archive
Change 4051374 by Steve.Robb
Incorrect assert removed.
Change 4051562 by Robert.Manuszewski
Adding stats for the new GC internal functions
Change 4051614 by Graeme.Thornton
TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial.
Change 4052512 by Graeme.Thornton
TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them.
Change 4053917 by Robert.Manuszewski
Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects
Change 4053919 by Robert.Manuszewski
Added the ability to disable incremental BeginDestroy in ini/project settings
Change 4055518 by Daniel.Lamb
Fixup for deterministic audio generation issue.
Submitted on behalf of Rich.Whitehouse
#jira nojira
#test prefilght automated test.
Change 4056854 by Graeme.Thornton
TBA: Added a test asset to EngineTest which contains all the different property types and test cases.
Change 4056858 by Graeme.Thornton
TBA: Updated USetProperty to proper structured archive usage
Change 4056872 by Graeme.Thornton
TBA: Add map property field to test object
Change 4056873 by Graeme.Thornton
TBA: Convert UMapProperty to full structured archive
Change 4056994 by Graeme.Thornton
TBA: Converted FText over to structured archive. Implemented saving, but not loading.
Change 4059728 by Ben.Marsh
UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories.
Change 4059805 by Graeme.Thornton
Fixed typo in text serialization. Fixes CIS automation test errors
Change 4060007 by Graeme.Thornton
TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive.
Change 4060092 by Stefan.Boberg
Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset)
When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp).
At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place.
Change 4060108 by Stefan.Boberg
Introduced some additional target platform utilities to help with asset cook optimizations
* We now assign each ITargetPlatform a zero-based ordinal value
* Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently.
These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures.
Change 4060143 by Graeme.Thornton
Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007
Needs some other changes that I haven't checked in yet...
Change 4062432 by Ben.Marsh
Fix error message when enumerating P4 changes.
Change 4062648 by Ben.Marsh
Add missing p4 integration action.
Change 4063620 by Graeme.Thornton
Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size.
(https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html)
Change 4066963 by Robert.Manuszewski
Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list.
Change 4067133 by Robert.Manuszewski
Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks.
Change 4067443 by Steve.Robb
FString can now be constructed from any char pointer type and length.
Change 4068156 by Steve.Robb
Fix necessary because of FString constructor change in CL# 4067443.
Change 4070258 by Graeme.Thornton
Fixes for VSCode
Change 4070372 by Graeme.Thornton
TBA: Script struct serialization to structured archives
Change 4071913 by Ben.Marsh
Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor.
Change 4071914 by Ben.Marsh
Missing files.
Change 4071937 by Ben.Marsh
Missing header.
Change 4072015 by Ben.Marsh
Fixes for compiling PakFileUtilities as part of the editor.
Change 4072826 by Steve.Robb
TBitArray::Reserve() added.
TBitArray::Add() overloaded to allow adding multiple bits.
TSparseArray::Reserve() optimized to call the overloaded Add().
Change 4073271 by Daniel.Lamb
Fixed add patch tier in project launcher passing the wrong commandline option to UAT.
#test none
Change 4074708 by James.Hopkin
#core Removed redundant Casts
Change 4074763 by Steve.Robb
Fix for TSparseArray::Reserve() size.
Change 4076063 by Ben.Marsh
Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options.
Change 4077064 by Robert.Manuszewski
Fixing compile error in PakFileUtilities
Change 4077144 by Graeme.Thornton
TBA: TextAssetCommandlet improvements
* Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end
* After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid
Change 4077412 by Ben.Marsh
Set the correct exit code for UnrealPak. Should return 0 on success, not 1.
Change 4077760 by Graeme.Thornton
TBA: Loading fixed for tagged property serialization
Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives
Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it.
Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work.
Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items.
Change 4078800 by Ben.Marsh
Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file.
Change 4079745 by Graeme.Thornton
TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags)
Change 4079847 by Graeme.Thornton
TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases.
Change 4079925 by Ben.Marsh
Fix incorrect assignment when deriving name for chunked pak file.
Change 4080214 by Ben.Marsh
Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects.
Change 4082394 by Graeme.Thornton
CIS fix for variable shadowing warning
Change 4082583 by Ben.Marsh
Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing.
Change 4082652 by Ben.Marsh
Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory.
Change 4082755 by Graeme.Thornton
Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program.
Change 4082756 by Graeme.Thornton
Fixed some incorrect documentation for pakfile compressed chunk headers
Change 4082883 by Graeme.Thornton
Static analysis warning fix
Change 4082912 by Ben.Marsh
Move ExceptionUtils into DotNETUtilities.
Change 4085291 by Graeme.Thornton
TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input
Change 4085523 by Graeme.Thornton
TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code.
Change 4086037 by Robert.Manuszewski
Fix for a potential race condition when two threads want to acquire GC lock
Change 4088655 by Graeme.Thornton
Pak creation now uses the bEnablePakSigning setting from the crypto config json file
Change 4091474 by Steve.Robb
Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit().
Unused variables removed.
Change 4093632 by Steve.Robb
CIS fixes.
Change 4093656 by Graeme.Thornton
Build fix
Change 4093744 by Ben.Marsh
Allow per-chunk settings for whether to enable compression in UnrealPak.
Change 4099712 by Gil.Gribb
UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks.
#jira UE-59686
Change 4099912 by Stefan.Boberg
Cooking timer optimizations:
- Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals.
- Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test)
- Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently
- Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code
This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC
Change 4100519 by Stefan.Boberg
Quick fix for Linux build issue introduced in 4099927
Change 4105327 by Stefan.Boberg
Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more.
Fixes check when using -FullLoadAndSave to cook
Change 4105448 by Stefan.Boberg
- Fixed Linux build warning re: member initialization order
- Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine)
- Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading.
Change 4109031 by Ben.Marsh
Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.
Change 4109588 by Ben.Marsh
UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.
Change 4109595 by Ben.Marsh
Missing project file for DotNETUtilities.
Change 4110724 by Stefan.Boberg
Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time.
The locking was redundant since the annotation maps are managed per thread anyway.
Change 4111304 by Ben.Marsh
UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.
As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.
Change 4112708 by Steve.Robb
Fix for TBitArray::MaxBits in assignment.
Change 4114133 by Stefan.Boberg
Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads.
Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit.
- This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented.
- The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call.
- The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit
Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave)
Change 4115010 by Robert.Manuszewski
Fixing CIS
Change 4115249 by Robert.Manuszewski
Fixing async loading code asserts when exiting game very early due to an error
#jira UE-56267
Change 4117091 by Ben.Marsh
Prevent doubled-up lines when writing status updates with console log verbosity.
Change 4117207 by Ben.Marsh
UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace.
Change 4119175 by Ben.Marsh
UGS: Fix crash writing version files when directory does not already exist.
Change 4119987 by Ben.Marsh
UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt.
Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog).
Change 4119991 by Ben.Marsh
Update version number for UGS launcher to 1.13.
Change 4121943 by Robert.Manuszewski
Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE)
Change 4122592 by Steve.Robb
GitHub #4762 : Improve wording and grammar of Math comments
Also includes improved accuracy in FMath::ComputeBoundingSphereForCone().
Change 4122819 by Stefan.Boberg
Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter
This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime.
Change 4122872 by Stefan.Boberg
CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file.
Change 4123109 by Stefan.Boberg
- Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads
- Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion
Change 4123455 by Ben.Marsh
PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall)
Change 4124207 by Ben.Marsh
UBT: Remove some unnecessary indirection for generated code paths.
Change 4124217 by Ben.Marsh
UBT: Remove another unused variable from UEBuildModuleCPP.
Change 4124377 by Stefan.Boberg
In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again
Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion
Change 4125071 by Stefan.Boberg
Some tweaks to FQueuedThreadPoolBase scheduling and memory management
- Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards
- Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since
no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally)
- Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work
Change 4126132 by Ben.Marsh
UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.
Change 4126867 by Graeme.Thornton
TBA: Fix tagged binary formatter
Change 4127010 by Robert.Manuszewski
AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues.
Change 4127932 by Ben.Marsh
WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.
Change 4129050 by Ben.Marsh
UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade.
Change 4129459 by Graeme.Thornton
TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory
Change 4129515 by Graeme.Thornton
TBA: Add EnterRecord overload that allows outputting of available field names when loading.
Change 4129517 by Graeme.Thornton
TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end
Change 4129518 by Graeme.Thornton
TBA: Added a local const bool to allow easy hacking out of text asset loading support
Change 4129558 by Graeme.Thornton
TBA: Build fix for textasset-less configs
Change 4129614 by Ben.Marsh
UGS: Main window is now restored to normal size when activated by clicking on the tray icon.
#jira UE-60490
Change 4129618 by Ben.Marsh
UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.
Change 4131936 by Robert.Manuszewski
Removing some WIP code accidentally checked in with CL #4121943
Change 4133490 by Ben.Marsh
UGS: Allow the $(Change) variable to be used in more places than just the context menu.
#jira UE-60573
Change 4133550 by Ben.Marsh
UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.
#jira UE-60554
Change 4133681 by Ben.Marsh
UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).
The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.
The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.
Example:
[Default]
+SafeToDeleteFolders=/MyGame/Test/
+SafeToDeleteFolders=/DataService/
+SafeToDeleteExtensions=.xx1
+SafeToDeleteExtensions=.xx2
#jira UE-60575
Change 4135449 by Ben.Marsh
Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)
Change 4135730 by Ben.Marsh
UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.
Change 4135823 by Ben.Marsh
UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.
Change 4135945 by Ben.Marsh
UBT: Fix error running programs with no explicitly enabled or disabled plugins.
Change 4137207 by Ben.Marsh
UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".
Change 4137311 by Stefan.Boberg
Removed child cooker support.
In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity.
Change 4137393 by Ben.Marsh
UGS: Fix display of multiline errors in the status panel.
Change 4141708 by Steve.Robb
GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate
#jira UE-45490
Change 4146655 by Stefan.Boberg
Removed FullGCAssetClasses logic - no longer necessary nor useful
Change 4147318 by Ben.Marsh
UGS: Compress build badges in a column if it shrinks below the size that they would be visible.
Change 4148207 by Ben.Marsh
UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:
+ServiceBadges=RoboMerge
Change 4148282 by Stefan.Boberg
Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value
Change 4148344 by Stefan.Boberg
Fixed minor indentation error (most likely caused by sloppy merge)
Change 4148521 by Stefan.Boberg
Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp
Change 4148639 by Ben.Marsh
UGS: Fix tooltips not showing for changes that have description badges.
Change 4149373 by Ben.Marsh
UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:
+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")
Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.
Change 4149399 by Ben.Marsh
UGS: Update version to 1.143.
Change 4155660 by Steve.Robb
PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments.
Change 4157117 by Ben.Marsh
Fix warning due to plugins disabled in .target.cs file.
Change 4158011 by Ben.Marsh
UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.
Change 4158646 by Ben.Marsh
UGS: Fix exception when login is discovered to have expired during a workspace update.
Change 4158678 by Ben.Marsh
UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed.
Change 4158683 by Ben.Marsh
UGS: Add an unhandled exception filter which sends the exception data to the backend.
Change 4159131 by Ben.Marsh
UGS: Reduce the number of characters displayed for build badges based on the available space.
Change 4159194 by Graeme.Thornton
TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types
Change 4159239 by Steve.Robb
Improved readability and compliance with coding standards.
Change 4159246 by Ben.Marsh
UGS: Allow syncing projects where source code is not available (and various version files don't exist).
#jira UE-60985
Change 4159286 by Ben.Marsh
UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project.
#jira UE-60986
Change 4159302 by Ben.Marsh
UGS: Update version to 1.144.
Change 4160308 by Ben.Marsh
All staging client executables for blueprint projects.
#jira UE-60983
Change 4161567 by Steve.Robb
GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended
Change 4162641 by Ben.Marsh
UGS: Allow customizing the position of custom columns, via the Index=N attribute.
Change 4162647 by Ben.Marsh
UGS: Update version to 1.145.
Change 4165319 by Robert.Manuszewski
PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn)
Change 4166150 by Ben.Marsh
UGS: Include *.inl when looking for code changes.
Change 4166551 by Steve.Robb
Whitespace fixes caused by a bad merge.
Change 4168483 by Ben.Marsh
UGS: Add a more useful error if a file to be synced exceeds the max allowed path length.
Change 4168490 by Ben.Marsh
UGS: Update version to 1.146.
Change 4168551 by Ben.Marsh
UBT: Move bBuildLargeAddressAwareBinary into an exposed setting.
Change 4168560 by Ben.Marsh
UBT: Remove static config variable for controlling which configuration of UHT to use.
Change 4171296 by Ben.Marsh
UGS: Move the check for overlong paths earlier.
Change 4171531 by Ben.Marsh
UBT: Fix exception if BuildConfiguration.xml contains an unknown category.
Change 4183371 by Robert.Manuszewski
Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early
Change 4184312 by Ben.Marsh
UGS: Update version to 1.148
Change 4184480 by Robert.Manuszewski
Removing unused async loading stat
Change 4186390 by Ben.Marsh
UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio.
Change 4188644 by Ben.Marsh
UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT.
Change 4188647 by Ben.Marsh
UBT: Fix exception in target receipt when architecture is null.
Change 4189617 by Ben.Marsh
Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).
Change 4189740 by Ben.Marsh
UAT: Remote code to build UnrealPak when packaging; we use the editor now.
Change 4189860 by Ben.Marsh
UGS: Make the filter for excluding automated lighting rebuilds more explicit.
Change 4190082 by Ben.Marsh
Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use.
- Allow edit and continue for any configuration, not just debug.
- Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory.
- Removed code that tracks PDB output files, since they're modified multiple times during a build.
- Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option.
- Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower.
#jira
Change 4192949 by Ben.Marsh
UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles)
Change 4193218 by Ben.Marsh
Fix formatting.
Change 4197252 by Mike.Erwin
UAT: Fix log output w/ correct count of non-code projects.
#jira none
Change 4197941 by Ben.Marsh
UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix.
Change 4197964 by Ben.Marsh
UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing.
Change 4198144 by Ben.Marsh
UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry".
Change 4198413 by Ben.Marsh
UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly.
Change 4198779 by Ben.Marsh
UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument.
Change 4198825 by Ben.Marsh
UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT.
Change 4199341 by Ben.Marsh
UGS: Update version to 1.149
Change 4199642 by Chad.Garyet
- Deprecate CISController
- Add BuildController to replace CIS GET/POST for builds
- Add LatestController, GET does what CIS/GET used to do
- Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids
- Latest/GET now returns "LatestData" object instead of array of longs
- Updated EventMonitor to match all API changes
- Fixed bug where IDs were getting reset to initial startup values every update loop
Change 4199663 by Chad.Garyet
CIS controller still needs to return an array of longs
#jira none
Change 4199680 by Ben.Marsh
UGS: Update version to 1.150
Change 4200457 by Ben.Marsh
Merging CIS fix for non-development configurations.
Change 4200472 by Mike.Erwin
UAT: fix -skipbuildclient param default
It was defaulting to skipbuildeditor's value, likely a copy-paste error.
#jira none
Change 4202595 by Ben.Marsh
Fix static analysis warning due to constant comparison against macro.
Change 4203250 by Ben.Marsh
UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available.
Change 4206191 by Ben.Marsh
Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out.
Change 4213011 by Ben.Marsh
UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies.
Change 4213487 by Ben.Marsh
UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor.
Change 4213609 by Ben.Marsh
Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not.
Change 4215971 by Ben.Marsh
UBT: Remove action graph visualization code; no longer used.
Change 4215996 by Ben.Marsh
UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed.
Change 4216022 by Ben.Marsh
UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder.
Change 4216031 by Ben.Marsh
UBT: Move all the action executors into their own folder in the project.
Change 4216526 by Ben.Marsh
Fix CIS warnings.
Change 4216544 by Ben.Marsh
Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation.
Change 4216633 by Ben.Marsh
Add support for UnrealPak plugins.
* Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs.
* Programs can now load any runtime modules, as long as they are whitelisted.
* Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory.
* UnrealPak is now always built by default when packaging
* Convert UnrealPak to a modular configuration
Change 4216736 by Ben.Marsh
UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc...
Change 4217447 by Ben.Marsh
Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml
Change 4217451 by Ben.Marsh
Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs
Change 4217617 by Ben.Marsh
Back out changelist 4217451
Change 4222552 by Ben.Marsh
Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported.
Change 4222630 by Ben.Marsh
UBT: Fix spam while generating project files if Clang isn't installed.
Change 4223316 by Ben.Marsh
UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases.
Change 4223318 by Ben.Marsh
UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes).
Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered.
Change 4223401 by Ben.Marsh
UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects.
Change 4223899 by Ben.Marsh
UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified.
Change 4224637 by Ben.Marsh
Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins.
Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program.
Change 4224710 by Ben.Marsh
UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph.
Change 4224715 by Ben.Marsh
UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention.
Change 4224726 by Ben.Marsh
Remove commented out line.
Change 4224903 by Ben.Marsh
Fix non-unity compile error in Stats2.h.
Change 4225051 by Ben.Marsh
Back out changelist 4224710; causing CIS errors due to receipts not matching.
Change 4225134 by Ben.Marsh
Fixing non-unity errors.
Change 4225203 by Ben.Marsh
Another non-unity fix.
Change 4225249 by Ben.Marsh
Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms.
#jira UE-62001
Change 4225512 by Ben.Marsh
BuildGraph: Allow setting the target to build when using the <CsCompile> task.
Change 4228815 by Ben.Marsh
UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run.
Change 4228944 by Ben.Marsh
UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19.
Change 4229028 by Ben.Marsh
UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid.
Change 4229065 by Ben.Marsh
UBT: Move another target setting into the rules assembly.
Change 4229105 by Ben.Marsh
Fix BPT exception when generating project files.
Change 4229311 by Ben.Marsh
UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance.
Change 4229421 by Ben.Marsh
UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs.
Change 4229817 by Ben.Marsh
UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT.
Change 4229824 by Ben.Marsh
UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass.
Change 4229841 by Ben.Marsh
UBT: Remove some legacy code from auto-detecting PCHs.
Change 4230521 by Ben.Marsh
UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)
Change 4230871 by Ben.Marsh
UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used.
Change 4230882 by Ben.Marsh
UAT: Add StreamUtils back into UAT, seems like it's still used there.
Change 4230896 by Ben.Marsh
UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors.
Change 4231014 by Ben.Marsh
WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.
Change 4231032 by Ben.Marsh
Fix CIS.
Change 4231096 by Ben.Marsh
Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files.
Change 4231446 by Ben.Marsh
UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir).
Change 4231460 by Ben.Marsh
Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties.
Change 4233909 by Robert.Manuszewski
PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist)
Change 4233910 by Ben.Marsh
Enable PCHs on IOS. Reduces build time by ~25%.
Change 4234176 by Ben.Marsh
UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.
Change 4234193 by Ben.Marsh
Add the Delete command to Perforce wrapper in DotNETUtilities.
Change 4234688 by Ben.Marsh
UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies.
Change 4234711 by Ben.Marsh
UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).
Example usage (from a .build.cs file):
RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);
Change 4234872 by Ben.Marsh
Expose a flag for whether the engine is installed, to fix issues generating project files.
Change 4234929 by Ben.Marsh
Fix null reference generating receipts when UBT makefiles are active.
Change 4235883 by Chad.Garyet
Merging 4231245 to core
Giving Coordinator its own sln. This should fix what 4158155 was supposed to.
#jira UE-61955
Change 4236075 by Ben.Marsh
CIS fix
Change 4237066 by Robert.Manuszewski
Fix for a potential crash when terminating the engine while it's being initialized
#jira UE-60545
Change 4237078 by Robert.Manuszewski
The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor
Change 4237116 by Ben.Marsh
Rewrite some Windows utility functions to support paths longer than MAX_PATH.
Change 4237158 by Ben.Marsh
Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd().
Change 4237159 by Ben.Marsh
Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers.
Change 4239050 by Ben.Marsh
Missing file
Change 4239318 by Ben.Marsh
Linux CIS fix.
Change 4239685 by Ben.Marsh
Static analysis CIS fix.
Change 4240800 by Ben.Marsh
WorkspaceTool: Include the full command line in the log for any P4 commands.
Change 4240903 by Ben.Marsh
PR #4909: Update copyright notices to 2018 (Contributed by projectgheist)
Change 4241025 by Ben.Marsh
UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE.
Change 4241770 by Ben.Marsh
UBT: Include action number in parallel executor output.
#jira UE-62032
Change 4243469 by Ben.Marsh
TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface.
Change 4245723 by Robert.Manuszewski
Fixing another creash when terminating the engine while initializing.
#jira UE-60545
Change 4245862 by Steve.Robb
VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister.
Change 4246412 by Robert.Manuszewski
The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened.
Change 4246612 by Ben.Marsh
UBT: Fix spelling of "Intellisense".
Change 4249454 by Robert.Manuszewski
Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read
Change 4249513 by Robert.Manuszewski
Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread
Change 4255207 by Ben.Marsh
UGS: Add additional logging whenever a P4 command fails, and when the user is logged out.
Change 4255288 by Ben.Marsh
PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin)
Change 4256422 by Ben.Marsh
UBT: Add an error if a module referenced by a plugin descriptor doesn't exist.
Change 4257385 by Robert.Manuszewski
Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them.
Change 4257454 by Robert.Manuszewski
Added the option to filter clusters listed with gc.ListClusters by objects within them.
Usage:
gc.ListClusters Hierachy With=ObjectName1,ObjectName2...
Change 4257526 by Robert.Manuszewski
It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line
Change 4257822 by Ben.Marsh
Fixes for PlatformShowcase compile errors.
Change 4258771 by Ben.Marsh
UBT: Fix project files not being generated for foreign projects when creating .stub files.
#jira UE-62462
Change 4258790 by Ben.Marsh
UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names.
Change 4259276 by Ben.Marsh
UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary.
Change 4259280 by Ben.Marsh
UBT: Fix embedded framework zips not being uploaded for plugins.
#jira UE-62485
Change 4260236 by Ben.Marsh
UBT: Fix path to generated engine project file.
Change 4260334 by Ben.Marsh
UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place.
Change 4260361 by Ben.Marsh
UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...)
Change 4260559 by Ben.Marsh
UGS: Update version.
Change 4261160 by Robert.Manuszewski
MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash)
#jira UE-62495
Change 4261421 by Ben.Marsh
Force-sync files for building documentation, to fix issues with files not being updated.
#jira UE-62413
Change 4261425 by Ben.Marsh
UBT: Remove some leftover functions for handling the remote toolchain.
Change 4261530 by Ben.Marsh
UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS.
Change 4261611 by Ben.Marsh
UBT: Downgrade warning to a log message, since it appears when generating project files.
Change 4261710 by Ben.Marsh
Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore.
#jira UE-62545
Change 4261831 by Ben.Marsh
Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set.
#jira UE-62463, UE-62384
Change 4262723 by Ben.Marsh
Whitelist plugins that need to be loaded by UFE.
#jira UE-62564
Change 4265444 by Ben.Marsh
Fix incorrect executable name for DebugGame configurations in Xcode.
#jira UE-62574
Change 4265892 by Ben.Marsh
Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored.
#jira UE-62575, UE-62603, UE-62597
Change 4266019 by Josh.Adams
- Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE
Change 4266264 by Ben.Marsh
Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS.
This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not.
#jira UE-62578
Change 4266273 by Ben.Marsh
Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action.
Change 4266614 by Graeme.Thornton
Fix crash when cooking nativized blueprints due to removal of child cooker system.
Change 4266763 by Ben.Marsh
Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform.
#jira UE-62584
Change 4267985 by Robert.Manuszewski
When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated
#jira UE-62600
Change 4268558 by Robert.Manuszewski
PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior.
#jira UE-62600
Change 4269011 by Chad.Garyet
- Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/
Wildcard match was only substringing to 3 chars.
- Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab
Published to ugsapi server 8/8/17
#jira none
Change 4270788 by Ben.Marsh
Fix IOS provisioning data being using when remote compiling on TVOS.
#jira UE-62705
Change 4271916 by Ben.Marsh
Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file.
Change 4271934 by Ben.Marsh
Upload all static libraries in plugin folders as part of remote builds.
#jira UE-62694
Change 4273368 by Ben.Marsh
Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely.
#jira UE-62705
Change 4274049 by Ben.Marsh
Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different.
#jira UE-62751
Change 4274823 by Ben.Marsh
Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line.
Change 4275838 by Ben.Marsh
Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build.
Change 4275913 by Ben.Marsh
Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0.
Change 4284161 by Ben.Marsh
Allow mirroring Oodle files to remote Mac.
Change 4074774 by Steve.Robb
Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct.
TUniqueFunction added, which is a move-only TFunction which can hold move-only functors.
Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did.
FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general.
TArray::HeapPop() made to work with move-only types.
Change 4082591 by Ben.Marsh
Move the Log class from UBT to DotNetUtilities.
Change 4083236 by Ben.Marsh
Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log)
Change 4084107 by Ben.Marsh
UAT: Remove the unused -SkipHeader argument to UE4Build.
Change 4089771 by Steve.Robb
GitHub #4743 : modified VirtualAlloc function flag
https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411
Change 4091456 by Steve.Robb
Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit.
Change 4156437 by Ben.Marsh
Lots and lots of fixes compiling for Clang on Windows.
Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!
* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
* Clang is now supported through AutoSDKs; will be added to CIS.
* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)
Change 4157389 by Ben.Marsh
Few more fixes for compiling the editor with Clang.
Change 4183911 by Ben.Marsh
Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled.
* Incremental linking no longer forces PDB files to be enabled for source files.
* Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain.
* Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again.
* Icon update is disabled for Windows when incremental linking is enabled.
* Removed rarely-used setting to always delete produced items before each build.
Change 4184311 by Ben.Marsh
UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS.
The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary):
[Default]
; Set this to a network share which contains the SDK installers for your site
SdkInstallerDir=
; All the required SDKs for the current version of the engine
+SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android")
+SdkInfo=(Category="Windows", Description="Visual Studio 2017")
+SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128")
+SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0")
Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively.
The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file).
Change 4200452 by Ben.Marsh
UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors.
Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration.
Change 4206189 by Ben.Marsh
UBT: Simplify logic for precompiling binaries.
* Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds.
* Precompiled file lists have been removed from target receipts.
* The manifest now includes all generated headers and precompiled files when run with the -Precompile option.
* Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph.
Change 4215466 by Ben.Marsh
UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform.
Change 4215975 by Ben.Marsh
UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled).
Change 4220154 by Ben.Marsh
Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore.
Change 4224708 by Ben.Marsh
Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities.
Change 4224958 by Ben.Marsh
Remove CoreMinimal.h includes from Core.
Change 4229059 by Ben.Marsh
UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function.
Change 4230508 by Ben.Marsh
Fixup precompiled header setting for samples and games.
Change 4231457 by Ben.Marsh
Fix exceptions in log messages having trailing newlines.
Change 4232406 by Ben.Marsh
UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile.
Change 4234177 by Ben.Marsh
Set up private PCH files everywhere that previously used them.
Change 4235973 by Ben.Marsh
Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH.
Change 4238842 by Ben.Marsh
Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file).
Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example).
* Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without.
* The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro.
* The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED
* The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED.
* Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths.
* Fix 512 character maximum length on editor commands.
260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths.
Change 4255042 by Ben.Marsh
UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously.
The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version.
Change 4260567 by Ben.Marsh
UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class.
#rb none
[CL 4285673 by Ben Marsh in Main branch]
2018-08-14 18:32:34 -04:00
FString OutputFilePath ;
2015-12-10 21:55:37 -05:00
bool bDirectMode = false ;
for ( int32 Index = 1 ; Index < ArgC ; + + Index )
2014-03-14 14:13:41 -04:00
{
2015-12-10 21:55:37 -05:00
if ( FCString : : Strcmp ( ArgV [ Index ] , TEXT ( " -directcompile " ) ) = = 0 )
{
bDirectMode = true ;
break ;
}
2014-03-14 14:13:41 -04:00
}
2015-12-10 21:55:37 -05:00
if ( ! bDirectMode )
{
if ( ArgC < 6 )
{
2021-03-19 16:20:32 -04:00
printf ( " ShaderCompileWorker is called by UnrealEditor, it requires specific command like arguments. \n " ) ;
2015-12-10 21:55:37 -05:00
return - 1 ;
}
2014-03-14 14:13:41 -04:00
2015-12-10 21:55:37 -05:00
// Game exe can pass any number of parameters through with appGetSubprocessCommandline
// so just make sure we have at least the minimum number of parameters.
check ( ArgC > = 6 ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4285612)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
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 4042043 by Steve.Robb
GitHub #4705 : Added weak lambda's for delegates and multicast delegates.
Change 4042056 by Robert.Manuszewski
Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need.
Change 4042104 by Robert.Manuszewski
Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects
+ Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize
+ Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command
Change 4042377 by Robert.Manuszewski
Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability.
+ added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame
Change 4042427 by Robert.Manuszewski
Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running
Change 4042482 by Robert.Manuszewski
Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection
Change 4042635 by Robert.Manuszewski
Fix for a potential assert when incremental purge garbage is pending and something forces a full purge
Change 4044092 by Steve.Robb
Fix for forward declared CoreUObject weakobject types in delegates when building in Clang.
Change 4044102 by Robert.Manuszewski
Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled
Change 4044113 by Steve.Robb
Another Clang fix.
Change 4044160 by Robert.Manuszewski
Disregard For GC pool will now be enabled by default in cooked builds
Change 4044287 by Steve.Robb
Typo fix.
Change 4047723 by Graeme.Thornton
TBA: Fixes for import/export name cache and object resolving
Change 4048015 by Graeme.Thornton
TBA: Weak/Soft/Lazy pointer serialization changes
* Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future.
* Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference.
* FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization.
Change 4048021 by Steve.Robb
Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr.
TIsMemberPointer added.
TIsATFunction and TIsATFunctionRef renamed to remove the 'A's.
Change 4048544 by Robert.Manuszewski
Fixing ConditionalBeginDestroy profiling after changes to incremental CBD.
Change 4051028 by Graeme.Thornton
TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false
Change 4051056 by Graeme.Thornton
TBA: High level tagged property / UObject base class text serialization
- UObject serialize converted to structured archive
- Properties written to text individually with text tags, and then binary adapted values
- Only saves, doesn't load
Change 4051111 by Graeme.Thornton
TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up
Change 4051154 by Graeme.Thornton
TBA: Convert a few uobject serializers to structured archive format for example purposes
Change 4051181 by Graeme.Thornton
TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty
Change 4051197 by Graeme.Thornton
TBA: ObjectProperty text serialization
Change 4051216 by Graeme.Thornton
Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to.
Change 4051261 by Graeme.Thornton
TBA: Convert UMetaData to structured archive
Change 4051374 by Steve.Robb
Incorrect assert removed.
Change 4051562 by Robert.Manuszewski
Adding stats for the new GC internal functions
Change 4051614 by Graeme.Thornton
TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial.
Change 4052512 by Graeme.Thornton
TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them.
Change 4053917 by Robert.Manuszewski
Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects
Change 4053919 by Robert.Manuszewski
Added the ability to disable incremental BeginDestroy in ini/project settings
Change 4055518 by Daniel.Lamb
Fixup for deterministic audio generation issue.
Submitted on behalf of Rich.Whitehouse
#jira nojira
#test prefilght automated test.
Change 4056854 by Graeme.Thornton
TBA: Added a test asset to EngineTest which contains all the different property types and test cases.
Change 4056858 by Graeme.Thornton
TBA: Updated USetProperty to proper structured archive usage
Change 4056872 by Graeme.Thornton
TBA: Add map property field to test object
Change 4056873 by Graeme.Thornton
TBA: Convert UMapProperty to full structured archive
Change 4056994 by Graeme.Thornton
TBA: Converted FText over to structured archive. Implemented saving, but not loading.
Change 4059728 by Ben.Marsh
UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories.
Change 4059805 by Graeme.Thornton
Fixed typo in text serialization. Fixes CIS automation test errors
Change 4060007 by Graeme.Thornton
TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive.
Change 4060092 by Stefan.Boberg
Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset)
When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp).
At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place.
Change 4060108 by Stefan.Boberg
Introduced some additional target platform utilities to help with asset cook optimizations
* We now assign each ITargetPlatform a zero-based ordinal value
* Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently.
These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures.
Change 4060143 by Graeme.Thornton
Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007
Needs some other changes that I haven't checked in yet...
Change 4062432 by Ben.Marsh
Fix error message when enumerating P4 changes.
Change 4062648 by Ben.Marsh
Add missing p4 integration action.
Change 4063620 by Graeme.Thornton
Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size.
(https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html)
Change 4066963 by Robert.Manuszewski
Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list.
Change 4067133 by Robert.Manuszewski
Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks.
Change 4067443 by Steve.Robb
FString can now be constructed from any char pointer type and length.
Change 4068156 by Steve.Robb
Fix necessary because of FString constructor change in CL# 4067443.
Change 4070258 by Graeme.Thornton
Fixes for VSCode
Change 4070372 by Graeme.Thornton
TBA: Script struct serialization to structured archives
Change 4071913 by Ben.Marsh
Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor.
Change 4071914 by Ben.Marsh
Missing files.
Change 4071937 by Ben.Marsh
Missing header.
Change 4072015 by Ben.Marsh
Fixes for compiling PakFileUtilities as part of the editor.
Change 4072826 by Steve.Robb
TBitArray::Reserve() added.
TBitArray::Add() overloaded to allow adding multiple bits.
TSparseArray::Reserve() optimized to call the overloaded Add().
Change 4073271 by Daniel.Lamb
Fixed add patch tier in project launcher passing the wrong commandline option to UAT.
#test none
Change 4074708 by James.Hopkin
#core Removed redundant Casts
Change 4074763 by Steve.Robb
Fix for TSparseArray::Reserve() size.
Change 4076063 by Ben.Marsh
Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options.
Change 4077064 by Robert.Manuszewski
Fixing compile error in PakFileUtilities
Change 4077144 by Graeme.Thornton
TBA: TextAssetCommandlet improvements
* Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end
* After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid
Change 4077412 by Ben.Marsh
Set the correct exit code for UnrealPak. Should return 0 on success, not 1.
Change 4077760 by Graeme.Thornton
TBA: Loading fixed for tagged property serialization
Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives
Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it.
Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work.
Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items.
Change 4078800 by Ben.Marsh
Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file.
Change 4079745 by Graeme.Thornton
TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags)
Change 4079847 by Graeme.Thornton
TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases.
Change 4079925 by Ben.Marsh
Fix incorrect assignment when deriving name for chunked pak file.
Change 4080214 by Ben.Marsh
Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects.
Change 4082394 by Graeme.Thornton
CIS fix for variable shadowing warning
Change 4082583 by Ben.Marsh
Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing.
Change 4082652 by Ben.Marsh
Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory.
Change 4082755 by Graeme.Thornton
Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program.
Change 4082756 by Graeme.Thornton
Fixed some incorrect documentation for pakfile compressed chunk headers
Change 4082883 by Graeme.Thornton
Static analysis warning fix
Change 4082912 by Ben.Marsh
Move ExceptionUtils into DotNETUtilities.
Change 4085291 by Graeme.Thornton
TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input
Change 4085523 by Graeme.Thornton
TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code.
Change 4086037 by Robert.Manuszewski
Fix for a potential race condition when two threads want to acquire GC lock
Change 4088655 by Graeme.Thornton
Pak creation now uses the bEnablePakSigning setting from the crypto config json file
Change 4091474 by Steve.Robb
Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit().
Unused variables removed.
Change 4093632 by Steve.Robb
CIS fixes.
Change 4093656 by Graeme.Thornton
Build fix
Change 4093744 by Ben.Marsh
Allow per-chunk settings for whether to enable compression in UnrealPak.
Change 4099712 by Gil.Gribb
UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks.
#jira UE-59686
Change 4099912 by Stefan.Boberg
Cooking timer optimizations:
- Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals.
- Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test)
- Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently
- Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code
This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC
Change 4100519 by Stefan.Boberg
Quick fix for Linux build issue introduced in 4099927
Change 4105327 by Stefan.Boberg
Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more.
Fixes check when using -FullLoadAndSave to cook
Change 4105448 by Stefan.Boberg
- Fixed Linux build warning re: member initialization order
- Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine)
- Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading.
Change 4109031 by Ben.Marsh
Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.
Change 4109588 by Ben.Marsh
UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.
Change 4109595 by Ben.Marsh
Missing project file for DotNETUtilities.
Change 4110724 by Stefan.Boberg
Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time.
The locking was redundant since the annotation maps are managed per thread anyway.
Change 4111304 by Ben.Marsh
UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.
As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.
Change 4112708 by Steve.Robb
Fix for TBitArray::MaxBits in assignment.
Change 4114133 by Stefan.Boberg
Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads.
Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit.
- This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented.
- The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call.
- The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit
Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave)
Change 4115010 by Robert.Manuszewski
Fixing CIS
Change 4115249 by Robert.Manuszewski
Fixing async loading code asserts when exiting game very early due to an error
#jira UE-56267
Change 4117091 by Ben.Marsh
Prevent doubled-up lines when writing status updates with console log verbosity.
Change 4117207 by Ben.Marsh
UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace.
Change 4119175 by Ben.Marsh
UGS: Fix crash writing version files when directory does not already exist.
Change 4119987 by Ben.Marsh
UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt.
Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog).
Change 4119991 by Ben.Marsh
Update version number for UGS launcher to 1.13.
Change 4121943 by Robert.Manuszewski
Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE)
Change 4122592 by Steve.Robb
GitHub #4762 : Improve wording and grammar of Math comments
Also includes improved accuracy in FMath::ComputeBoundingSphereForCone().
Change 4122819 by Stefan.Boberg
Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter
This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime.
Change 4122872 by Stefan.Boberg
CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file.
Change 4123109 by Stefan.Boberg
- Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads
- Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion
Change 4123455 by Ben.Marsh
PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall)
Change 4124207 by Ben.Marsh
UBT: Remove some unnecessary indirection for generated code paths.
Change 4124217 by Ben.Marsh
UBT: Remove another unused variable from UEBuildModuleCPP.
Change 4124377 by Stefan.Boberg
In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again
Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion
Change 4125071 by Stefan.Boberg
Some tweaks to FQueuedThreadPoolBase scheduling and memory management
- Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards
- Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since
no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally)
- Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work
Change 4126132 by Ben.Marsh
UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.
Change 4126867 by Graeme.Thornton
TBA: Fix tagged binary formatter
Change 4127010 by Robert.Manuszewski
AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues.
Change 4127932 by Ben.Marsh
WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.
Change 4129050 by Ben.Marsh
UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade.
Change 4129459 by Graeme.Thornton
TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory
Change 4129515 by Graeme.Thornton
TBA: Add EnterRecord overload that allows outputting of available field names when loading.
Change 4129517 by Graeme.Thornton
TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end
Change 4129518 by Graeme.Thornton
TBA: Added a local const bool to allow easy hacking out of text asset loading support
Change 4129558 by Graeme.Thornton
TBA: Build fix for textasset-less configs
Change 4129614 by Ben.Marsh
UGS: Main window is now restored to normal size when activated by clicking on the tray icon.
#jira UE-60490
Change 4129618 by Ben.Marsh
UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.
Change 4131936 by Robert.Manuszewski
Removing some WIP code accidentally checked in with CL #4121943
Change 4133490 by Ben.Marsh
UGS: Allow the $(Change) variable to be used in more places than just the context menu.
#jira UE-60573
Change 4133550 by Ben.Marsh
UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.
#jira UE-60554
Change 4133681 by Ben.Marsh
UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).
The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.
The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.
Example:
[Default]
+SafeToDeleteFolders=/MyGame/Test/
+SafeToDeleteFolders=/DataService/
+SafeToDeleteExtensions=.xx1
+SafeToDeleteExtensions=.xx2
#jira UE-60575
Change 4135449 by Ben.Marsh
Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)
Change 4135730 by Ben.Marsh
UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.
Change 4135823 by Ben.Marsh
UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.
Change 4135945 by Ben.Marsh
UBT: Fix error running programs with no explicitly enabled or disabled plugins.
Change 4137207 by Ben.Marsh
UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".
Change 4137311 by Stefan.Boberg
Removed child cooker support.
In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity.
Change 4137393 by Ben.Marsh
UGS: Fix display of multiline errors in the status panel.
Change 4141708 by Steve.Robb
GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate
#jira UE-45490
Change 4146655 by Stefan.Boberg
Removed FullGCAssetClasses logic - no longer necessary nor useful
Change 4147318 by Ben.Marsh
UGS: Compress build badges in a column if it shrinks below the size that they would be visible.
Change 4148207 by Ben.Marsh
UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:
+ServiceBadges=RoboMerge
Change 4148282 by Stefan.Boberg
Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value
Change 4148344 by Stefan.Boberg
Fixed minor indentation error (most likely caused by sloppy merge)
Change 4148521 by Stefan.Boberg
Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp
Change 4148639 by Ben.Marsh
UGS: Fix tooltips not showing for changes that have description badges.
Change 4149373 by Ben.Marsh
UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:
+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")
Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.
Change 4149399 by Ben.Marsh
UGS: Update version to 1.143.
Change 4155660 by Steve.Robb
PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments.
Change 4157117 by Ben.Marsh
Fix warning due to plugins disabled in .target.cs file.
Change 4158011 by Ben.Marsh
UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.
Change 4158646 by Ben.Marsh
UGS: Fix exception when login is discovered to have expired during a workspace update.
Change 4158678 by Ben.Marsh
UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed.
Change 4158683 by Ben.Marsh
UGS: Add an unhandled exception filter which sends the exception data to the backend.
Change 4159131 by Ben.Marsh
UGS: Reduce the number of characters displayed for build badges based on the available space.
Change 4159194 by Graeme.Thornton
TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types
Change 4159239 by Steve.Robb
Improved readability and compliance with coding standards.
Change 4159246 by Ben.Marsh
UGS: Allow syncing projects where source code is not available (and various version files don't exist).
#jira UE-60985
Change 4159286 by Ben.Marsh
UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project.
#jira UE-60986
Change 4159302 by Ben.Marsh
UGS: Update version to 1.144.
Change 4160308 by Ben.Marsh
All staging client executables for blueprint projects.
#jira UE-60983
Change 4161567 by Steve.Robb
GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended
Change 4162641 by Ben.Marsh
UGS: Allow customizing the position of custom columns, via the Index=N attribute.
Change 4162647 by Ben.Marsh
UGS: Update version to 1.145.
Change 4165319 by Robert.Manuszewski
PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn)
Change 4166150 by Ben.Marsh
UGS: Include *.inl when looking for code changes.
Change 4166551 by Steve.Robb
Whitespace fixes caused by a bad merge.
Change 4168483 by Ben.Marsh
UGS: Add a more useful error if a file to be synced exceeds the max allowed path length.
Change 4168490 by Ben.Marsh
UGS: Update version to 1.146.
Change 4168551 by Ben.Marsh
UBT: Move bBuildLargeAddressAwareBinary into an exposed setting.
Change 4168560 by Ben.Marsh
UBT: Remove static config variable for controlling which configuration of UHT to use.
Change 4171296 by Ben.Marsh
UGS: Move the check for overlong paths earlier.
Change 4171531 by Ben.Marsh
UBT: Fix exception if BuildConfiguration.xml contains an unknown category.
Change 4183371 by Robert.Manuszewski
Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early
Change 4184312 by Ben.Marsh
UGS: Update version to 1.148
Change 4184480 by Robert.Manuszewski
Removing unused async loading stat
Change 4186390 by Ben.Marsh
UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio.
Change 4188644 by Ben.Marsh
UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT.
Change 4188647 by Ben.Marsh
UBT: Fix exception in target receipt when architecture is null.
Change 4189617 by Ben.Marsh
Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).
Change 4189740 by Ben.Marsh
UAT: Remote code to build UnrealPak when packaging; we use the editor now.
Change 4189860 by Ben.Marsh
UGS: Make the filter for excluding automated lighting rebuilds more explicit.
Change 4190082 by Ben.Marsh
Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use.
- Allow edit and continue for any configuration, not just debug.
- Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory.
- Removed code that tracks PDB output files, since they're modified multiple times during a build.
- Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option.
- Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower.
#jira
Change 4192949 by Ben.Marsh
UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles)
Change 4193218 by Ben.Marsh
Fix formatting.
Change 4197252 by Mike.Erwin
UAT: Fix log output w/ correct count of non-code projects.
#jira none
Change 4197941 by Ben.Marsh
UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix.
Change 4197964 by Ben.Marsh
UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing.
Change 4198144 by Ben.Marsh
UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry".
Change 4198413 by Ben.Marsh
UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly.
Change 4198779 by Ben.Marsh
UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument.
Change 4198825 by Ben.Marsh
UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT.
Change 4199341 by Ben.Marsh
UGS: Update version to 1.149
Change 4199642 by Chad.Garyet
- Deprecate CISController
- Add BuildController to replace CIS GET/POST for builds
- Add LatestController, GET does what CIS/GET used to do
- Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids
- Latest/GET now returns "LatestData" object instead of array of longs
- Updated EventMonitor to match all API changes
- Fixed bug where IDs were getting reset to initial startup values every update loop
Change 4199663 by Chad.Garyet
CIS controller still needs to return an array of longs
#jira none
Change 4199680 by Ben.Marsh
UGS: Update version to 1.150
Change 4200457 by Ben.Marsh
Merging CIS fix for non-development configurations.
Change 4200472 by Mike.Erwin
UAT: fix -skipbuildclient param default
It was defaulting to skipbuildeditor's value, likely a copy-paste error.
#jira none
Change 4202595 by Ben.Marsh
Fix static analysis warning due to constant comparison against macro.
Change 4203250 by Ben.Marsh
UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available.
Change 4206191 by Ben.Marsh
Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out.
Change 4213011 by Ben.Marsh
UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies.
Change 4213487 by Ben.Marsh
UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor.
Change 4213609 by Ben.Marsh
Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not.
Change 4215971 by Ben.Marsh
UBT: Remove action graph visualization code; no longer used.
Change 4215996 by Ben.Marsh
UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed.
Change 4216022 by Ben.Marsh
UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder.
Change 4216031 by Ben.Marsh
UBT: Move all the action executors into their own folder in the project.
Change 4216526 by Ben.Marsh
Fix CIS warnings.
Change 4216544 by Ben.Marsh
Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation.
Change 4216633 by Ben.Marsh
Add support for UnrealPak plugins.
* Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs.
* Programs can now load any runtime modules, as long as they are whitelisted.
* Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory.
* UnrealPak is now always built by default when packaging
* Convert UnrealPak to a modular configuration
Change 4216736 by Ben.Marsh
UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc...
Change 4217447 by Ben.Marsh
Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml
Change 4217451 by Ben.Marsh
Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs
Change 4217617 by Ben.Marsh
Back out changelist 4217451
Change 4222552 by Ben.Marsh
Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported.
Change 4222630 by Ben.Marsh
UBT: Fix spam while generating project files if Clang isn't installed.
Change 4223316 by Ben.Marsh
UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases.
Change 4223318 by Ben.Marsh
UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes).
Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered.
Change 4223401 by Ben.Marsh
UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects.
Change 4223899 by Ben.Marsh
UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified.
Change 4224637 by Ben.Marsh
Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins.
Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program.
Change 4224710 by Ben.Marsh
UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph.
Change 4224715 by Ben.Marsh
UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention.
Change 4224726 by Ben.Marsh
Remove commented out line.
Change 4224903 by Ben.Marsh
Fix non-unity compile error in Stats2.h.
Change 4225051 by Ben.Marsh
Back out changelist 4224710; causing CIS errors due to receipts not matching.
Change 4225134 by Ben.Marsh
Fixing non-unity errors.
Change 4225203 by Ben.Marsh
Another non-unity fix.
Change 4225249 by Ben.Marsh
Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms.
#jira UE-62001
Change 4225512 by Ben.Marsh
BuildGraph: Allow setting the target to build when using the <CsCompile> task.
Change 4228815 by Ben.Marsh
UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run.
Change 4228944 by Ben.Marsh
UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19.
Change 4229028 by Ben.Marsh
UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid.
Change 4229065 by Ben.Marsh
UBT: Move another target setting into the rules assembly.
Change 4229105 by Ben.Marsh
Fix BPT exception when generating project files.
Change 4229311 by Ben.Marsh
UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance.
Change 4229421 by Ben.Marsh
UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs.
Change 4229817 by Ben.Marsh
UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT.
Change 4229824 by Ben.Marsh
UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass.
Change 4229841 by Ben.Marsh
UBT: Remove some legacy code from auto-detecting PCHs.
Change 4230521 by Ben.Marsh
UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)
Change 4230871 by Ben.Marsh
UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used.
Change 4230882 by Ben.Marsh
UAT: Add StreamUtils back into UAT, seems like it's still used there.
Change 4230896 by Ben.Marsh
UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors.
Change 4231014 by Ben.Marsh
WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.
Change 4231032 by Ben.Marsh
Fix CIS.
Change 4231096 by Ben.Marsh
Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files.
Change 4231446 by Ben.Marsh
UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir).
Change 4231460 by Ben.Marsh
Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties.
Change 4233909 by Robert.Manuszewski
PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist)
Change 4233910 by Ben.Marsh
Enable PCHs on IOS. Reduces build time by ~25%.
Change 4234176 by Ben.Marsh
UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.
Change 4234193 by Ben.Marsh
Add the Delete command to Perforce wrapper in DotNETUtilities.
Change 4234688 by Ben.Marsh
UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies.
Change 4234711 by Ben.Marsh
UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).
Example usage (from a .build.cs file):
RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);
Change 4234872 by Ben.Marsh
Expose a flag for whether the engine is installed, to fix issues generating project files.
Change 4234929 by Ben.Marsh
Fix null reference generating receipts when UBT makefiles are active.
Change 4235883 by Chad.Garyet
Merging 4231245 to core
Giving Coordinator its own sln. This should fix what 4158155 was supposed to.
#jira UE-61955
Change 4236075 by Ben.Marsh
CIS fix
Change 4237066 by Robert.Manuszewski
Fix for a potential crash when terminating the engine while it's being initialized
#jira UE-60545
Change 4237078 by Robert.Manuszewski
The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor
Change 4237116 by Ben.Marsh
Rewrite some Windows utility functions to support paths longer than MAX_PATH.
Change 4237158 by Ben.Marsh
Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd().
Change 4237159 by Ben.Marsh
Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers.
Change 4239050 by Ben.Marsh
Missing file
Change 4239318 by Ben.Marsh
Linux CIS fix.
Change 4239685 by Ben.Marsh
Static analysis CIS fix.
Change 4240800 by Ben.Marsh
WorkspaceTool: Include the full command line in the log for any P4 commands.
Change 4240903 by Ben.Marsh
PR #4909: Update copyright notices to 2018 (Contributed by projectgheist)
Change 4241025 by Ben.Marsh
UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE.
Change 4241770 by Ben.Marsh
UBT: Include action number in parallel executor output.
#jira UE-62032
Change 4243469 by Ben.Marsh
TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface.
Change 4245723 by Robert.Manuszewski
Fixing another creash when terminating the engine while initializing.
#jira UE-60545
Change 4245862 by Steve.Robb
VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister.
Change 4246412 by Robert.Manuszewski
The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened.
Change 4246612 by Ben.Marsh
UBT: Fix spelling of "Intellisense".
Change 4249454 by Robert.Manuszewski
Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read
Change 4249513 by Robert.Manuszewski
Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread
Change 4255207 by Ben.Marsh
UGS: Add additional logging whenever a P4 command fails, and when the user is logged out.
Change 4255288 by Ben.Marsh
PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin)
Change 4256422 by Ben.Marsh
UBT: Add an error if a module referenced by a plugin descriptor doesn't exist.
Change 4257385 by Robert.Manuszewski
Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them.
Change 4257454 by Robert.Manuszewski
Added the option to filter clusters listed with gc.ListClusters by objects within them.
Usage:
gc.ListClusters Hierachy With=ObjectName1,ObjectName2...
Change 4257526 by Robert.Manuszewski
It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line
Change 4257822 by Ben.Marsh
Fixes for PlatformShowcase compile errors.
Change 4258771 by Ben.Marsh
UBT: Fix project files not being generated for foreign projects when creating .stub files.
#jira UE-62462
Change 4258790 by Ben.Marsh
UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names.
Change 4259276 by Ben.Marsh
UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary.
Change 4259280 by Ben.Marsh
UBT: Fix embedded framework zips not being uploaded for plugins.
#jira UE-62485
Change 4260236 by Ben.Marsh
UBT: Fix path to generated engine project file.
Change 4260334 by Ben.Marsh
UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place.
Change 4260361 by Ben.Marsh
UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...)
Change 4260559 by Ben.Marsh
UGS: Update version.
Change 4261160 by Robert.Manuszewski
MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash)
#jira UE-62495
Change 4261421 by Ben.Marsh
Force-sync files for building documentation, to fix issues with files not being updated.
#jira UE-62413
Change 4261425 by Ben.Marsh
UBT: Remove some leftover functions for handling the remote toolchain.
Change 4261530 by Ben.Marsh
UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS.
Change 4261611 by Ben.Marsh
UBT: Downgrade warning to a log message, since it appears when generating project files.
Change 4261710 by Ben.Marsh
Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore.
#jira UE-62545
Change 4261831 by Ben.Marsh
Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set.
#jira UE-62463, UE-62384
Change 4262723 by Ben.Marsh
Whitelist plugins that need to be loaded by UFE.
#jira UE-62564
Change 4265444 by Ben.Marsh
Fix incorrect executable name for DebugGame configurations in Xcode.
#jira UE-62574
Change 4265892 by Ben.Marsh
Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored.
#jira UE-62575, UE-62603, UE-62597
Change 4266019 by Josh.Adams
- Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE
Change 4266264 by Ben.Marsh
Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS.
This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not.
#jira UE-62578
Change 4266273 by Ben.Marsh
Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action.
Change 4266614 by Graeme.Thornton
Fix crash when cooking nativized blueprints due to removal of child cooker system.
Change 4266763 by Ben.Marsh
Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform.
#jira UE-62584
Change 4267985 by Robert.Manuszewski
When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated
#jira UE-62600
Change 4268558 by Robert.Manuszewski
PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior.
#jira UE-62600
Change 4269011 by Chad.Garyet
- Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/
Wildcard match was only substringing to 3 chars.
- Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab
Published to ugsapi server 8/8/17
#jira none
Change 4270788 by Ben.Marsh
Fix IOS provisioning data being using when remote compiling on TVOS.
#jira UE-62705
Change 4271916 by Ben.Marsh
Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file.
Change 4271934 by Ben.Marsh
Upload all static libraries in plugin folders as part of remote builds.
#jira UE-62694
Change 4273368 by Ben.Marsh
Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely.
#jira UE-62705
Change 4274049 by Ben.Marsh
Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different.
#jira UE-62751
Change 4274823 by Ben.Marsh
Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line.
Change 4275838 by Ben.Marsh
Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build.
Change 4275913 by Ben.Marsh
Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0.
Change 4284161 by Ben.Marsh
Allow mirroring Oodle files to remote Mac.
Change 4074774 by Steve.Robb
Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct.
TUniqueFunction added, which is a move-only TFunction which can hold move-only functors.
Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did.
FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general.
TArray::HeapPop() made to work with move-only types.
Change 4082591 by Ben.Marsh
Move the Log class from UBT to DotNetUtilities.
Change 4083236 by Ben.Marsh
Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log)
Change 4084107 by Ben.Marsh
UAT: Remove the unused -SkipHeader argument to UE4Build.
Change 4089771 by Steve.Robb
GitHub #4743 : modified VirtualAlloc function flag
https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411
Change 4091456 by Steve.Robb
Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit.
Change 4156437 by Ben.Marsh
Lots and lots of fixes compiling for Clang on Windows.
Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!
* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
* Clang is now supported through AutoSDKs; will be added to CIS.
* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)
Change 4157389 by Ben.Marsh
Few more fixes for compiling the editor with Clang.
Change 4183911 by Ben.Marsh
Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled.
* Incremental linking no longer forces PDB files to be enabled for source files.
* Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain.
* Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again.
* Icon update is disabled for Windows when incremental linking is enabled.
* Removed rarely-used setting to always delete produced items before each build.
Change 4184311 by Ben.Marsh
UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS.
The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary):
[Default]
; Set this to a network share which contains the SDK installers for your site
SdkInstallerDir=
; All the required SDKs for the current version of the engine
+SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android")
+SdkInfo=(Category="Windows", Description="Visual Studio 2017")
+SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128")
+SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0")
Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively.
The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file).
Change 4200452 by Ben.Marsh
UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors.
Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration.
Change 4206189 by Ben.Marsh
UBT: Simplify logic for precompiling binaries.
* Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds.
* Precompiled file lists have been removed from target receipts.
* The manifest now includes all generated headers and precompiled files when run with the -Precompile option.
* Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph.
Change 4215466 by Ben.Marsh
UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform.
Change 4215975 by Ben.Marsh
UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled).
Change 4220154 by Ben.Marsh
Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore.
Change 4224708 by Ben.Marsh
Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities.
Change 4224958 by Ben.Marsh
Remove CoreMinimal.h includes from Core.
Change 4229059 by Ben.Marsh
UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function.
Change 4230508 by Ben.Marsh
Fixup precompiled header setting for samples and games.
Change 4231457 by Ben.Marsh
Fix exceptions in log messages having trailing newlines.
Change 4232406 by Ben.Marsh
UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile.
Change 4234177 by Ben.Marsh
Set up private PCH files everywhere that previously used them.
Change 4235973 by Ben.Marsh
Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH.
Change 4238842 by Ben.Marsh
Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file).
Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example).
* Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without.
* The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro.
* The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED
* The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED.
* Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths.
* Fix 512 character maximum length on editor commands.
260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths.
Change 4255042 by Ben.Marsh
UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously.
The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version.
Change 4260567 by Ben.Marsh
UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class.
#rb none
[CL 4285673 by Ben Marsh in Main branch]
2018-08-14 18:32:34 -04:00
OutputFilePath = ArgV [ 1 ] ;
OutputFilePath + = ArgV [ 5 ] ;
2015-12-10 21:55:37 -05:00
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4285612)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
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 4042043 by Steve.Robb
GitHub #4705 : Added weak lambda's for delegates and multicast delegates.
Change 4042056 by Robert.Manuszewski
Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need.
Change 4042104 by Robert.Manuszewski
Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects
+ Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize
+ Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command
Change 4042377 by Robert.Manuszewski
Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability.
+ added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame
Change 4042427 by Robert.Manuszewski
Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running
Change 4042482 by Robert.Manuszewski
Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection
Change 4042635 by Robert.Manuszewski
Fix for a potential assert when incremental purge garbage is pending and something forces a full purge
Change 4044092 by Steve.Robb
Fix for forward declared CoreUObject weakobject types in delegates when building in Clang.
Change 4044102 by Robert.Manuszewski
Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled
Change 4044113 by Steve.Robb
Another Clang fix.
Change 4044160 by Robert.Manuszewski
Disregard For GC pool will now be enabled by default in cooked builds
Change 4044287 by Steve.Robb
Typo fix.
Change 4047723 by Graeme.Thornton
TBA: Fixes for import/export name cache and object resolving
Change 4048015 by Graeme.Thornton
TBA: Weak/Soft/Lazy pointer serialization changes
* Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future.
* Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference.
* FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization.
Change 4048021 by Steve.Robb
Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr.
TIsMemberPointer added.
TIsATFunction and TIsATFunctionRef renamed to remove the 'A's.
Change 4048544 by Robert.Manuszewski
Fixing ConditionalBeginDestroy profiling after changes to incremental CBD.
Change 4051028 by Graeme.Thornton
TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false
Change 4051056 by Graeme.Thornton
TBA: High level tagged property / UObject base class text serialization
- UObject serialize converted to structured archive
- Properties written to text individually with text tags, and then binary adapted values
- Only saves, doesn't load
Change 4051111 by Graeme.Thornton
TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up
Change 4051154 by Graeme.Thornton
TBA: Convert a few uobject serializers to structured archive format for example purposes
Change 4051181 by Graeme.Thornton
TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty
Change 4051197 by Graeme.Thornton
TBA: ObjectProperty text serialization
Change 4051216 by Graeme.Thornton
Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to.
Change 4051261 by Graeme.Thornton
TBA: Convert UMetaData to structured archive
Change 4051374 by Steve.Robb
Incorrect assert removed.
Change 4051562 by Robert.Manuszewski
Adding stats for the new GC internal functions
Change 4051614 by Graeme.Thornton
TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial.
Change 4052512 by Graeme.Thornton
TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them.
Change 4053917 by Robert.Manuszewski
Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects
Change 4053919 by Robert.Manuszewski
Added the ability to disable incremental BeginDestroy in ini/project settings
Change 4055518 by Daniel.Lamb
Fixup for deterministic audio generation issue.
Submitted on behalf of Rich.Whitehouse
#jira nojira
#test prefilght automated test.
Change 4056854 by Graeme.Thornton
TBA: Added a test asset to EngineTest which contains all the different property types and test cases.
Change 4056858 by Graeme.Thornton
TBA: Updated USetProperty to proper structured archive usage
Change 4056872 by Graeme.Thornton
TBA: Add map property field to test object
Change 4056873 by Graeme.Thornton
TBA: Convert UMapProperty to full structured archive
Change 4056994 by Graeme.Thornton
TBA: Converted FText over to structured archive. Implemented saving, but not loading.
Change 4059728 by Ben.Marsh
UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories.
Change 4059805 by Graeme.Thornton
Fixed typo in text serialization. Fixes CIS automation test errors
Change 4060007 by Graeme.Thornton
TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive.
Change 4060092 by Stefan.Boberg
Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset)
When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp).
At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place.
Change 4060108 by Stefan.Boberg
Introduced some additional target platform utilities to help with asset cook optimizations
* We now assign each ITargetPlatform a zero-based ordinal value
* Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently.
These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures.
Change 4060143 by Graeme.Thornton
Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007
Needs some other changes that I haven't checked in yet...
Change 4062432 by Ben.Marsh
Fix error message when enumerating P4 changes.
Change 4062648 by Ben.Marsh
Add missing p4 integration action.
Change 4063620 by Graeme.Thornton
Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size.
(https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html)
Change 4066963 by Robert.Manuszewski
Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list.
Change 4067133 by Robert.Manuszewski
Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks.
Change 4067443 by Steve.Robb
FString can now be constructed from any char pointer type and length.
Change 4068156 by Steve.Robb
Fix necessary because of FString constructor change in CL# 4067443.
Change 4070258 by Graeme.Thornton
Fixes for VSCode
Change 4070372 by Graeme.Thornton
TBA: Script struct serialization to structured archives
Change 4071913 by Ben.Marsh
Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor.
Change 4071914 by Ben.Marsh
Missing files.
Change 4071937 by Ben.Marsh
Missing header.
Change 4072015 by Ben.Marsh
Fixes for compiling PakFileUtilities as part of the editor.
Change 4072826 by Steve.Robb
TBitArray::Reserve() added.
TBitArray::Add() overloaded to allow adding multiple bits.
TSparseArray::Reserve() optimized to call the overloaded Add().
Change 4073271 by Daniel.Lamb
Fixed add patch tier in project launcher passing the wrong commandline option to UAT.
#test none
Change 4074708 by James.Hopkin
#core Removed redundant Casts
Change 4074763 by Steve.Robb
Fix for TSparseArray::Reserve() size.
Change 4076063 by Ben.Marsh
Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options.
Change 4077064 by Robert.Manuszewski
Fixing compile error in PakFileUtilities
Change 4077144 by Graeme.Thornton
TBA: TextAssetCommandlet improvements
* Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end
* After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid
Change 4077412 by Ben.Marsh
Set the correct exit code for UnrealPak. Should return 0 on success, not 1.
Change 4077760 by Graeme.Thornton
TBA: Loading fixed for tagged property serialization
Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives
Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it.
Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work.
Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items.
Change 4078800 by Ben.Marsh
Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file.
Change 4079745 by Graeme.Thornton
TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags)
Change 4079847 by Graeme.Thornton
TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases.
Change 4079925 by Ben.Marsh
Fix incorrect assignment when deriving name for chunked pak file.
Change 4080214 by Ben.Marsh
Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects.
Change 4082394 by Graeme.Thornton
CIS fix for variable shadowing warning
Change 4082583 by Ben.Marsh
Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing.
Change 4082652 by Ben.Marsh
Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory.
Change 4082755 by Graeme.Thornton
Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program.
Change 4082756 by Graeme.Thornton
Fixed some incorrect documentation for pakfile compressed chunk headers
Change 4082883 by Graeme.Thornton
Static analysis warning fix
Change 4082912 by Ben.Marsh
Move ExceptionUtils into DotNETUtilities.
Change 4085291 by Graeme.Thornton
TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input
Change 4085523 by Graeme.Thornton
TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code.
Change 4086037 by Robert.Manuszewski
Fix for a potential race condition when two threads want to acquire GC lock
Change 4088655 by Graeme.Thornton
Pak creation now uses the bEnablePakSigning setting from the crypto config json file
Change 4091474 by Steve.Robb
Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit().
Unused variables removed.
Change 4093632 by Steve.Robb
CIS fixes.
Change 4093656 by Graeme.Thornton
Build fix
Change 4093744 by Ben.Marsh
Allow per-chunk settings for whether to enable compression in UnrealPak.
Change 4099712 by Gil.Gribb
UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks.
#jira UE-59686
Change 4099912 by Stefan.Boberg
Cooking timer optimizations:
- Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals.
- Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test)
- Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently
- Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code
This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC
Change 4100519 by Stefan.Boberg
Quick fix for Linux build issue introduced in 4099927
Change 4105327 by Stefan.Boberg
Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more.
Fixes check when using -FullLoadAndSave to cook
Change 4105448 by Stefan.Boberg
- Fixed Linux build warning re: member initialization order
- Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine)
- Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading.
Change 4109031 by Ben.Marsh
Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.
Change 4109588 by Ben.Marsh
UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.
Change 4109595 by Ben.Marsh
Missing project file for DotNETUtilities.
Change 4110724 by Stefan.Boberg
Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time.
The locking was redundant since the annotation maps are managed per thread anyway.
Change 4111304 by Ben.Marsh
UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.
As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.
Change 4112708 by Steve.Robb
Fix for TBitArray::MaxBits in assignment.
Change 4114133 by Stefan.Boberg
Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads.
Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit.
- This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented.
- The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call.
- The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit
Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave)
Change 4115010 by Robert.Manuszewski
Fixing CIS
Change 4115249 by Robert.Manuszewski
Fixing async loading code asserts when exiting game very early due to an error
#jira UE-56267
Change 4117091 by Ben.Marsh
Prevent doubled-up lines when writing status updates with console log verbosity.
Change 4117207 by Ben.Marsh
UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace.
Change 4119175 by Ben.Marsh
UGS: Fix crash writing version files when directory does not already exist.
Change 4119987 by Ben.Marsh
UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt.
Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog).
Change 4119991 by Ben.Marsh
Update version number for UGS launcher to 1.13.
Change 4121943 by Robert.Manuszewski
Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE)
Change 4122592 by Steve.Robb
GitHub #4762 : Improve wording and grammar of Math comments
Also includes improved accuracy in FMath::ComputeBoundingSphereForCone().
Change 4122819 by Stefan.Boberg
Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter
This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime.
Change 4122872 by Stefan.Boberg
CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file.
Change 4123109 by Stefan.Boberg
- Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads
- Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion
Change 4123455 by Ben.Marsh
PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall)
Change 4124207 by Ben.Marsh
UBT: Remove some unnecessary indirection for generated code paths.
Change 4124217 by Ben.Marsh
UBT: Remove another unused variable from UEBuildModuleCPP.
Change 4124377 by Stefan.Boberg
In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again
Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion
Change 4125071 by Stefan.Boberg
Some tweaks to FQueuedThreadPoolBase scheduling and memory management
- Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards
- Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since
no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally)
- Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work
Change 4126132 by Ben.Marsh
UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.
Change 4126867 by Graeme.Thornton
TBA: Fix tagged binary formatter
Change 4127010 by Robert.Manuszewski
AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues.
Change 4127932 by Ben.Marsh
WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.
Change 4129050 by Ben.Marsh
UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade.
Change 4129459 by Graeme.Thornton
TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory
Change 4129515 by Graeme.Thornton
TBA: Add EnterRecord overload that allows outputting of available field names when loading.
Change 4129517 by Graeme.Thornton
TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end
Change 4129518 by Graeme.Thornton
TBA: Added a local const bool to allow easy hacking out of text asset loading support
Change 4129558 by Graeme.Thornton
TBA: Build fix for textasset-less configs
Change 4129614 by Ben.Marsh
UGS: Main window is now restored to normal size when activated by clicking on the tray icon.
#jira UE-60490
Change 4129618 by Ben.Marsh
UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.
Change 4131936 by Robert.Manuszewski
Removing some WIP code accidentally checked in with CL #4121943
Change 4133490 by Ben.Marsh
UGS: Allow the $(Change) variable to be used in more places than just the context menu.
#jira UE-60573
Change 4133550 by Ben.Marsh
UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.
#jira UE-60554
Change 4133681 by Ben.Marsh
UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).
The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.
The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.
Example:
[Default]
+SafeToDeleteFolders=/MyGame/Test/
+SafeToDeleteFolders=/DataService/
+SafeToDeleteExtensions=.xx1
+SafeToDeleteExtensions=.xx2
#jira UE-60575
Change 4135449 by Ben.Marsh
Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)
Change 4135730 by Ben.Marsh
UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.
Change 4135823 by Ben.Marsh
UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.
Change 4135945 by Ben.Marsh
UBT: Fix error running programs with no explicitly enabled or disabled plugins.
Change 4137207 by Ben.Marsh
UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".
Change 4137311 by Stefan.Boberg
Removed child cooker support.
In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity.
Change 4137393 by Ben.Marsh
UGS: Fix display of multiline errors in the status panel.
Change 4141708 by Steve.Robb
GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate
#jira UE-45490
Change 4146655 by Stefan.Boberg
Removed FullGCAssetClasses logic - no longer necessary nor useful
Change 4147318 by Ben.Marsh
UGS: Compress build badges in a column if it shrinks below the size that they would be visible.
Change 4148207 by Ben.Marsh
UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:
+ServiceBadges=RoboMerge
Change 4148282 by Stefan.Boberg
Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value
Change 4148344 by Stefan.Boberg
Fixed minor indentation error (most likely caused by sloppy merge)
Change 4148521 by Stefan.Boberg
Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp
Change 4148639 by Ben.Marsh
UGS: Fix tooltips not showing for changes that have description badges.
Change 4149373 by Ben.Marsh
UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:
+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")
Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.
Change 4149399 by Ben.Marsh
UGS: Update version to 1.143.
Change 4155660 by Steve.Robb
PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments.
Change 4157117 by Ben.Marsh
Fix warning due to plugins disabled in .target.cs file.
Change 4158011 by Ben.Marsh
UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.
Change 4158646 by Ben.Marsh
UGS: Fix exception when login is discovered to have expired during a workspace update.
Change 4158678 by Ben.Marsh
UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed.
Change 4158683 by Ben.Marsh
UGS: Add an unhandled exception filter which sends the exception data to the backend.
Change 4159131 by Ben.Marsh
UGS: Reduce the number of characters displayed for build badges based on the available space.
Change 4159194 by Graeme.Thornton
TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types
Change 4159239 by Steve.Robb
Improved readability and compliance with coding standards.
Change 4159246 by Ben.Marsh
UGS: Allow syncing projects where source code is not available (and various version files don't exist).
#jira UE-60985
Change 4159286 by Ben.Marsh
UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project.
#jira UE-60986
Change 4159302 by Ben.Marsh
UGS: Update version to 1.144.
Change 4160308 by Ben.Marsh
All staging client executables for blueprint projects.
#jira UE-60983
Change 4161567 by Steve.Robb
GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended
Change 4162641 by Ben.Marsh
UGS: Allow customizing the position of custom columns, via the Index=N attribute.
Change 4162647 by Ben.Marsh
UGS: Update version to 1.145.
Change 4165319 by Robert.Manuszewski
PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn)
Change 4166150 by Ben.Marsh
UGS: Include *.inl when looking for code changes.
Change 4166551 by Steve.Robb
Whitespace fixes caused by a bad merge.
Change 4168483 by Ben.Marsh
UGS: Add a more useful error if a file to be synced exceeds the max allowed path length.
Change 4168490 by Ben.Marsh
UGS: Update version to 1.146.
Change 4168551 by Ben.Marsh
UBT: Move bBuildLargeAddressAwareBinary into an exposed setting.
Change 4168560 by Ben.Marsh
UBT: Remove static config variable for controlling which configuration of UHT to use.
Change 4171296 by Ben.Marsh
UGS: Move the check for overlong paths earlier.
Change 4171531 by Ben.Marsh
UBT: Fix exception if BuildConfiguration.xml contains an unknown category.
Change 4183371 by Robert.Manuszewski
Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early
Change 4184312 by Ben.Marsh
UGS: Update version to 1.148
Change 4184480 by Robert.Manuszewski
Removing unused async loading stat
Change 4186390 by Ben.Marsh
UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio.
Change 4188644 by Ben.Marsh
UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT.
Change 4188647 by Ben.Marsh
UBT: Fix exception in target receipt when architecture is null.
Change 4189617 by Ben.Marsh
Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).
Change 4189740 by Ben.Marsh
UAT: Remote code to build UnrealPak when packaging; we use the editor now.
Change 4189860 by Ben.Marsh
UGS: Make the filter for excluding automated lighting rebuilds more explicit.
Change 4190082 by Ben.Marsh
Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use.
- Allow edit and continue for any configuration, not just debug.
- Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory.
- Removed code that tracks PDB output files, since they're modified multiple times during a build.
- Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option.
- Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower.
#jira
Change 4192949 by Ben.Marsh
UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles)
Change 4193218 by Ben.Marsh
Fix formatting.
Change 4197252 by Mike.Erwin
UAT: Fix log output w/ correct count of non-code projects.
#jira none
Change 4197941 by Ben.Marsh
UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix.
Change 4197964 by Ben.Marsh
UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing.
Change 4198144 by Ben.Marsh
UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry".
Change 4198413 by Ben.Marsh
UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly.
Change 4198779 by Ben.Marsh
UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument.
Change 4198825 by Ben.Marsh
UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT.
Change 4199341 by Ben.Marsh
UGS: Update version to 1.149
Change 4199642 by Chad.Garyet
- Deprecate CISController
- Add BuildController to replace CIS GET/POST for builds
- Add LatestController, GET does what CIS/GET used to do
- Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids
- Latest/GET now returns "LatestData" object instead of array of longs
- Updated EventMonitor to match all API changes
- Fixed bug where IDs were getting reset to initial startup values every update loop
Change 4199663 by Chad.Garyet
CIS controller still needs to return an array of longs
#jira none
Change 4199680 by Ben.Marsh
UGS: Update version to 1.150
Change 4200457 by Ben.Marsh
Merging CIS fix for non-development configurations.
Change 4200472 by Mike.Erwin
UAT: fix -skipbuildclient param default
It was defaulting to skipbuildeditor's value, likely a copy-paste error.
#jira none
Change 4202595 by Ben.Marsh
Fix static analysis warning due to constant comparison against macro.
Change 4203250 by Ben.Marsh
UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available.
Change 4206191 by Ben.Marsh
Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out.
Change 4213011 by Ben.Marsh
UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies.
Change 4213487 by Ben.Marsh
UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor.
Change 4213609 by Ben.Marsh
Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not.
Change 4215971 by Ben.Marsh
UBT: Remove action graph visualization code; no longer used.
Change 4215996 by Ben.Marsh
UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed.
Change 4216022 by Ben.Marsh
UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder.
Change 4216031 by Ben.Marsh
UBT: Move all the action executors into their own folder in the project.
Change 4216526 by Ben.Marsh
Fix CIS warnings.
Change 4216544 by Ben.Marsh
Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation.
Change 4216633 by Ben.Marsh
Add support for UnrealPak plugins.
* Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs.
* Programs can now load any runtime modules, as long as they are whitelisted.
* Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory.
* UnrealPak is now always built by default when packaging
* Convert UnrealPak to a modular configuration
Change 4216736 by Ben.Marsh
UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc...
Change 4217447 by Ben.Marsh
Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml
Change 4217451 by Ben.Marsh
Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs
Change 4217617 by Ben.Marsh
Back out changelist 4217451
Change 4222552 by Ben.Marsh
Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported.
Change 4222630 by Ben.Marsh
UBT: Fix spam while generating project files if Clang isn't installed.
Change 4223316 by Ben.Marsh
UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases.
Change 4223318 by Ben.Marsh
UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes).
Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered.
Change 4223401 by Ben.Marsh
UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects.
Change 4223899 by Ben.Marsh
UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified.
Change 4224637 by Ben.Marsh
Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins.
Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program.
Change 4224710 by Ben.Marsh
UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph.
Change 4224715 by Ben.Marsh
UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention.
Change 4224726 by Ben.Marsh
Remove commented out line.
Change 4224903 by Ben.Marsh
Fix non-unity compile error in Stats2.h.
Change 4225051 by Ben.Marsh
Back out changelist 4224710; causing CIS errors due to receipts not matching.
Change 4225134 by Ben.Marsh
Fixing non-unity errors.
Change 4225203 by Ben.Marsh
Another non-unity fix.
Change 4225249 by Ben.Marsh
Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms.
#jira UE-62001
Change 4225512 by Ben.Marsh
BuildGraph: Allow setting the target to build when using the <CsCompile> task.
Change 4228815 by Ben.Marsh
UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run.
Change 4228944 by Ben.Marsh
UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19.
Change 4229028 by Ben.Marsh
UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid.
Change 4229065 by Ben.Marsh
UBT: Move another target setting into the rules assembly.
Change 4229105 by Ben.Marsh
Fix BPT exception when generating project files.
Change 4229311 by Ben.Marsh
UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance.
Change 4229421 by Ben.Marsh
UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs.
Change 4229817 by Ben.Marsh
UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT.
Change 4229824 by Ben.Marsh
UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass.
Change 4229841 by Ben.Marsh
UBT: Remove some legacy code from auto-detecting PCHs.
Change 4230521 by Ben.Marsh
UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)
Change 4230871 by Ben.Marsh
UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used.
Change 4230882 by Ben.Marsh
UAT: Add StreamUtils back into UAT, seems like it's still used there.
Change 4230896 by Ben.Marsh
UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors.
Change 4231014 by Ben.Marsh
WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.
Change 4231032 by Ben.Marsh
Fix CIS.
Change 4231096 by Ben.Marsh
Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files.
Change 4231446 by Ben.Marsh
UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir).
Change 4231460 by Ben.Marsh
Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties.
Change 4233909 by Robert.Manuszewski
PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist)
Change 4233910 by Ben.Marsh
Enable PCHs on IOS. Reduces build time by ~25%.
Change 4234176 by Ben.Marsh
UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.
Change 4234193 by Ben.Marsh
Add the Delete command to Perforce wrapper in DotNETUtilities.
Change 4234688 by Ben.Marsh
UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies.
Change 4234711 by Ben.Marsh
UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).
Example usage (from a .build.cs file):
RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);
Change 4234872 by Ben.Marsh
Expose a flag for whether the engine is installed, to fix issues generating project files.
Change 4234929 by Ben.Marsh
Fix null reference generating receipts when UBT makefiles are active.
Change 4235883 by Chad.Garyet
Merging 4231245 to core
Giving Coordinator its own sln. This should fix what 4158155 was supposed to.
#jira UE-61955
Change 4236075 by Ben.Marsh
CIS fix
Change 4237066 by Robert.Manuszewski
Fix for a potential crash when terminating the engine while it's being initialized
#jira UE-60545
Change 4237078 by Robert.Manuszewski
The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor
Change 4237116 by Ben.Marsh
Rewrite some Windows utility functions to support paths longer than MAX_PATH.
Change 4237158 by Ben.Marsh
Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd().
Change 4237159 by Ben.Marsh
Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers.
Change 4239050 by Ben.Marsh
Missing file
Change 4239318 by Ben.Marsh
Linux CIS fix.
Change 4239685 by Ben.Marsh
Static analysis CIS fix.
Change 4240800 by Ben.Marsh
WorkspaceTool: Include the full command line in the log for any P4 commands.
Change 4240903 by Ben.Marsh
PR #4909: Update copyright notices to 2018 (Contributed by projectgheist)
Change 4241025 by Ben.Marsh
UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE.
Change 4241770 by Ben.Marsh
UBT: Include action number in parallel executor output.
#jira UE-62032
Change 4243469 by Ben.Marsh
TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface.
Change 4245723 by Robert.Manuszewski
Fixing another creash when terminating the engine while initializing.
#jira UE-60545
Change 4245862 by Steve.Robb
VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister.
Change 4246412 by Robert.Manuszewski
The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened.
Change 4246612 by Ben.Marsh
UBT: Fix spelling of "Intellisense".
Change 4249454 by Robert.Manuszewski
Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read
Change 4249513 by Robert.Manuszewski
Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread
Change 4255207 by Ben.Marsh
UGS: Add additional logging whenever a P4 command fails, and when the user is logged out.
Change 4255288 by Ben.Marsh
PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin)
Change 4256422 by Ben.Marsh
UBT: Add an error if a module referenced by a plugin descriptor doesn't exist.
Change 4257385 by Robert.Manuszewski
Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them.
Change 4257454 by Robert.Manuszewski
Added the option to filter clusters listed with gc.ListClusters by objects within them.
Usage:
gc.ListClusters Hierachy With=ObjectName1,ObjectName2...
Change 4257526 by Robert.Manuszewski
It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line
Change 4257822 by Ben.Marsh
Fixes for PlatformShowcase compile errors.
Change 4258771 by Ben.Marsh
UBT: Fix project files not being generated for foreign projects when creating .stub files.
#jira UE-62462
Change 4258790 by Ben.Marsh
UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names.
Change 4259276 by Ben.Marsh
UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary.
Change 4259280 by Ben.Marsh
UBT: Fix embedded framework zips not being uploaded for plugins.
#jira UE-62485
Change 4260236 by Ben.Marsh
UBT: Fix path to generated engine project file.
Change 4260334 by Ben.Marsh
UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place.
Change 4260361 by Ben.Marsh
UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...)
Change 4260559 by Ben.Marsh
UGS: Update version.
Change 4261160 by Robert.Manuszewski
MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash)
#jira UE-62495
Change 4261421 by Ben.Marsh
Force-sync files for building documentation, to fix issues with files not being updated.
#jira UE-62413
Change 4261425 by Ben.Marsh
UBT: Remove some leftover functions for handling the remote toolchain.
Change 4261530 by Ben.Marsh
UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS.
Change 4261611 by Ben.Marsh
UBT: Downgrade warning to a log message, since it appears when generating project files.
Change 4261710 by Ben.Marsh
Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore.
#jira UE-62545
Change 4261831 by Ben.Marsh
Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set.
#jira UE-62463, UE-62384
Change 4262723 by Ben.Marsh
Whitelist plugins that need to be loaded by UFE.
#jira UE-62564
Change 4265444 by Ben.Marsh
Fix incorrect executable name for DebugGame configurations in Xcode.
#jira UE-62574
Change 4265892 by Ben.Marsh
Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored.
#jira UE-62575, UE-62603, UE-62597
Change 4266019 by Josh.Adams
- Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE
Change 4266264 by Ben.Marsh
Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS.
This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not.
#jira UE-62578
Change 4266273 by Ben.Marsh
Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action.
Change 4266614 by Graeme.Thornton
Fix crash when cooking nativized blueprints due to removal of child cooker system.
Change 4266763 by Ben.Marsh
Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform.
#jira UE-62584
Change 4267985 by Robert.Manuszewski
When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated
#jira UE-62600
Change 4268558 by Robert.Manuszewski
PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior.
#jira UE-62600
Change 4269011 by Chad.Garyet
- Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/
Wildcard match was only substringing to 3 chars.
- Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab
Published to ugsapi server 8/8/17
#jira none
Change 4270788 by Ben.Marsh
Fix IOS provisioning data being using when remote compiling on TVOS.
#jira UE-62705
Change 4271916 by Ben.Marsh
Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file.
Change 4271934 by Ben.Marsh
Upload all static libraries in plugin folders as part of remote builds.
#jira UE-62694
Change 4273368 by Ben.Marsh
Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely.
#jira UE-62705
Change 4274049 by Ben.Marsh
Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different.
#jira UE-62751
Change 4274823 by Ben.Marsh
Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line.
Change 4275838 by Ben.Marsh
Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build.
Change 4275913 by Ben.Marsh
Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0.
Change 4284161 by Ben.Marsh
Allow mirroring Oodle files to remote Mac.
Change 4074774 by Steve.Robb
Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct.
TUniqueFunction added, which is a move-only TFunction which can hold move-only functors.
Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did.
FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general.
TArray::HeapPop() made to work with move-only types.
Change 4082591 by Ben.Marsh
Move the Log class from UBT to DotNetUtilities.
Change 4083236 by Ben.Marsh
Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log)
Change 4084107 by Ben.Marsh
UAT: Remove the unused -SkipHeader argument to UE4Build.
Change 4089771 by Steve.Robb
GitHub #4743 : modified VirtualAlloc function flag
https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411
Change 4091456 by Steve.Robb
Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit.
Change 4156437 by Ben.Marsh
Lots and lots of fixes compiling for Clang on Windows.
Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!
* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
* Clang is now supported through AutoSDKs; will be added to CIS.
* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)
Change 4157389 by Ben.Marsh
Few more fixes for compiling the editor with Clang.
Change 4183911 by Ben.Marsh
Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled.
* Incremental linking no longer forces PDB files to be enabled for source files.
* Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain.
* Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again.
* Icon update is disabled for Windows when incremental linking is enabled.
* Removed rarely-used setting to always delete produced items before each build.
Change 4184311 by Ben.Marsh
UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS.
The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary):
[Default]
; Set this to a network share which contains the SDK installers for your site
SdkInstallerDir=
; All the required SDKs for the current version of the engine
+SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android")
+SdkInfo=(Category="Windows", Description="Visual Studio 2017")
+SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128")
+SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0")
Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively.
The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file).
Change 4200452 by Ben.Marsh
UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors.
Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration.
Change 4206189 by Ben.Marsh
UBT: Simplify logic for precompiling binaries.
* Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds.
* Precompiled file lists have been removed from target receipts.
* The manifest now includes all generated headers and precompiled files when run with the -Precompile option.
* Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph.
Change 4215466 by Ben.Marsh
UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform.
Change 4215975 by Ben.Marsh
UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled).
Change 4220154 by Ben.Marsh
Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore.
Change 4224708 by Ben.Marsh
Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities.
Change 4224958 by Ben.Marsh
Remove CoreMinimal.h includes from Core.
Change 4229059 by Ben.Marsh
UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function.
Change 4230508 by Ben.Marsh
Fixup precompiled header setting for samples and games.
Change 4231457 by Ben.Marsh
Fix exceptions in log messages having trailing newlines.
Change 4232406 by Ben.Marsh
UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile.
Change 4234177 by Ben.Marsh
Set up private PCH files everywhere that previously used them.
Change 4235973 by Ben.Marsh
Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH.
Change 4238842 by Ben.Marsh
Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file).
Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example).
* Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without.
* The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro.
* The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED
* The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED.
* Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths.
* Fix 512 character maximum length on editor commands.
260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths.
Change 4255042 by Ben.Marsh
UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously.
The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version.
Change 4260567 by Ben.Marsh
UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class.
#rb none
[CL 4285673 by Ben Marsh in Main branch]
2018-08-14 18:32:34 -04:00
return GuardedMainWrapper ( ArgC , ArgV , * OutputFilePath , bDirectMode ) ;
2014-03-14 14:13:41 -04:00
}