Files
UnrealEngineUWP/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLDevice.cpp

1365 lines
49 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
/*=============================================================================
OpenGLDevice.cpp: OpenGL device RHI implementation.
=============================================================================*/
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"
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 "Misc/CoreDelegates.h"
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 "Misc/CommandLine.h"
#include "Misc/ScopeLock.h"
#include "Stats/Stats.h"
#include "Serialization/MemoryWriter.h"
#include "Misc/ConfigCacheIni.h"
#include "HAL/IConsoleManager.h"
#include "RHI.h"
#include "Containers/List.h"
#include "RenderResource.h"
#include "ShaderCore.h"
#include "Shader.h"
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 "RenderUtils.h"
#include "OpenGLDrv.h"
#include "OpenGLDrvPrivate.h"
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
#include "SceneUtils.h"
#include "HardwareInfo.h"
#if PLATFORM_ANDROID
#include <jni.h>
extern bool AndroidThunkCpp_IsOculusMobileApplication();
#endif
#ifndef GL_STEREO
#define GL_STEREO 0x0C33
#endif
extern GLint GMaxOpenGLColorSamples;
extern GLint GMaxOpenGLDepthSamples;
extern GLint GMaxOpenGLIntegerSamples;
extern GLint GMaxOpenGLTextureFilterAnisotropic;
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
extern GLint GMaxOpenGLDrawBuffers;
/** OpenGL texture format table. */
FOpenGLTextureFormat GOpenGLTextureFormats[PF_MAX];
/** Device is necessary for vertex buffers, so they can reach the global device on destruction, and tell it to reset vertex array caches */
static FOpenGLDynamicRHI* PrivateOpenGLDevicePtr = NULL;
/** true if we're not using UBOs. */
bool GUseEmulatedUniformBuffers;
static TAutoConsoleVariable<int32> CVarAllowRGLHIThread(
TEXT("r.OpenGL.AllowRHIThread"),
1,
TEXT("Toggle OpenGL RHI thread support.\n")
TEXT("0: GL scene rendering operations are performed on the render thread.\n")
TEXT("1: GL scene rendering operations are queued onto the RHI thread gaining some parallelism with the render thread. (default, mobile feature levels only)"),
ECVF_RenderThreadSafe | ECVF_ReadOnly);
static TAutoConsoleVariable<int32> CVarGLExtraDeletionLatency(
TEXT("r.OpenGL.ExtraDeletionLatency"),
1,
TEXT("Toggle the engine's deferred deletion queue for RHI resources. (default:1)"),
ECVF_RenderThreadSafe | ECVF_ReadOnly);
void OnQueryCreation( FOpenGLRenderQuery* Query )
{
check(PrivateOpenGLDevicePtr);
PrivateOpenGLDevicePtr->RegisterQuery( Query );
}
void OnQueryDeletion( FOpenGLRenderQuery* Query )
{
if(PrivateOpenGLDevicePtr)
{
PrivateOpenGLDevicePtr->UnregisterQuery( Query );
}
}
void OnQueryInvalidation( void )
{
if(PrivateOpenGLDevicePtr)
{
PrivateOpenGLDevicePtr->InvalidateQueries();
}
}
void OnProgramDeletion( GLint ProgramResource )
{
check(PrivateOpenGLDevicePtr);
PrivateOpenGLDevicePtr->OnProgramDeletion( ProgramResource );
}
void OnBufferDeletion( GLuint BufferResource )
{
check(PrivateOpenGLDevicePtr);
PrivateOpenGLDevicePtr->OnBufferDeletion( BufferResource );
}
void OnPixelBufferDeletion( GLuint PixelBufferResource )
{
check(PrivateOpenGLDevicePtr);
PrivateOpenGLDevicePtr->OnPixelBufferDeletion( PixelBufferResource );
}
void OnUniformBufferDeletion( GLuint UniformBufferResource, uint32 AllocatedSize, bool bStreamDraw, uint32 , uint8* )
{
check(PrivateOpenGLDevicePtr);
PrivateOpenGLDevicePtr->OnUniformBufferDeletion( UniformBufferResource, AllocatedSize, bStreamDraw );
}
void CachedBindBuffer( GLenum Type, GLuint Buffer )
{
check(PrivateOpenGLDevicePtr);
if (Type == GL_ARRAY_BUFFER)
{
PrivateOpenGLDevicePtr->CachedBindArrayBuffer(PrivateOpenGLDevicePtr->GetContextStateForCurrentContext(), Buffer);
}
else if (Type == GL_ELEMENT_ARRAY_BUFFER)
{
PrivateOpenGLDevicePtr->CachedBindElementArrayBuffer(PrivateOpenGLDevicePtr->GetContextStateForCurrentContext(), Buffer);
}
else if (Type == GL_SHADER_STORAGE_BUFFER)
{
PrivateOpenGLDevicePtr->CachedBindStorageBuffer(PrivateOpenGLDevicePtr->GetContextStateForCurrentContext(), Buffer);
}
else
{
checkNoEntry();
}
}
void CachedBindPixelUnpackBuffer( GLenum Type, GLuint Buffer )
{
check(PrivateOpenGLDevicePtr);
PrivateOpenGLDevicePtr->CachedBindPixelUnpackBuffer(PrivateOpenGLDevicePtr->GetContextStateForCurrentContext(),Buffer);
}
void CachedBindUniformBuffer( GLuint Buffer )
{
check(PrivateOpenGLDevicePtr);
if (FOpenGL::SupportsUniformBuffers())
{
PrivateOpenGLDevicePtr->CachedBindUniformBuffer(PrivateOpenGLDevicePtr->GetContextStateForCurrentContext(),Buffer);
}
}
bool IsUniformBufferBound( GLuint Buffer )
{
check(PrivateOpenGLDevicePtr);
return PrivateOpenGLDevicePtr->IsUniformBufferBound(PrivateOpenGLDevicePtr->GetContextStateForCurrentContext(),Buffer);
}
extern void BeginFrame_UniformBufferPoolCleanup();
extern void BeginFrame_VertexBufferCleanup();
extern void BeginFrame_QueryBatchCleanup();
extern void BeginFrame_PollAllFences();
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
FOpenGLContextState& FOpenGLDynamicRHI::GetContextStateForCurrentContext(bool bAssertIfInvalid)
{
// most common case
if (BeginSceneContextType == CONTEXT_Rendering)
{
return RenderingContextState;
}
int32 ContextType = (int32)PlatformOpenGLCurrentContext(PlatformDevice);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
if (bAssertIfInvalid)
{
check(ContextType >= 0);
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2981877 on 2016/05/18 by Rolando.Caloca DR - Fix some PVS warnings - Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize #jira UE-30996 Change 2981966 on 2016/05/18 by Rolando.Caloca DR - Fix OpenGL crash quitting editor #jira UE-25549 Change 2982072 on 2016/05/18 by Uriel.Doyon Fixed a "Build Texture Streaming" crash related to custom outputs. Fixed issue with debug view mode and translucent primitives Fix bug with visibility that made some texture low res. Enabled per instance visibility in the texture streaming order (in game only). Improved InvestigateTexture Logs. Tweaked the mip computations from screen size. Change 2982077 on 2016/05/18 by Uriel.Doyon Removed debug options! Change 2982108 on 2016/05/18 by Olaf.Piesche #jira UE-30772 moving AMD hacks to console variables Change 2982422 on 2016/05/18 by Gil.Gribb UE4 - Potential crash fix on foliage occlusion queries and reflection captures. Change 2982547 on 2016/05/18 by Martin.Mittring UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project Change 2982548 on 2016/05/18 by Martin.Mittring Refactored MRT and outer Pixel Shader output to a struct to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell) Needed for upcoming MeshDecals Change 2982601 on 2016/05/18 by Daniel.Wright Movable skylight now matches stationary for subsurface shading models * Two sided was broken in 4.11, Subsurface had never been handled Change 2982603 on 2016/05/18 by Daniel.Wright DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time * FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions Change 2982618 on 2016/05/18 by Daniel.Wright Better categories for some Rendering project settings Change 2982619 on 2016/05/18 by Daniel.Wright Scene capture 2d improvements * Orthographic projection supported * Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later * Various GBuffer attributes are now available to be captured, including depth * Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters Change 2982664 on 2016/05/18 by Daniel.Wright Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3) Change 2982684 on 2016/05/18 by Martin.Mittring polish ImageValidator Change 2982685 on 2016/05/18 by Martin.Mittring show testimage on sm4 as well Change 2982736 on 2016/05/18 by Uriel.Doyon Improved overbudget retention logic. Updated ListStreamingTextures stats. Change 2982854 on 2016/05/18 by Martin.Mittring ImageValidator can now save/load IVxml file Change 2982863 on 2016/05/18 by Daniel.Wright Fixed shader compile error Change 2982864 on 2016/05/18 by Daniel.Wright Removed deprecation message Change 2982927 on 2016/05/18 by Martin.Mittring ImageValidator is now sorting by time Change 2983743 on 2016/05/19 by Chris.Bunner Saturated tri-planar UV function outputs to prevent negative blending #jira UE-30964 Change 2983747 on 2016/05/19 by Martin.Wilson Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). Change 2984008 on 2016/05/19 by Brian.Karis New contact shadows feature. Hair uses ray cast for nonshadow lights Change 2984009 on 2016/05/19 by Brian.Karis changed to ShadowedBits Change 2984054 on 2016/05/19 by Brian.Karis Deleted old motion blur Change 2984420 on 2016/05/19 by Daniel.Wright Shorter display name for WorldPosition material node Change 2984423 on 2016/05/19 by Daniel.Wright Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations. The View uniform buffer still contains incorrect buffer sizes for this pass. Change 2984432 on 2016/05/19 by Rolando.Caloca DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path) Change 2985415 on 2016/05/20 by Daniel.Wright Added a Texture2D exporter for .hdr Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format Change 2985439 on 2016/05/20 by Daniel.Wright Scene color alpha clear value validation Change 2987173 on 2016/05/23 by Martin.Mittring ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be. Change 2987248 on 2016/05/23 by Martin.Mittring ImageValidator: added Summary, removed timer hack Change 2987369 on 2016/05/23 by Martin.Mittring ImageValidator polish Change 2987390 on 2016/05/23 by Brian.Karis Improvement to temporal aa sharpness and speed. Change 2988038 on 2016/05/24 by Gil.Gribb Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering) Change 2988304 on 2016/05/24 by Martin.Mittring added const to prevent coding errors Change 2988332 on 2016/05/24 by Brian.Karis Fixed motion blur crash on SM4 Change 2988446 on 2016/05/24 by Martin.Mittring nicer UI Change 2988990 on 2016/05/24 by Martin.Mittring fixed UE-31227 Building lighting produces bad results #jira:UE-31227 Change 2989729 on 2016/05/25 by Uriel.Doyon Fixed lightmaps and shadowmaps having low resolutions after building the lighting. #jira UE-31254 Change 2989752 on 2016/05/25 by Olaf.Piesche CVar to disable/freeze GPU particle simulation Change 2989811 on 2016/05/25 by Daniel.Wright Making use of MATERIALBLENDING_ANY_TRANSLUCENT Change 2989812 on 2016/05/25 by Daniel.Wright Hide DFGI show flags from UI Change 2989901 on 2016/05/25 by Daniel.Wright Height fog now works properly in planar reflections * The ray used for computing fog is first clipped by the reflection plane Change 2989904 on 2016/05/25 by Daniel.Wright Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range Change 2989991 on 2016/05/25 by Daniel.Wright Improved usability for DBuffer Decals * 'Show Decals' works correctly, previously would fetch from uninitialized textures * DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used * Improved the PrePass draw event to indicate whether it's full or partial * Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible * r.EarlyZPass can now be changed at runtime, which is useful for profiling Change 2990008 on 2016/05/25 by Daniel.Wright Fixed capsule shadows on skeletal meshes with scaling Change 2990274 on 2016/05/25 by Daniel.Wright Fixed DFAO (from cl 2961310) Change 2990304 on 2016/05/25 by Martin.Mittring OR-22233 GPU Sprites invisible unless solo'd #jira:OR-22233 Change 2990309 on 2016/05/25 by Martin.Mittring Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction, (Early work in progress) Change 2990363 on 2016/05/25 by Daniel.Wright Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s Change 2990392 on 2016/05/25 by Daniel.Wright Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO 0: Apply non-directional AO to specular. 1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO. This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts. 2: (experimental) Cone trace through distance fields along the reflection vector. Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion. Change 2990454 on 2016/05/25 by Martin.Mittring polish readme Change 2990610 on 2016/05/25 by Martin.Mittring fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code #code_review:Shane.Caudle Change 2990754 on 2016/05/25 by Zabir.Hoque Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration. #CodeReview: Martin.Mittring Change 2990801 on 2016/05/25 by Zabir.Hoque Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set. #CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring Change 2991169 on 2016/05/26 by Martin.Mittring fixed compiler warning WARNING: Non-editor build cannot depend on non-redistributable modules. Details: #lockdown: gil.gribb Change 2991238 on 2016/05/26 by Martin.Mittring fixed build fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs) #lockdown:Gil.Gribb Change 2991726 on 2016/05/26 by Daniel.Wright Subsurface materials are now handled with simple forward shading #jira OR-22237 #lockdown gil.gribb Change 2991727 on 2016/05/26 by Daniel.Wright Emissive decals are now supported with simple forward shading #jira OR-22282 #lockdown Gil.Gribb Change 2994849 on 2016/05/31 by Daniel.Wright Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes #lockdown Gil.Gribb Change 2997243 on 2016/06/01 by Gil.Gribb Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering) #lockdown nick.penwarden [CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -04:00
else if (ContextType < 0)
{
return InvalidContextState;
}
if (ContextType == CONTEXT_Rendering)
{
return RenderingContextState;
}
else
{
return SharedContextState;
}
}
void FOpenGLDynamicRHI::RHIBeginFrame()
{
RHIPrivateBeginFrame();
GPUProfilingData.BeginFrame(this);
#if PLATFORM_ANDROID //adding #if since not sure if this is required for any other platform.
PendingState.DepthStencil = 0 ;
#endif
BeginFrame_PollAllFences();
}
void FOpenGLDynamicRHI::RHIEndFrame()
{
GPUProfilingData.EndFrame();
}
void FOpenGLDynamicRHI::RHIPerFrameRHIFlushComplete()
{
BeginFrame_UniformBufferPoolCleanup();
BeginFrame_VertexBufferCleanup();
BeginFrame_QueryBatchCleanup();
}
void FOpenGLDynamicRHI::RHIBeginScene()
{
// Increment the frame counter. INDEX_NONE is a special value meaning "uninitialized", so if
// we hit it just wrap around to zero.
SceneFrameCounter++;
if (SceneFrameCounter == INDEX_NONE)
{
SceneFrameCounter++;
}
static auto* ResourceTableCachingCvar = IConsoleManager::Get().FindTConsoleVariableDataInt(TEXT("rhi.ResourceTableCaching"));
if (ResourceTableCachingCvar == NULL || ResourceTableCachingCvar->GetValueOnAnyThread() == 1)
{
ResourceTableFrameCounter = SceneFrameCounter;
}
BeginSceneContextType = (int32)PlatformOpenGLCurrentContext(PlatformDevice);
}
void FOpenGLDynamicRHI::RHIEndScene()
{
ResourceTableFrameCounter = INDEX_NONE;
BeginSceneContextType = CONTEXT_Other;
}
#if PLATFORM_ANDROID
JNI_METHOD void Java_com_epicgames_unreal_MediaPlayer14_nativeClearCachedAttributeState(JNIEnv* jenv, jobject thiz, jint PositionAttrib, jint TexCoordsAttrib)
{
FOpenGLContextState& ContextState = PrivateOpenGLDevicePtr->GetContextStateForCurrentContext();
// update vertex attributes state
ContextState.SetVertexAttrEnabled(PositionAttrib, false);
ContextState.VertexAttrs[PositionAttrib].Size = -1; // will force attribute update
ContextState.SetVertexAttrEnabled(TexCoordsAttrib, false);
ContextState.VertexAttrs[TexCoordsAttrib].Size = -1; // will force attribute update
// make sure the texture is set again
ContextState.ActiveTexture = 0;
ContextState.Textures[0].Texture = nullptr;
ContextState.Textures[0].Target = 0;
// restore previous program
FOpenGL::BindProgramPipeline(ContextState.Program);
}
#endif
bool GDisableOpenGLDebugOutput = false;
#if defined(GL_ARB_debug_output) || defined(GL_KHR_debug)
/**
* Map GL_DEBUG_SOURCE_*_ARB to a human-readable string.
*/
static const TCHAR* GetOpenGLDebugSourceStringARB(GLenum Source)
{
static const TCHAR* SourceStrings[] =
{
TEXT("API"),
TEXT("System"),
TEXT("ShaderCompiler"),
TEXT("ThirdParty"),
TEXT("Application"),
TEXT("Other")
};
if (Source >= GL_DEBUG_SOURCE_API_ARB && Source <= GL_DEBUG_SOURCE_OTHER_ARB)
{
return SourceStrings[Source - GL_DEBUG_SOURCE_API_ARB];
}
return TEXT("Unknown");
}
/**
* Map GL_DEBUG_TYPE_*_ARB to a human-readable string.
*/
static const TCHAR* GetOpenGLDebugTypeStringARB(GLenum Type)
{
static const TCHAR* TypeStrings[] =
{
TEXT("Error"),
TEXT("Deprecated"),
TEXT("UndefinedBehavior"),
TEXT("Portability"),
TEXT("Performance"),
TEXT("Other")
};
if (Type >= GL_DEBUG_TYPE_ERROR_ARB && Type <= GL_DEBUG_TYPE_OTHER_ARB)
{
return TypeStrings[Type - GL_DEBUG_TYPE_ERROR_ARB];
}
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
#ifdef GL_KHR_debug
{
static const TCHAR* DebugTypeStrings[] =
{
TEXT("Marker"),
TEXT("PushGroup"),
TEXT("PopGroup"),
};
if (Type >= GL_DEBUG_TYPE_MARKER && Type <= GL_DEBUG_TYPE_POP_GROUP)
{
return DebugTypeStrings[Type - GL_DEBUG_TYPE_MARKER];
}
}
#endif
return TEXT("Unknown");
}
/**
* Map GL_DEBUG_SEVERITY_*_ARB to a human-readable string.
*/
static const TCHAR* GetOpenGLDebugSeverityStringARB(GLenum Severity)
{
static const TCHAR* SeverityStrings[] =
{
TEXT("High"),
TEXT("Medium"),
TEXT("Low")
};
if (Severity >= GL_DEBUG_SEVERITY_HIGH_ARB && Severity <= GL_DEBUG_SEVERITY_LOW_ARB)
{
return SeverityStrings[Severity - GL_DEBUG_SEVERITY_HIGH_ARB];
}
#ifdef GL_KHR_debug
if(Severity == GL_DEBUG_SEVERITY_NOTIFICATION)
return TEXT("Notification");
#endif
return TEXT("Unknown");
}
/**
* OpenGL debug message callback. Conforms to GLDEBUGPROCARB.
*/
#if PLATFORM_ANDROID
#ifndef GL_APIENTRY
#define GL_APIENTRY APIENTRY
#endif
static void GL_APIENTRY OpenGLDebugMessageCallbackARB(
#else
static void APIENTRY OpenGLDebugMessageCallbackARB(
#endif
GLenum Source,
GLenum Type,
GLuint Id,
GLenum Severity,
GLsizei Length,
const GLchar* Message,
GLvoid* UserParam)
{
if (GDisableOpenGLDebugOutput)
return;
#if !NO_LOGGING
const TCHAR* SourceStr = GetOpenGLDebugSourceStringARB(Source);
const TCHAR* TypeStr = GetOpenGLDebugTypeStringARB(Type);
const TCHAR* SeverityStr = GetOpenGLDebugSeverityStringARB(Severity);
ELogVerbosity::Type Verbosity = ELogVerbosity::Warning;
if (Type == GL_DEBUG_TYPE_ERROR_ARB && Severity == GL_DEBUG_SEVERITY_HIGH_ARB)
{
Verbosity = ELogVerbosity::Fatal;
}
if ((Verbosity & ELogVerbosity::VerbosityMask) <= FLogCategoryLogRHI::CompileTimeVerbosity)
{
if (!LogRHI.IsSuppressed(Verbosity))
{
FMsg::Logf(__FILE__, __LINE__, LogRHI.GetCategoryName(), Verbosity,
TEXT("[%s][%s][%s][%u] %s"),
SourceStr,
TypeStr,
SeverityStr,
Id,
ANSI_TO_TCHAR(Message)
);
}
// this is a debugging code to catch VIDEO->HOST copying
if (Id == 131186)
{
int A = 5;
}
}
#endif
}
#endif // GL_ARB_debug_output
#ifdef GL_AMD_debug_output
/**
* Map GL_DEBUG_CATEGORY_*_AMD to a human-readable string.
*/
static const TCHAR* GetOpenGLDebugCategoryStringAMD(GLenum Category)
{
static const TCHAR* CategoryStrings[] =
{
TEXT("API"),
TEXT("System"),
TEXT("Deprecation"),
TEXT("UndefinedBehavior"),
TEXT("Performance"),
TEXT("ShaderCompiler"),
TEXT("Application"),
TEXT("Other")
};
if (Category >= GL_DEBUG_CATEGORY_API_ERROR_AMD && Category <= GL_DEBUG_CATEGORY_OTHER_AMD)
{
return CategoryStrings[Category - GL_DEBUG_CATEGORY_API_ERROR_AMD];
}
return TEXT("Unknown");
}
/**
* Map GL_DEBUG_SEVERITY_*_AMD to a human-readable string.
*/
static const TCHAR* GetOpenGLDebugSeverityStringAMD(GLenum Severity)
{
static const TCHAR* SeverityStrings[] =
{
TEXT("High"),
TEXT("Medium"),
TEXT("Low")
};
if (Severity >= GL_DEBUG_SEVERITY_HIGH_AMD && Severity <= GL_DEBUG_SEVERITY_LOW_AMD)
{
return SeverityStrings[Severity - GL_DEBUG_SEVERITY_HIGH_AMD];
}
return TEXT("Unknown");
}
/**
* OpenGL debug message callback. Conforms to GLDEBUGPROCAMD.
*/
static void APIENTRY OpenGLDebugMessageCallbackAMD(
GLuint Id,
GLenum Category,
GLenum Severity,
GLsizei Length,
const GLchar* Message,
GLvoid* UserParam)
{
#if !NO_LOGGING
const TCHAR* CategoryStr = GetOpenGLDebugCategoryStringAMD(Category);
const TCHAR* SeverityStr = GetOpenGLDebugSeverityStringAMD(Severity);
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
ELogVerbosity::Type Verbosity = ELogVerbosity::Warning;
if (Severity == GL_DEBUG_SEVERITY_HIGH_AMD)
{
Verbosity = ELogVerbosity::Fatal;
}
if ((Verbosity & ELogVerbosity::VerbosityMask) <= FLogCategoryLogRHI::CompileTimeVerbosity)
{
if (!LogRHI.IsSuppressed(Verbosity))
{
FMsg::Logf(__FILE__, __LINE__, LogRHI.GetCategoryName(), Verbosity,
TEXT("[%s][%s][%u] %s"),
CategoryStr,
SeverityStr,
Id,
ANSI_TO_TCHAR(Message)
);
}
}
#endif
}
#endif // GL_AMD_debug_output
#if PLATFORM_WINDOWS
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT_ProcAddress = NULL;
#endif
static inline void SetupTextureFormat( EPixelFormat Format, const FOpenGLTextureFormat& GLFormat)
{
GOpenGLTextureFormats[Format] = GLFormat;
GPixelFormats[Format].Supported = (GLFormat.Format != GL_NONE && (GLFormat.InternalFormat[0] != GL_NONE || GLFormat.InternalFormat[1] != GL_NONE));
GPixelFormats[Format].PlatformFormat = GLFormat.InternalFormat[0];
}
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
void InitDebugContext()
{
// Set the debug output callback if the driver supports it.
VERIFY_GL(__FUNCTION__);
bool bDebugOutputInitialized = false;
#if !ENABLE_VERIFY_GL
#if defined(GL_ARB_debug_output)
if (glDebugMessageCallbackARB)
{
// Synchronous output can slow things down, but we'll get better callstack if breaking in or crashing in the callback. This is debug only after all.
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
glDebugMessageCallbackARB(GLDEBUGPROCARB(OpenGLDebugMessageCallbackARB), /*UserParam=*/ NULL);
bDebugOutputInitialized = (glGetError() == GL_NO_ERROR);
}
#elif defined(GL_KHR_debug)
// OpenGLES names the debug functions differently, but they behave the same
if (glDebugMessageCallbackKHR)
{
glDebugMessageCallbackKHR(GLDEBUGPROCKHR(OpenGLDebugMessageCallbackARB), /*UserParam=*/ NULL);
bDebugOutputInitialized = (glGetError() == GL_NO_ERROR);
}
#endif // GL_ARB_debug_output / GL_KHR_debug
#if defined(GL_AMD_debug_output)
if (glDebugMessageCallbackAMD && !bDebugOutputInitialized)
{
glDebugMessageCallbackAMD(OpenGLDebugMessageCallbackAMD, /*UserParam=*/ NULL);
bDebugOutputInitialized = (glGetError() == GL_NO_ERROR);
}
#endif // GL_AMD_debug_output
#endif // !ENABLE_VERIFY_GL
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
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 2996057) ========================== MAJOR FEATURES + CHANGES ========================== Change 2975196 on 2016/05/12 by Robert.Manuszewski Garbage Collector will no longer be responsible for generating class token stream, instead the token stream will be generated on startup or when a class has finished loading. - This way we can avoid very long GC times after new blueprints have been loaded. - Temporarily enabled CLASS_TokenStreamAssembled check in development builds (for testing purposes) Change 2993960 on 2016/05/30 by Robert.Manuszewski Fixing leaked linkers created by blocking load requests during async loading. Change 2959398 on 2016/04/28 by Steve.Robb TMap references are strong and cannot be nulled by pending kill. This makes references in values strong too, even though we only really care about keys, which will corrupt the map when nulled. #jira UE-20828 Change 2960723 on 2016/04/29 by Graeme.Thornton Fix for texture asset import data being ignored when async loaded Change 2960938 on 2016/04/29 by Robert.Manuszewski Nulling out sql db handle after closing it. Change 2967127 on 2016/05/05 by Steve.Robb Move constructors explicitly disabled in generated code. Change 2967143 on 2016/05/05 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. Change 2967164 on 2016/05/05 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer Change 2968650 on 2016/05/06 by Steve.Robb Fix for HotReload copying module manager. Change 2968915 on 2016/05/06 by Robert.Manuszewski Fixing spelling of SetImageIntegrityStatus function name. Change 2970406 on 2016/05/09 by Steve.Robb Static analysis fixes: Function uses '...' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. Change 2970419 on 2016/05/09 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. warning C6011: Dereferencing NULL pointer '...'. warning C6385: Reading invalid data from '...': the readable size is '...' bytes, but '...' bytes may be read. warning C6386: Buffer overrun while writing to '...': the writable size is '...' bytes, but '...' bytes might be written. Change 2970431 on 2016/05/09 by Steve.Robb Static analysis fixes: warning C6299: Explicitly comparing a bit field to a Boolean type will yield unexpected results. Change 2972032 on 2016/05/10 by Steven.Hutton Workflow fixes to bugg / crashgroup filtering. Filters should now correctly persist across queries. Change 2972085 on 2016/05/10 by Steve.Robb Const-correctness fix for FLogCategoryBase::IsSuppressed. Change 2972087 on 2016/05/10 by Steve.Robb ELogVerbosity moved into its own header. Change 2972090 on 2016/05/10 by Steve.Robb Redundant ensure removed. Change 2972103 on 2016/05/10 by Steve.Robb Removal of redundant use of USING_CODE_ANALYSIS. Change 2972139 on 2016/05/10 by Steve.Robb Fix for ensure macros throwing C6326 warnings during static analysis. Change 2972147 on 2016/05/10 by Steve.Robb Fix for UE_LOG_ACTIVE macro throwing C6326 warnings during static analysis. Change 2972162 on 2016/05/10 by Steve.Robb SCOPE_CYCLE_COUNTER_GUARD removed. Change 2972168 on 2016/05/10 by Steve.Robb Compile error fix for logOrEnsureNanError in static analysis builds. Change 2973084 on 2016/05/10 by Chris.Wood Crash Report Server performance tweak Change 2974030 on 2016/05/11 by Steve.Robb Fix for IPropertyHandle::SetValue - used to take a non-const reference to a const UObject*, now it takes const references to both non-const and const UObject*. Change 2974053 on 2016/05/11 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. Change 2974191 on 2016/05/11 by Steve.Robb Fix for template instantiation error in VS2013. Change 2975298 on 2016/05/12 by Steve.Robb Static analysis fixes: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 2975318 on 2016/05/12 by Steve.Robb Fix for hot reload info being reported as warnings. #jira UE-30586 Change 2975447 on 2016/05/12 by Steve.Robb Static analysis fixes: warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant. warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator? warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator? warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant. Did you intend to use the bitwise-and operator? warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant. <expression> is never evaluated and might have side effects. warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead? warning C6316: Incorrect operator: tested expression is constant and non-zero. Use bitwise-and to determine whether bits are set. Change 2975478 on 2016/05/12 by Steve.Robb Static analysis fixes for lots of redundant <zero constant> and <non-zero constant> warnings. Change 2975538 on 2016/05/12 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'StaticResource' Change 2976640 on 2016/05/13 by Robert.Manuszewski Fixing crashes caused by token stream generation changes. Making sure the token stream gets re-generated when a class gets re-linked. #jira UE-30675 Change 2978320 on 2016/05/16 by Steve.Robb Fix for static analysis warnings in XNA headers. Change 2978329 on 2016/05/16 by Steve.Robb Static analysis fixes: warning C6334: sizeof operator applied to an expression with an operator might yield unexpected results: Parentheses can be used to disambiguate certain usages. Change 2980222 on 2016/05/17 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 2980458 on 2016/05/17 by Chris.Wood Attempt to fix crash report submission problems from CRP to CR website [UE-30257] - Crashreports are sometimes missing file attachments Passing crash GUID so that website can easily check for duplicates in future Increased request timeout for AddCrash to be longer than website database timeout Logging retries for future visibility CRP v.1.1.6 Change 2980639 on 2016/05/17 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 2981750 on 2016/05/18 by Steve.Robb check()s in ContainerAllocationPolicies.h changed to checkSlow()s, as they only exist to check that the container has been written correctly. Change 2982106 on 2016/05/18 by John.Mahoney Fixed a crash caused by loading two stat capture files simultaneously in the profiler. If the user tries to load a capture file while another load is in progress, the previous load is now cancelled and cleaned up before proceeding with the new load. Made the delegates in FNewStatsReader explicitly specify which profiler instance they are loading data for, instead of relying on the current value of LoadConnection->InstanceId. This also fixes a crash that occurs when selecting a different capture file in the "Stats dump browser" pane of the profiler (after using Load Folder) while another file is still loading. Cleaned up some weak pointer usage in the profiler window. #jira UE-30741 Change 2983366 on 2016/05/19 by Steven.Hutton Changes for passing crash type directly from CRP to CRW. Change 2983394 on 2016/05/19 by Steven.Hutton Minor changes to add crash with more error reporting Change 2984685 on 2016/05/20 by Robert.Manuszewski Merging //UE4/Dev-Main @ 2984626 to Dev-Core (//UE4/Dev-Core) Change 2985143 on 2016/05/20 by Steve.Robb Missing semi-colons. Change 2986463 on 2016/05/23 by Steve.Robb CopyTemp added to make it clear that you want to make a copy (rather than a move, or an accidental copy) at the call site of a function taking rvalue refs. Change 2986475 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6313: Incorrect operator: zero-valued flag cannot be tested with bitwise-and. Change 2986476 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6313: Incorrect operator: zero-valued flag cannot be tested with bitwise-and. Change 2986480 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant Change 2986515 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6340: Mismatch on sign: 'X' passed as _Param_(N) when some unsigned type is required in call to 'Func' Change 2986680 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'Ptr': the writable size is 'X' bytes, but 'Y' bytes might be written. warning C6387: 'Ptr' could be '0': this does not adhere to the specification for the function 'Func' warning C6031: Return value ignored: 'snprintf'. warning C6340: Mismatch on sign: 'const unsigned int' passed as _Param_(4) when some signed type is required in call to 'snprintf'. Change 2986865 on 2016/05/23 by Robert.Manuszewski Removing redundand AddReferencedObjects functions Change 2987968 on 2016/05/24 by Robert.Manuszewski Removing redundant UPROPERTY macros from intrinsic classes. Change 2987979 on 2016/05/24 by Steve.Robb Optimization of some FString and FPaths operations to produce fewer temporaries. Change 2988297 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 2988430 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6385: Reading invalid data from 'var': the readable size is 'X' bytes, but 'Y' bytes may be read. Change 2988461 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant. warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Change 2988464 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6262: Function uses 'X' bytes of stack: exceeds /analyze:stacksize 'Y'. Consider moving some data to heap. Change 2988494 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 2989411 on 2016/05/25 by Robert.Manuszewski Splitting GC cluster index and intenral object flags to allow more UObjects in editor builds. Change 2989429 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6387: '_Param_(X)' could be '0': this does not adhere to the specification for the function 'Func'. Change 2989982 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'LODPlanesMin'. Change 2990018 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'X' Change 2990077 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2990114 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent. Change 2990125 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. Change 2990162 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed. Change 2990193 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'type' contains the same NULL value as 'type->base_type' did. warning C6011: Dereferencing NULL pointer 'Semantic'. Change 2991006 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C28113: Accessing a local variable dummy via an Interlocked function: This is an unusual usage which could be reconsidered. Change 2991012 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6031: Return value ignored: 'InitializeCriticalSectionAndSpinCount'. Change 2991013 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 2991016 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 2991017 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. Change 2991019 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6292: Ill-defined for-loop: counts up from maximum. Change 2991023 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6322: Empty _except block. warning C28251: Inconsistent annotation for 'WinMain': this instance has no annotations. Change 2991070 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'Ptr1' contains the same NULL value as 'Ptr2' did. Change 2991416 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2992738 on 2016/05/27 by Steve.Robb Revert changes to FString::MatchesWildcard. Change 2992916 on 2016/05/27 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2992960 on 2016/05/27 by Chris.Wood Optimized P4 access in Crash Report Process and MinidumpDiagostics. Change 2992964 on 2016/05/27 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2993956 on 2016/05/30 by Robert.Manuszewski Fixing a crash after adding a new C++ class in the editor - made sure new classes have the token stream assembled after hot-reload. #jira UE-31309 Change 2993977 on 2016/05/30 by Robert.Manuszewski Don't wait for all packages to finish loading before PostLoading those which already have. Change 2994206 on 2016/05/31 by Robert.Manuszewski PR #2429: Three bug fixes required for script support to work properly (Contributed by pluranium) #lockdown Nick.Penwarden [CL 2996251 by Robert Manuszewski in Main branch]
2016-06-01 12:08:56 -04:00
if (!bDebugOutputInitialized)
{
UE_LOG(LogRHI,Warning,TEXT("OpenGL debug output extension not supported!"));
}
// this is to suppress feeding back of the debug markers and groups to the log, since those originate in the app anyways...
#if ENABLE_OPENGL_DEBUG_GROUPS && defined(GL_ARB_debug_output) && GL_ARB_debug_output && GL_KHR_debug
if(glDebugMessageControlARB && bDebugOutputInitialized)
{
glDebugMessageControlARB(GL_DEBUG_SOURCE_APPLICATION_ARB, GL_DEBUG_TYPE_MARKER, GL_DONT_CARE, 0, NULL, GL_FALSE);
glDebugMessageControlARB(GL_DEBUG_SOURCE_APPLICATION_ARB, GL_DEBUG_TYPE_PUSH_GROUP, GL_DONT_CARE, 0, NULL, GL_FALSE);
glDebugMessageControlARB(GL_DEBUG_SOURCE_APPLICATION_ARB, GL_DEBUG_TYPE_POP_GROUP, GL_DONT_CARE, 0, NULL, GL_FALSE);
#ifdef GL_KHR_debug
glDebugMessageControlARB(GL_DEBUG_SOURCE_API_ARB, GL_DEBUG_TYPE_OTHER_ARB, GL_DEBUG_SEVERITY_NOTIFICATION, 0, NULL, GL_FALSE);
#endif
UE_LOG(LogRHI,Verbose,TEXT("disabling reporting back of debug groups and markers to the OpenGL debug output callback"));
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3121996 on 2016/09/12 by Ben.Marsh Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced). * Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result. * Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default. * Visual Studio source code accessor can talk to VS 2017 instances. * Added a VS2017 configuration for UnrealVS, and added precompiled vsix package. * Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express). * Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes. Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed. Change 3189363 on 2016/11/07 by Ben.Marsh Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment. Change 3210598 on 2016/11/27 by Ben.Marsh UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to. Change 3210601 on 2016/11/27 by Ben.Marsh PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman) Change 3210602 on 2016/11/27 by Ben.Marsh PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis) Change 3210605 on 2016/11/27 by Ben.Marsh UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries. Change 3211656 on 2016/11/28 by Ben.Marsh UBT: Move ModuleRules and TargetRules into their own file. Change 3211797 on 2016/11/28 by Ben.Marsh UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only. Change 3211833 on 2016/11/28 by Ben.Marsh UBT: Remove overridable configuration name from target rules. This feature is not used anywhere. Change 3211859 on 2016/11/28 by Ben.Marsh UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead. Change 3211942 on 2016/11/28 by Ben.Marsh UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now. Change 3215333 on 2016/11/30 by Ben.Marsh UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method. Change 3215482 on 2016/11/30 by Ben.Marsh UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported. Change 3215743 on 2016/11/30 by Ben.Marsh UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor. Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor. Change 3215778 on 2016/11/30 by Ben.Marsh UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete. Change 3217681 on 2016/12/01 by Ben.Marsh UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script. Change 3217723 on 2016/12/01 by Ben.Marsh UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled. Change 3217930 on 2016/12/01 by Ben.Marsh UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections. Change 3218762 on 2016/12/02 by Ben.Marsh Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations. Change 3219161 on 2016/12/02 by Ben.Marsh Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory. Change 3219197 on 2016/12/02 by Ben.Marsh Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere. Change 3219209 on 2016/12/02 by Ben.Marsh Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64. Change 3219610 on 2016/12/02 by Ben.Marsh Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful. Change 3219731 on 2016/12/02 by Ben.Marsh UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules. Change 3220796 on 2016/12/04 by Ben.Marsh Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway. Change 3220825 on 2016/12/04 by Ben.Marsh UBT: Change all executors to derive from a common base class (ActionExecutor). Change 3220834 on 2016/12/04 by Ben.Marsh UBT: Remove the global CommandLineContains() function. Change 3222706 on 2016/12/05 by Ben.Marsh Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017. Change 3222712 on 2016/12/05 by Ben.Marsh Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat Change 3223628 on 2016/12/06 by Ben.Marsh Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe Change 3223817 on 2016/12/06 by Ben.Marsh Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text. Change 3224046 on 2016/12/06 by Ben.Marsh Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded. Change 3224792 on 2016/12/07 by Ben.Marsh UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools. Change 3225212 on 2016/12/07 by Ben.Marsh UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy. Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object. The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner. Change 3226310 on 2016/12/07 by Ben.Marsh PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic) Change 3228273 on 2016/12/08 by Ben.Marsh Update copyright notices for QAGame. Change 3229166 on 2016/12/09 by Ben.Marsh UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object. Change 3230601 on 2016/12/12 by Ben.Marsh Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed. Change 3230737 on 2016/12/12 by Ben.Marsh UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands. Change 3230751 on 2016/12/12 by Ben.Marsh UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for. Change 3230804 on 2016/12/12 by Ben.Marsh UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary. Change 3230831 on 2016/12/12 by Ben.Marsh UGS: Warn when trying to switch streams if files are checked out. Change 3231281 on 2016/12/12 by Chad.Garyet Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one Change 3231496 on 2016/12/12 by Ben.Marsh Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015. Change 3231979 on 2016/12/12 by Ben.Marsh UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking. Change 3232619 on 2016/12/13 by Ben.Marsh Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main. [CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
#elif ENABLE_OPENGL_DEBUG_GROUPS && !defined(GL_ARB_debug_output) && defined(GL_KHR_debug) && GL_KHR_debug
if(glDebugMessageControlKHR)
{
Copying //UE4/Dev-Platform to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2719147 on 2015/10/07 by Mark.Satterthwaite Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track. Change 2719182 on 2015/10/07 by Mark.Satterthwaite Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient. Change 2719185 on 2015/10/07 by Mark.Satterthwaite Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw. Change 2719434 on 2015/10/07 by Mark.Satterthwaite Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server. Change 2724764 on 2015/10/12 by Josh.Adams [Initial AppleTV support] Merging //depot/YakBranch/... to //UE4/Dev-Platform/... Change 2726266 on 2015/10/13 by Lee.Clark PS4 - Calc reserve size required for DMA copy when using unsafe command buffers Change 2726401 on 2015/10/13 by Mark.Satterthwaite Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected. #jira UE-15228 Change 2726421 on 2015/10/13 by Lee.Clark PS4 - Don't try to clear invalid targets Change 2727040 on 2015/10/13 by Michael.Trepka Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72 Change 2729783 on 2015/10/15 by Keith.Judge Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty. Change 2729847 on 2015/10/15 by Mark.Satterthwaite Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff. #jira UE-21992 Change 2729865 on 2015/10/15 by Keith.Judge Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition. Change 2729897 on 2015/10/15 by Keith.Judge Fast Semantics - Make sure all GetData() calls are made safe with GPU fences. Change 2729972 on 2015/10/15 by Keith.Judge Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly. This should be marginally quicker as it stops a double call to ClearState(). Change 2731503 on 2015/10/16 by Keith.Judge Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict). Change 2731596 on 2015/10/16 by Keith.Judge Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step. Change 2731928 on 2015/10/16 by Michael.Trepka PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl) Change 2731934 on 2015/10/16 by Michael.Trepka PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura) Change 2732018 on 2015/10/16 by Mark.Satterthwaite Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached. - The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders. - Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this. - Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL. Change 2732365 on 2015/10/16 by Josh.Adams - Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On) Change 2733170 on 2015/10/18 by Terence.Burns Fix for Android IAP query not returning entire inventory. Change 2733174 on 2015/10/18 by Terence.Burns Fix Movie player issue where wait for movie to finish isnt being respected. Seems a stray bUserCanceled event flag was causing this not to be observed. Added some verbose logging to apple movie player. Change 2733488 on 2015/10/19 by Mark.Satterthwaite Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information. - Fixed a bug that would cause invalid shader membership and draw state information to be logged. - Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too. Change 2735226 on 2015/10/20 by Mark.Satterthwaite Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently. #jira UE-21214 #jira UE-19913 Change 2736722 on 2015/10/21 by Daniel.Lamb Improved performance of cooking stats system. Change 2737172 on 2015/10/21 by Daniel.Lamb Improved cooking stats performance for ddc stats.
2015-12-10 16:56:55 -05:00
glDebugMessageControlKHR(GL_DEBUG_SOURCE_APPLICATION_KHR, GL_DEBUG_TYPE_MARKER_KHR, GL_DONT_CARE, 0, NULL, GL_FALSE);
glDebugMessageControlKHR(GL_DEBUG_SOURCE_APPLICATION_KHR, GL_DEBUG_TYPE_PUSH_GROUP_KHR, GL_DONT_CARE, 0, NULL, GL_FALSE);
glDebugMessageControlKHR(GL_DEBUG_SOURCE_APPLICATION_KHR, GL_DEBUG_TYPE_POP_GROUP_KHR, GL_DONT_CARE, 0, NULL, GL_FALSE);
glDebugMessageControlKHR(GL_DEBUG_SOURCE_API_KHR, GL_DEBUG_TYPE_OTHER_KHR, GL_DEBUG_SEVERITY_NOTIFICATION, 0, NULL, GL_FALSE);
UE_LOG(LogRHI,Verbose,TEXT("disabling reporting back of debug groups and markers to the OpenGL debug output callback"));
}
#endif
}
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
TAutoConsoleVariable<FString> CVarOpenGLStripExtensions(
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
TEXT("r.OpenGL.StripExtensions"),
TEXT(""),
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
TEXT("List of comma separated OpenGL extensions to strip from a driver reported extensions string"),
ECVF_ReadOnly);
TAutoConsoleVariable<FString> CVarOpenGLAddExtensions(
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
TEXT("r.OpenGL.AddExtensions"),
TEXT(""),
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
TEXT("List of comma separated OpenGL extensions to add to a driver reported extensions string"),
ECVF_ReadOnly);
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
void ApplyExtensionsOverrides(FString& ExtensionsString)
{
// Strip extensions
{
TArray<FString> ExtList;
FString ExtString = CVarOpenGLStripExtensions.GetValueOnAnyThread();
ExtString.ParseIntoArray(ExtList, TEXT(","), /*InCullEmpty=*/true);
for (FString& ExtName : ExtList)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3550452 by Ben.Marsh UAT: Improve readability of error message when an editor commandlet fails with an error code. Change 3551179 by Ben.Marsh Add methods for reading text files into an array of strings. Change 3551260 by Ben.Marsh Core: Change FFileHelper routines to use enum classes for flags. Change 3555697 by Gil.Gribb Fixed a rare crash when the asset registry scanner found old cooked files with package level compression. #jira UE-47668 Change 3556464 by Ben.Marsh UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files. Change 3557630 by Ben.Marsh Allow the network version to be set via Build.version if it's not overriden from Version.h. Change 3561357 by Gil.Gribb Fixed crashes related to loading old unversioned files in the editor. #jira UE-47806 Change 3565711 by Graeme.Thornton PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx) Change 3565864 by Robert.Manuszewski Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object. Change 3569022 by Ben.Marsh PR #3849: Update gitignore (Contributed by mhutch) Change 3569113 by Ben.Marsh Fix Japanese errors not displaying correctly in the cook output log. #jira UE-47746 Change 3569486 by Ben.Marsh UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set. Change 3570483 by Graeme.Thornton Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors Change 3570513 by Robert.Manuszewski Fix for a race condition with async loading thread enabled. Change 3570664 by Ben.Marsh UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core. Change 3570708 by Robert.Manuszewski Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running. Change 3571592 by Ben.Marsh UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available. Change 3572215 by Graeme.Thornton UBT - Remove some unnecessary using directives - Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself Change 3572437 by Robert.Manuszewski Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects. #jira UE-44996 Change 3572480 by Robert.Manuszewski MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long Change 3573547 by Ben.Marsh Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line. Change 3574562 by Robert.Manuszewski PR #3847: Add GC callbacks for script integrations (Contributed by mhutch) Change 3575017 by Ben.Marsh Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core. Change 3575689 by Ben.Marsh Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds. Change 3575934 by Steve.Robb Fix for nested preprocessor definitions. Change 3575961 by Steve.Robb Fix for nested zeros. Change 3576297 by Robert.Manuszewski Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread. #jira FORT-38977 Change 3576366 by Ben.Marsh Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated. Change 3578290 by Graeme.Thornton Changes to Ionic zip library to allow building on dot net core Change 3578291 by Graeme.Thornton Ionic zip library binaries built for .NET Core Change 3578354 by Graeme.Thornton Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string Change 3578674 by Robert.Manuszewski After loading packages flush linker cache on uncooked platforms to free precache memory Change 3579068 by Steve.Robb Fix for CLASS_Intrinsic getting stomped. Fix to EClassFlags so that they are visible in the debugger. Re-added mysteriously-removed comments. Change 3579228 by Steve.Robb BOM removed. Change 3579297 by Ben.Marsh Fix exception if a plugin lists the same module twice. #jira UE-48232 Change 3579898 by Robert.Manuszewski When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert. Change 3579983 by Robert.Manuszewski More fixes for freeing linker cache memory in the editor. Change 3580012 by Graeme.Thornton Remove redundant copy of FileReference.cs Change 3580408 by Ben.Marsh Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect. Change 3582104 by Graeme.Thornton Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path. Change 3582131 by Graeme.Thornton #define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway. Change 3582645 by Ben.Marsh PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola) #jira UE-48192 Change 3583955 by Robert.Manuszewski Support for EDL cooked packages in the editor Change 3584035 by Graeme.Thornton Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly. Change 3584177 by Robert.Manuszewski Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached) Change 3584315 by Ben.Marsh Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class. Change 3584370 by Ben.Marsh Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes. Change 3584498 by Ben.Marsh Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes. Change 3585003 by Steve.Robb Fix for TChunkedArray ranged-for iteration. #jira UE-48297 Change 3585235 by Ben.Marsh Remove LogEngine extern from Core; use the platform log channels instead. Change 3585942 by Ben.Marsh Move MessageBoxExt() implementation into application layer for platforms that require it. Change 3587071 by Ben.Marsh Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL. Change 3587161 by Ben.Marsh Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h. Change 3587579 by Steve.Robb Fix for Children list not being rebuilt after hot reload. Change 3587584 by Graeme.Thornton Logging improvements for pak signature check failures - Added "PakCorrupt" console command which corrupts the master signature table - Added some extra log information about which block failed - Re-hash the master signature table and to make sure that it hasn't changed since startup - Moved the ensure around so that some extra logging messages can make it out before the ensure is hit - Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again Change 3587586 by Graeme.Thornton Changes to make UBT build and run on .NET Core - Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups - VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use - After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects Change 3587953 by Steve.Robb Allow arbitrary UENUM initializers for enumerators. Editor-only data UENUM support. Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated. #jira UE-46274 Change 3589827 by Graeme.Thornton More fixes for VSCode project generation and for UBT running on .NET Core - Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts - UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel - Added documentation for UEConsoleTraceListener - All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files - Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose" - Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff Change 3589868 by Graeme.Thornton Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures. UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases Change 3589919 by Robert.Manuszewski Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor) Change 3589940 by Graeme.Thornton Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths. Change 3590078 by Graeme.Thornton Fully disable automatic assembly info generation in .NET Core projects Change 3590534 by Robert.Manuszewski Marking UObject as intrinsic clas to fix a crash on UFE startup. Change 3591498 by Gil.Gribb UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading. Change 3591605 by Gil.Gribb UE4 - Follow up to fixing several edge cases in the low level async loading code. Change 3592577 by Graeme.Thornton .NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates Change 3592684 by Steve.Robb Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush. Change 3592710 by Steve.Robb Fix for invalid casts in ListProps command. Some name changes in command output. Change 3592715 by Ben.Marsh Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default. Change 3592767 by Gil.Gribb UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules. Change 3592770 by Gil.Gribb UE4 - Fixed a race condition with async read completion in the prescence of cancels. Change 3593090 by Steve.Robb Better error message when there two clashing type names are found. Change 3593697 by Steve.Robb VisitTupleElements function, which calls a functor for each element in the tuple. Change 3595206 by Ben.Marsh Include additional diagnostics for missing imports when a module load fails. Change 3596140 by Graeme.Thornton Batch file for running MSBuild Change 3596267 by Steve.Robb Thread safety fix to FPaths::GetProjectFilePath(). Change 3596271 by Robert.Manuszewski Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor #jira UE-47535 Change 3596283 by Steve.Robb Redundant casts removed from UHT. Change 3596303 by Ben.Marsh EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window. Change 3596337 by Ben.Marsh UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio. Change 3596367 by Steve.Robb Iterator checks in ranged-for on TMap, TSet and TSparseArray. Change 3596410 by Gil.Gribb UE4 - Improved some error messages on runtime failures in the EDL. Change 3596532 by Ben.Marsh UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013. #jira UE-48119 Change 3596631 by Steve.Robb Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder. Change 3596807 by Ben.Marsh Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense. * UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables. * Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration. Change 3596957 by Steve.Robb UBT can be used to write out an .objsrcmap file for use with the MapFileParser. Renaming of ObjMap to ObjSrcMap in MapFileParser. Change 3597213 by Ben.Marsh Remove AutoReporter. We don't support this any more. Change 3597558 by Ben.Marsh UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax: +ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar") The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable. Change 3597982 by Ben.Marsh Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache). #jira UE-47173 Change 3598045 by Ben.Marsh UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI). Change 3599214 by Ben.Marsh Avoid string duplication when comparing extensions. Change 3600038 by Steve.Robb Fix for maps being modified during iteration in cache compaction. Change 3600136 by Steve.Robb GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool Change 3600214 by Steve.Robb More accurate error message when unsupported template parameters are provided in a TSet property. Change 3600232 by Ben.Marsh UBT: Force UHT to run again if the .build.cs file for a module has changed. #jira UE-46119 Change 3600246 by Steve.Robb GitHub #3045 : allow multiple interface definition in a file Change 3600645 by Ben.Marsh Convert QAGame to Include-What-You-Use. Change 3600897 by Ben.Marsh Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes. Change 3601558 by Graeme.Thornton Simple first pass VSCode editor integration plugin Change 3601658 by Graeme.Thornton Enable intellisense generation for VS Code project files and setup include paths properly Change 3601762 by Ben.Marsh UBT: Add support for adaptive non-unity builds when working from a Git repository. The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged. Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior: <SourceFileWorkingSet> <Provider>Default</Provider> <!-- May be None, Default, Git or Perforce --> <RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. --> <GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH --> </SourceFileWorkingSet> Change 3604032 by Graeme.Thornton First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows. Change 3604038 by Graeme.Thornton Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor. Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code. Change 3604106 by Steve.Robb GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro Change 3604192 by Steve.Robb GitHub #3911 : Improving ToUpper/ToLower efficiency Change 3604273 by Graeme.Thornton IWYU build fixes when malloc profiler is enabled Change 3605457 by Ben.Marsh Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it. Change 3606720 by James.Hopkin Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn. Change 3606807 by Graeme.Thornton Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741. Change 3607026 by James.Hopkin Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed Change 3607142 by Graeme.Thornton UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose. Change 3607146 by Ben.Marsh UGS: Fix exception due to formatting string when Perforce throws an error. Change 3607147 by Steve.Robb Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time. Float and double conversion support added to int properties. NAME_DoubleProperty added. Fix for converting enum class enumerators > 255 to int properties. Change 3607516 by Ben.Marsh PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames) Change 3610421 by Ben.Marsh UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help. Change 3610657 by Ben.Marsh UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables. Change 3611000 by Ben.Marsh UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument. Change 3612471 by Ben.Marsh UBT: Move FastJSON into DotNETUtilities. Change 3613479 by Ben.Marsh UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator. Change 3613910 by Ben.Marsh UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later. Change 3614075 by Ben.Marsh UBT: Remove hacks for testing project file attributes by name. Change 3614090 by Ben.Marsh UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary. Change 3614488 by Ben.Marsh UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled. Change 3614490 by Ben.Marsh UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself. Change 3614962 by Ben.Marsh UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers. Change 3615416 by Ben.Marsh EC: Include an icon showing the overall status of a build in the grid view. Change 3615713 by Ben.Marsh UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder. #jira UE-48987 Change 3616652 by Ben.Marsh Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project. #jira UE-49007 Change 3616680 by Ben.Marsh Add the CodeAPI-HTML.tgz file into the installed engine build. Change 3616767 by Ben.Marsh Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible. Change 3616864 by Ben.Marsh Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended. #jira UE-48711 Change 3619964 by Ben.Marsh UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables. Change 3548930 by Ben.Marsh UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction. Change 3558056 by Ben.Marsh Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()). Change 3563309 by Graeme.Thornton Moved some common C# classes into the DotNETCommon assembly Change 3570283 by Graeme.Thornton Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore Change 3572811 by Ben.Marsh UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables). Change 3573397 by Ben.Marsh UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS. Change 3575659 by Ben.Marsh Remove CHM API documentation. Change 3582103 by Graeme.Thornton Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core Removed reference to System.Windows.Form from UBT. Change 3584113 by Ben.Marsh Move key-mapping functionality into the InputCore module. Change 3584278 by Ben.Marsh Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc. Change 3584453 by Ben.Marsh Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms. Change 3585301 by Ben.Marsh Move PlatformPostInit() into an FPlatformApplicationMisc function. Change 3587050 by Ben.Marsh Move IsThisApplicationForeground() into FPlatformApplicationMisc. Change 3587059 by Ben.Marsh Move RequiresVirtualKeyboard() into FPlatformApplicationMisc. Change 3587119 by Ben.Marsh Move GetAbsoluteLogFilename() into FPlatformMisc. Change 3587800 by Steve.Robb Fixes to container visualizers for types whose pointer type isn't simply Type*. Change 3588393 by Ben.Marsh Move platform output devices into their own headers. Change 3588868 by Ben.Marsh Move creation of console, error and warning output devices int PlatformApplicationMisc. Change 3589879 by Graeme.Thornton All automation projects now have a reference to DotNETUtilities Fixed a build error in the WEX automation library Change 3590034 by Ben.Marsh Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac). Change 3593754 by Steve.Robb Fix for tuple debugger visualization. Change 3597208 by Ben.Marsh Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees. Change 3600163 by Ben.Marsh UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned. #jira UE-46725 Change 3604279 by Graeme.Thornton Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects Change 3606685 by James.Hopkin Removed redundant 'Cast's (casting to either the same type or a base). In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass. Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp. Change 3610950 by Ben.Marsh UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic. Change 3610991 by Ben.Marsh UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line. Change 3612342 by Ben.Marsh UBT: Change JsonObject.Read() to take a FileReference parameter. Change 3612362 by Ben.Marsh UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects. Change 3619128 by Ben.Marsh Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures. [CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
ExtName.TrimStartAndEndInline();
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
if (ExtensionsString.ReplaceInline(*ExtName, TEXT("")) > 0)
{
UE_LOG(LogRHI, Log, TEXT("Stripped extension: %s"), *ExtName);
}
}
}
// Add extensions
{
TArray<FString> ExtList;
FString ExtString = CVarOpenGLAddExtensions.GetValueOnAnyThread();
ExtString.ParseIntoArray(ExtList, TEXT(","), /*InCullEmpty=*/true);
for (FString& ExtName : ExtList)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3550452 by Ben.Marsh UAT: Improve readability of error message when an editor commandlet fails with an error code. Change 3551179 by Ben.Marsh Add methods for reading text files into an array of strings. Change 3551260 by Ben.Marsh Core: Change FFileHelper routines to use enum classes for flags. Change 3555697 by Gil.Gribb Fixed a rare crash when the asset registry scanner found old cooked files with package level compression. #jira UE-47668 Change 3556464 by Ben.Marsh UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files. Change 3557630 by Ben.Marsh Allow the network version to be set via Build.version if it's not overriden from Version.h. Change 3561357 by Gil.Gribb Fixed crashes related to loading old unversioned files in the editor. #jira UE-47806 Change 3565711 by Graeme.Thornton PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx) Change 3565864 by Robert.Manuszewski Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object. Change 3569022 by Ben.Marsh PR #3849: Update gitignore (Contributed by mhutch) Change 3569113 by Ben.Marsh Fix Japanese errors not displaying correctly in the cook output log. #jira UE-47746 Change 3569486 by Ben.Marsh UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set. Change 3570483 by Graeme.Thornton Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors Change 3570513 by Robert.Manuszewski Fix for a race condition with async loading thread enabled. Change 3570664 by Ben.Marsh UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core. Change 3570708 by Robert.Manuszewski Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running. Change 3571592 by Ben.Marsh UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available. Change 3572215 by Graeme.Thornton UBT - Remove some unnecessary using directives - Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself Change 3572437 by Robert.Manuszewski Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects. #jira UE-44996 Change 3572480 by Robert.Manuszewski MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long Change 3573547 by Ben.Marsh Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line. Change 3574562 by Robert.Manuszewski PR #3847: Add GC callbacks for script integrations (Contributed by mhutch) Change 3575017 by Ben.Marsh Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core. Change 3575689 by Ben.Marsh Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds. Change 3575934 by Steve.Robb Fix for nested preprocessor definitions. Change 3575961 by Steve.Robb Fix for nested zeros. Change 3576297 by Robert.Manuszewski Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread. #jira FORT-38977 Change 3576366 by Ben.Marsh Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated. Change 3578290 by Graeme.Thornton Changes to Ionic zip library to allow building on dot net core Change 3578291 by Graeme.Thornton Ionic zip library binaries built for .NET Core Change 3578354 by Graeme.Thornton Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string Change 3578674 by Robert.Manuszewski After loading packages flush linker cache on uncooked platforms to free precache memory Change 3579068 by Steve.Robb Fix for CLASS_Intrinsic getting stomped. Fix to EClassFlags so that they are visible in the debugger. Re-added mysteriously-removed comments. Change 3579228 by Steve.Robb BOM removed. Change 3579297 by Ben.Marsh Fix exception if a plugin lists the same module twice. #jira UE-48232 Change 3579898 by Robert.Manuszewski When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert. Change 3579983 by Robert.Manuszewski More fixes for freeing linker cache memory in the editor. Change 3580012 by Graeme.Thornton Remove redundant copy of FileReference.cs Change 3580408 by Ben.Marsh Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect. Change 3582104 by Graeme.Thornton Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path. Change 3582131 by Graeme.Thornton #define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway. Change 3582645 by Ben.Marsh PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola) #jira UE-48192 Change 3583955 by Robert.Manuszewski Support for EDL cooked packages in the editor Change 3584035 by Graeme.Thornton Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly. Change 3584177 by Robert.Manuszewski Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached) Change 3584315 by Ben.Marsh Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class. Change 3584370 by Ben.Marsh Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes. Change 3584498 by Ben.Marsh Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes. Change 3585003 by Steve.Robb Fix for TChunkedArray ranged-for iteration. #jira UE-48297 Change 3585235 by Ben.Marsh Remove LogEngine extern from Core; use the platform log channels instead. Change 3585942 by Ben.Marsh Move MessageBoxExt() implementation into application layer for platforms that require it. Change 3587071 by Ben.Marsh Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL. Change 3587161 by Ben.Marsh Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h. Change 3587579 by Steve.Robb Fix for Children list not being rebuilt after hot reload. Change 3587584 by Graeme.Thornton Logging improvements for pak signature check failures - Added "PakCorrupt" console command which corrupts the master signature table - Added some extra log information about which block failed - Re-hash the master signature table and to make sure that it hasn't changed since startup - Moved the ensure around so that some extra logging messages can make it out before the ensure is hit - Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again Change 3587586 by Graeme.Thornton Changes to make UBT build and run on .NET Core - Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups - VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use - After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects Change 3587953 by Steve.Robb Allow arbitrary UENUM initializers for enumerators. Editor-only data UENUM support. Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated. #jira UE-46274 Change 3589827 by Graeme.Thornton More fixes for VSCode project generation and for UBT running on .NET Core - Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts - UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel - Added documentation for UEConsoleTraceListener - All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files - Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose" - Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff Change 3589868 by Graeme.Thornton Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures. UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases Change 3589919 by Robert.Manuszewski Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor) Change 3589940 by Graeme.Thornton Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths. Change 3590078 by Graeme.Thornton Fully disable automatic assembly info generation in .NET Core projects Change 3590534 by Robert.Manuszewski Marking UObject as intrinsic clas to fix a crash on UFE startup. Change 3591498 by Gil.Gribb UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading. Change 3591605 by Gil.Gribb UE4 - Follow up to fixing several edge cases in the low level async loading code. Change 3592577 by Graeme.Thornton .NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates Change 3592684 by Steve.Robb Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush. Change 3592710 by Steve.Robb Fix for invalid casts in ListProps command. Some name changes in command output. Change 3592715 by Ben.Marsh Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default. Change 3592767 by Gil.Gribb UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules. Change 3592770 by Gil.Gribb UE4 - Fixed a race condition with async read completion in the prescence of cancels. Change 3593090 by Steve.Robb Better error message when there two clashing type names are found. Change 3593697 by Steve.Robb VisitTupleElements function, which calls a functor for each element in the tuple. Change 3595206 by Ben.Marsh Include additional diagnostics for missing imports when a module load fails. Change 3596140 by Graeme.Thornton Batch file for running MSBuild Change 3596267 by Steve.Robb Thread safety fix to FPaths::GetProjectFilePath(). Change 3596271 by Robert.Manuszewski Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor #jira UE-47535 Change 3596283 by Steve.Robb Redundant casts removed from UHT. Change 3596303 by Ben.Marsh EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window. Change 3596337 by Ben.Marsh UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio. Change 3596367 by Steve.Robb Iterator checks in ranged-for on TMap, TSet and TSparseArray. Change 3596410 by Gil.Gribb UE4 - Improved some error messages on runtime failures in the EDL. Change 3596532 by Ben.Marsh UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013. #jira UE-48119 Change 3596631 by Steve.Robb Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder. Change 3596807 by Ben.Marsh Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense. * UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables. * Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration. Change 3596957 by Steve.Robb UBT can be used to write out an .objsrcmap file for use with the MapFileParser. Renaming of ObjMap to ObjSrcMap in MapFileParser. Change 3597213 by Ben.Marsh Remove AutoReporter. We don't support this any more. Change 3597558 by Ben.Marsh UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax: +ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar") The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable. Change 3597982 by Ben.Marsh Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache). #jira UE-47173 Change 3598045 by Ben.Marsh UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI). Change 3599214 by Ben.Marsh Avoid string duplication when comparing extensions. Change 3600038 by Steve.Robb Fix for maps being modified during iteration in cache compaction. Change 3600136 by Steve.Robb GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool Change 3600214 by Steve.Robb More accurate error message when unsupported template parameters are provided in a TSet property. Change 3600232 by Ben.Marsh UBT: Force UHT to run again if the .build.cs file for a module has changed. #jira UE-46119 Change 3600246 by Steve.Robb GitHub #3045 : allow multiple interface definition in a file Change 3600645 by Ben.Marsh Convert QAGame to Include-What-You-Use. Change 3600897 by Ben.Marsh Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes. Change 3601558 by Graeme.Thornton Simple first pass VSCode editor integration plugin Change 3601658 by Graeme.Thornton Enable intellisense generation for VS Code project files and setup include paths properly Change 3601762 by Ben.Marsh UBT: Add support for adaptive non-unity builds when working from a Git repository. The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged. Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior: <SourceFileWorkingSet> <Provider>Default</Provider> <!-- May be None, Default, Git or Perforce --> <RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. --> <GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH --> </SourceFileWorkingSet> Change 3604032 by Graeme.Thornton First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows. Change 3604038 by Graeme.Thornton Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor. Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code. Change 3604106 by Steve.Robb GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro Change 3604192 by Steve.Robb GitHub #3911 : Improving ToUpper/ToLower efficiency Change 3604273 by Graeme.Thornton IWYU build fixes when malloc profiler is enabled Change 3605457 by Ben.Marsh Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it. Change 3606720 by James.Hopkin Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn. Change 3606807 by Graeme.Thornton Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741. Change 3607026 by James.Hopkin Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed Change 3607142 by Graeme.Thornton UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose. Change 3607146 by Ben.Marsh UGS: Fix exception due to formatting string when Perforce throws an error. Change 3607147 by Steve.Robb Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time. Float and double conversion support added to int properties. NAME_DoubleProperty added. Fix for converting enum class enumerators > 255 to int properties. Change 3607516 by Ben.Marsh PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames) Change 3610421 by Ben.Marsh UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help. Change 3610657 by Ben.Marsh UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables. Change 3611000 by Ben.Marsh UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument. Change 3612471 by Ben.Marsh UBT: Move FastJSON into DotNETUtilities. Change 3613479 by Ben.Marsh UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator. Change 3613910 by Ben.Marsh UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later. Change 3614075 by Ben.Marsh UBT: Remove hacks for testing project file attributes by name. Change 3614090 by Ben.Marsh UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary. Change 3614488 by Ben.Marsh UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled. Change 3614490 by Ben.Marsh UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself. Change 3614962 by Ben.Marsh UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers. Change 3615416 by Ben.Marsh EC: Include an icon showing the overall status of a build in the grid view. Change 3615713 by Ben.Marsh UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder. #jira UE-48987 Change 3616652 by Ben.Marsh Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project. #jira UE-49007 Change 3616680 by Ben.Marsh Add the CodeAPI-HTML.tgz file into the installed engine build. Change 3616767 by Ben.Marsh Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible. Change 3616864 by Ben.Marsh Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended. #jira UE-48711 Change 3619964 by Ben.Marsh UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables. Change 3548930 by Ben.Marsh UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction. Change 3558056 by Ben.Marsh Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()). Change 3563309 by Graeme.Thornton Moved some common C# classes into the DotNETCommon assembly Change 3570283 by Graeme.Thornton Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore Change 3572811 by Ben.Marsh UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables). Change 3573397 by Ben.Marsh UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS. Change 3575659 by Ben.Marsh Remove CHM API documentation. Change 3582103 by Graeme.Thornton Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core Removed reference to System.Windows.Form from UBT. Change 3584113 by Ben.Marsh Move key-mapping functionality into the InputCore module. Change 3584278 by Ben.Marsh Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc. Change 3584453 by Ben.Marsh Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms. Change 3585301 by Ben.Marsh Move PlatformPostInit() into an FPlatformApplicationMisc function. Change 3587050 by Ben.Marsh Move IsThisApplicationForeground() into FPlatformApplicationMisc. Change 3587059 by Ben.Marsh Move RequiresVirtualKeyboard() into FPlatformApplicationMisc. Change 3587119 by Ben.Marsh Move GetAbsoluteLogFilename() into FPlatformMisc. Change 3587800 by Steve.Robb Fixes to container visualizers for types whose pointer type isn't simply Type*. Change 3588393 by Ben.Marsh Move platform output devices into their own headers. Change 3588868 by Ben.Marsh Move creation of console, error and warning output devices int PlatformApplicationMisc. Change 3589879 by Graeme.Thornton All automation projects now have a reference to DotNETUtilities Fixed a build error in the WEX automation library Change 3590034 by Ben.Marsh Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac). Change 3593754 by Steve.Robb Fix for tuple debugger visualization. Change 3597208 by Ben.Marsh Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees. Change 3600163 by Ben.Marsh UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned. #jira UE-46725 Change 3604279 by Graeme.Thornton Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects Change 3606685 by James.Hopkin Removed redundant 'Cast's (casting to either the same type or a base). In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass. Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp. Change 3610950 by Ben.Marsh UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic. Change 3610991 by Ben.Marsh UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line. Change 3612342 by Ben.Marsh UBT: Change JsonObject.Read() to take a FileReference parameter. Change 3612362 by Ben.Marsh UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects. Change 3619128 by Ben.Marsh Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures. [CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
ExtName.TrimStartAndEndInline();
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
if (!ExtensionsString.Contains(ExtName))
{
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
ExtensionsString.Append(TEXT(" ")); // extensions delimiter
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
ExtensionsString.Append(ExtName);
UE_LOG(LogRHI, Log, TEXT("Added extension: %s"), *ExtName);
}
}
}
}
/**
* Initialize RHI capabilities for the current OpenGL context.
*/
static void InitRHICapabilitiesForGL()
{
VERIFY_GL_SCOPE();
GTexturePoolSize = 0;
GPoolSizeVRAMPercentage = 0;
#if PLATFORM_WINDOWS || PLATFORM_LINUX
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
GConfig->GetInt( TEXT( "TextureStreaming" ), TEXT( "PoolSizeVRAMPercentage" ), GPoolSizeVRAMPercentage, GEngineIni );
#endif
// GL vendor and version information.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3092544) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3079316 on 2016/08/05 by Ben.Marsh Better PCH selection in ShaderFormatOpenGL and MetalShaderFormat - make sure Core is the first included header. Change 3080579 on 2016/08/08 by Ben.Marsh Slate: Move DEBUG_TAB_MANAGEMENT into SDockingTabStack.h to remove circular include dependency with DockingPrivate.h. Change 3080587 on 2016/08/08 by Ben.Marsh StandaloneRenderer: Move platform includes into a separate header so we can make individual headers self-contained, without having a circular dependency on StandaloneRendererPrivate.h. Change 3080789 on 2016/08/08 by Ben.Marsh Move BuildGraph tasks for chunking, posting builds, labeling builds, and merging manifests into the MCP project. While we do provide public interfaces for this functionality, we don't currently expect anyone outside Epic to be using them. Change 3080815 on 2016/08/08 by Ben.Marsh BuildGraph: Add a -GenerateDocs option, which writes out an HTML file constructed from C# XML documentation containing all the task information. Change 3081374 on 2016/08/08 by Ben.Marsh UBT: Invalidate the makefile if any UHT headers are deleted. Should fix issue where files are moved from one module to another, and the original module no longer contains any generated headers. Its include path needs to be removed from the compile environment. Change 3083152 on 2016/08/09 by Ben.Marsh PR #2667: Add Intel C++ Compiler support to Windows build (Contributed by JeffRous) Change 3084039 on 2016/08/10 by Ben.Marsh BuildGraph: Add additional markup for parameter attributes. Also improve some documation. Change 3084240 on 2016/08/10 by Ben.Marsh Plugins: Allow plugins in the project folder to replace plugins in the engine folder with the same name. Prohibit multiple plugins with the same name at other times. Change 3084337 on 2016/08/10 by Ben.Marsh UBT: Specify the -precompile option when generating project files for a target, so we include all valid modules for intellisense. Change 3085594 on 2016/08/11 by Ben.Marsh Change modules which reference a public header for their PCH to use a private PCH instead, even if it just includes the public header for now. Change 3085999 on 2016/08/11 by Ben.Marsh Add some missing #pragma once directives. Change 3086146 on 2016/08/11 by Ben.Marsh Core: Move prototype and linkage specifier for ConsoleCommandLibrary_* functions into header matching cpp file. Change 3086172 on 2016/08/11 by Ben.Marsh Fixup some C-style header guards to use #pragma once instead. Change 3087289 on 2016/08/12 by Ben.Marsh Split out UPackage and UMetaData into their own headers (they're already implemented in separate CPP files) Change 3087310 on 2016/08/12 by Ben.Marsh Move method stubs for FNullSlateSoundDevice into a CPP file, since they're exported from the SlateCore module. Change 3087341 on 2016/08/12 by Ben.Marsh UdpMessaging: Move PCH before #if PLATFORM_DESKTOP; it will only be defined if the definition is included. Change 3087457 on 2016/08/12 by Ben.Marsh Core: Reorganize the FTransform and FMatrix headers: Transform.h now includes TransformNonVectorized.h or TransformVectorized.h as appropriate, and UnrealMatrix.h is now Matrix.inl (and included from Matrix.h). Change 3088407 on 2016/08/13 by Ben.Marsh Replace use of Windows SIZE_T define with the regular C++ size_t. Change 3088416 on 2016/08/13 by Ben.Marsh Include a header from all .generated.cpp files (GeneratedCppIncludes.h) which includes all the basic types required to compile them, rather than assuming that the module PCH will include everything. Also include the real declarations of noexport classes in Object.h (now renamed to NoExportTypes.h for clarity) when the CPP macro is defined, so the .generated.deps.h file will automatically have the correct definitions for them at compile time rather than relying on them being in the private PCH. Finally, rename UObject.h to Object.h for consistency with the naming convention for all other UObject classes. UObject.h still exists for now, but outputs a deprecated message if included. Change 3088544 on 2016/08/14 by Ben.Marsh Core: Move the definition of the TEXT() macro into Platform.h, to avoid having to include OS headers to get it. Change 3088552 on 2016/08/14 by Ben.Marsh Fix compile errors for some modules that don't already include CoreUObject.h. Change 3088925 on 2016/08/15 by Ben.Marsh Remove circular include dependencies from VulkanRHI. Change 3088926 on 2016/08/15 by Ben.Marsh Remove duplicate definition for WITH_FIXED_AREA_ENTERING_COST from EngineDefines.h - always uses the definition from DetourNavMeshQuery.h instead. Change 3088930 on 2016/08/15 by Ben.Marsh Remove circular include dependency from PhysX. Change 3088935 on 2016/08/15 by Ben.Marsh OnlineSubsystemUtils: Move CPP files out of public header directory. Change 3088965 on 2016/08/15 by Ben.Marsh Add private PCH to Landscape, MoviePlayer, TaskGraph, XAudio2 and RealtimeProfiler modules. Change 3088966 on 2016/08/15 by Ben.Marsh Engine: Move CPP files out of public header directories. Change 3089520 on 2016/08/15 by Ben.Marsh BuildGraph: Change documentation command to output markdown. Change 3090299 on 2016/08/16 by Ben.Marsh D3D12RHI: Move around some implementations to fix circular header dependencies which are masked by delayed template instantiation. Change 3090303 on 2016/08/16 by Ben.Marsh Engine: Add a template specialization for TPointerIsConvertibleFromTo<AActor, const volatile UObject> to fix dependency on complete AActor definition for static assert in TWeakPointer<AActor>, which only appears if including Level.h without Actor.h. Delayed template instantiation usually masks this issue. Change 3091861 on 2016/08/17 by Ben.Marsh Remove circular header dependencies, and fix ambiguous include paths in OSVR. Change 3092068 on 2016/08/17 by Ben.Marsh Moving VulkanDynamicRHI into its own header. Change 3093133 on 2016/08/18 by Ben.Marsh EC: Include additional context lines for Clang errors. Change 3093147 on 2016/08/18 by Ben.Marsh UBT: Add an error message when attempting to do a single-file compile with the wrong target selected. Change 3093228 on 2016/08/18 by Ben.Marsh Remove redundant setting for remote server name from XML config, and set it to a valid machine in the engine config. [CL 3093264 by Ben Marsh in Main branch]
2016-08-18 10:28:43 -04:00
#if !defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !(defined(_MSC_VER) && _MSC_VER >= 1900)
#define LOG_GL_STRING(StringEnum) UE_LOG(LogRHI, Log, TEXT(" ") ## TEXT(#StringEnum) ## TEXT(": %s"), ANSI_TO_TCHAR((const ANSICHAR*)glGetString(StringEnum)))
#else
#define LOG_GL_STRING(StringEnum) UE_LOG(LogRHI, Log, TEXT(" " #StringEnum ": %s"), ANSI_TO_TCHAR((const ANSICHAR*)glGetString(StringEnum)))
#endif
UE_LOG(LogRHI, Log, TEXT("Initializing OpenGL RHI"));
LOG_GL_STRING(GL_VENDOR);
LOG_GL_STRING(GL_RENDERER);
LOG_GL_STRING(GL_VERSION);
LOG_GL_STRING(GL_SHADING_LANGUAGE_VERSION);
#undef LOG_GL_STRING
GRHIAdapterName = FOpenGL::GetAdapterName();
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3155909) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3118534 on 2016/09/08 by Steve.Cano Certain non-looping SFX would not properly fire "Stop" events when the effect was finished, and therefore Sound Mixes that should end at the end of a SFX (such as ducking the BGM volume) were not properly finishing. Fixing the IsSourceFinished call to check the Position of the player to determine if we are actually done playing, which was not working properly before for PCM sounds. #jira UE-35016 #ue4 #android Change 3119125 on 2016/09/09 by Dmitriy.Dyomin Mobile launcher profile wizard: Fixed case where DLC will not be built if user selects non Development build configuration Fixed case where project maps will be empty if UE4 and project located on different drives Change 3122584 on 2016/09/13 by Allan.Bentham Add simple clip plane for planar reflections. #jira UE-32449 Change 3129390 on 2016/09/16 by Chris.Babcock Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3129867 on 2016/09/18 by Jack.Porter Fixed ES 3.1 detection to also support devices returning ES 3.2 support (eg Note 7) #jira UE-35598 Change 3131961 on 2016/09/20 by Allan.Bentham Fix missing editor widgets and gamma incorrectness when mobileHDR == false. Fix editor widget rendering when hdr encoding is active. #jira UE-34281 Change 3132717 on 2016/09/20 by Chris.Babcock Add $S(ProjectDir) to UPL #jira UE-35483 #ue4 Change 3132940 on 2016/09/20 by Chris.Babcock Corrected case for some include files (contributed by Yukariin) #jira UE-33816 #PR #2636 #ue4 #android Change 3134098 on 2016/09/21 by Allan.Bentham Mobile CSM shadow quality controllable via quality levels. #jira UEMOB-74 Change 3134931 on 2016/09/21 by Chris.Babcock Allow Windows types in vulkan.h #jira UE-36270 #ue4 #vulkan Change 3135380 on 2016/09/21 by Dmitriy.Dyomin Plugin which exposes some of BuildPatchServices functionality to BP. Inteded to be used on mobile platforms for donwloading game content. Right now misses: IOS download directory and iOS WiFi detection #jira UEMOB-157 Change 3136004 on 2016/09/22 by Allan.Bentham Add project option to disable vertex fog on mobile. Vertex fog is now enabled even when mobile HDR is not. #jira UEMOB-148 Change 3137377 on 2016/09/22 by Dmitriy.Dyomin Fix compile error from CL# 3135380 Change 3139571 on 2016/09/26 by Jack.Porter Applied deferred change CL 3101462 to mobile to make planar reflections no longer update GPU particles Change 3139663 on 2016/09/26 by Jack.Porter Include Android shader cache files when packaging Change 3142839 on 2016/09/28 by Dmitriy.Dyomin Added WiFi connection detection on iOS Change 3142845 on 2016/09/28 by Jack.Porter Fixed various issues with TcpMessageTransport discovered when transferring automation testing screenshots from mobile devices - socket not readable or writable is not an error condition if output buffer is full - messages were previously limited to 64kb but screenshots overflowed this - messages over 8kb were not reliably received as the inbound buffer was full so the available bytes was always less than the message length - sending large messages was not reliable due to the output buffer being full Change 3143280 on 2016/09/28 by Jack.Porter Clear out UnbuiltInstanceBoundsList when async building a tree with no instances Change 3143282 on 2016/09/28 by Jack.Porter Fix issue where client functional tests in the current map do not appear on clients running with cooked content. Problem is that the AssetRegistry uses in-memory metadata created on load for currently-loaded assets, but cooked content only has the serialized AssetRegistry and individual assets do not contain any metadata. Change 3143808 on 2016/09/28 by Steve.Cano Assume that the app starts in focus at startup and don't wait for an "APP_EVENT_STATE_WINDOW_GAINED_FOCUS" event to fire, as this event will not come down from SplashActivity since it is not a NativeActivity. If the user then rotates the device in Sensor or FullSensor orientation during SplashActivity and forces an eglSurface recreation, the initial Create will properly execute if we're "in focus". Previously, the create-destroy-create cycle would not properly execute due to the EventManager thinking the app was not yet in focus, and would cause the second create to get a 0x3003 error (EGL_BAD_ALLOC) #jira UE-35004 #ue4 #android Change 3144880 on 2016/09/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3146220 on 2016/09/30 by Dmitriy.Dyomin Adjusted device button style to make it more readable. #jira UE-21881 Change 3146280 on 2016/09/30 by Dmitriy.Dyomin Replaced IBuildManifest::ComputeDownloadSize with a new function Change 3146302 on 2016/09/30 by Allan.Bentham Added more stringent checks for ES3.1 compatibility #jira UE-36241 Change 3146435 on 2016/09/30 by Jack.Porter Prevent landscape grass being duplicated for PIE, causing ensure #jira UE-36531 Change 3147532 on 2016/09/30 by Chris.Babcock Use .sh extension for Android install scripts on Linux #jira UE-36669 #ue4 #android #linux Change 3149851 on 2016/10/04 by Dmitriy.Dyomin Mobile: Added custom depth rendering Mobile: Added support for CustomDepth and SceneDepth in post-process materails Change 3149852 on 2016/10/04 by Dmitriy.Dyomin Fixed comments for SortBasePass console variable Change 3149857 on 2016/10/04 by Jack.Porter Remove dead code in ProceduralFoliageComponentDetails.cpp Change 3149863 on 2016/10/04 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3149896 on 2016/10/04 by Dmitriy.Dyomin Fixed: SkyLight makes level entire green on Android devices #jira UE-34469 Change 3150102 on 2016/10/04 by Jack.Porter Bring Protostar 4.13 fixes back to Dev-Mobile Engine - MaxDescriptorSets = 16384 to prevent crash on Mali - Include texture formats in FRenderTargetLayoutHashableStruct to solve RT aliasing issue - Use ERenderTargetLoadAction::EClear for planar reflection target to work around Adreno issue - Default Adreno to SPIR-V Contents - Disable fog, reduce CSM shadow quality, fix device profiles - Add PSO cache Change 3150113 on 2016/10/04 by Jack.Porter Ensure automation testing screenshots have Alpha=255 (fixes automation screenshots on Mobile) Change 3150231 on 2016/10/04 by Jack.Porter Use a new SessionID GUID each time you use the launcher to launch a session. Change 3150608 on 2016/10/04 by Jack.Porter Changes for automated testing screenshots on Android. - Prevent automation screenshots from changing resolution on platforms with fixed resolution - Set GRHIAdapterInternalDriverVersion for OpenGL and Vulkan - Parse ImgTec/ARM/Qualcomm GRHIVendorId on OpenGL - Added helper to convert GRHIVendorId to string Change 3151318 on 2016/10/04 by Jack.Porter Fixed compile error with AdapterVendor Change 3151366 on 2016/10/04 by Jack.Porter Prevent FTcpMessageTransportConnection deadlock on device disconnect Change 3151397 on 2016/10/05 by Dmitriy.Dyomin More consistent BP categories for Mobile Patching utils Change 3151576 on 2016/10/05 by Dmitriy.Dyomin Added on screen warning for invalid reflection captures, can be seen only in game running with FeatureLevel < SM4 and no valid capture data Change 3151795 on 2016/10/05 by Dmitry.Rekman Linux: update UBT to use a v8 multiarch toolchain. - Also added toolchain build scripts and ct-ng configs. Change 3151966 on 2016/10/05 by Allan.Bentham Add mobile support for inverse opacity to mobile scene captures as well as SCS_SceneColorSceneDepth and SCS_SceneDepth. #jira UEMOB-106 Change 3152664 on 2016/10/05 by Chris.Babcock Merging //UE4/Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3152675 on 2016/10/05 by Will.Fissler Fixed patching so that it searches for pak files as well as pkg files. #test Patch for QAGame Change 3152728 on 2016/10/05 by Chris.Babcock Update ReflectionCaptureDDCVer (need to resave maps) Change 3152910 on 2016/10/05 by Dmitry.Rekman Linux: Fix toolchain for non-AutoSDKs (github) case (UE-36899). Change 3152966 on 2016/10/05 by Dmitry.Rekman Linux: Fix test for the installed SDK (UE-36899). Change 3153004 on 2016/10/05 by Dmitry.Rekman Linux: fix CIS (UT server case-sens errors). Change 3153694 on 2016/10/06 by Jack.Porter Rollback ReflectionCaptureDDCVer change as bug intended to fix UE-36919 does not repro Change 3154766 on 2016/10/07 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3154833 on 2016/10/07 by Jack.Porter Fix merge error of MobileShadingRenderer.cpp Change 3154848 on 2016/10/07 by Allan.Bentham Fix mobile scene capture's clear code Change 3154875 on 2016/10/07 by Allan.Bentham fix vk build issues Change 3154941 on 2016/10/07 by Allan.Bentham Fix gearvr build fail Change 3154950 on 2016/10/07 by Allan.Bentham Fix shadowed local variable vk build warning on android. Change 3155909 on 2016/10/07 by Ben.Marsh UBT: Attempt to work around C1076 error ("internal heap limit reached: use /Zm to specify a higher limit"), encountered when building with XGE. Specify the AutoReserveMemory attribute on XGE tool tasks that manipulate precompiled headers. [CL 3155988 by Chris Babcock in Main branch]
2016-10-07 23:11:00 -04:00
GRHIAdapterInternalDriverVersion = ANSI_TO_TCHAR((const ANSICHAR*)glGetString(GL_VERSION));
// Shader platform & RHI feature level
GMaxRHIFeatureLevel = FOpenGL::GetFeatureLevel();
GMaxRHIShaderPlatform = FOpenGL::GetShaderPlatform();
// Log all supported extensions.
#if PLATFORM_WINDOWS
bool bWindowsSwapControlExtensionPresent = false;
#endif
{
extern void GetExtensionsString( FString& ExtensionsString);
FString ExtensionsString;
GetExtensionsString(ExtensionsString);
#if PLATFORM_WINDOWS
if (ExtensionsString.Contains(TEXT("WGL_EXT_swap_control")))
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
{
bWindowsSwapControlExtensionPresent = true;
}
#endif
// Log supported GL extensions
UE_LOG(LogRHI, Log, TEXT("OpenGL Extensions:"));
TArray<FString> GLExtensionArray;
ExtensionsString.ParseIntoArray(GLExtensionArray, TEXT(" "), true);
for (int ExtIndex = 0; ExtIndex < GLExtensionArray.Num(); ExtIndex++)
{
UE_LOG(LogRHI, Log, TEXT(" %s"), *GLExtensionArray[ExtIndex]);
}
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
ApplyExtensionsOverrides(ExtensionsString);
FOpenGL::ProcessExtensions(ExtensionsString);
}
#if PLATFORM_WINDOWS
#pragma warning(push)
#pragma warning(disable:4191)
if (!bWindowsSwapControlExtensionPresent)
{
// Disable warning C4191: 'type cast' : unsafe conversion from 'PROC' to 'XXX' while getting GL entry points.
PFNWGLGETEXTENSIONSSTRINGEXTPROC wglGetExtensionsStringEXT_ProcAddress =
(PFNWGLGETEXTENSIONSSTRINGEXTPROC) wglGetProcAddress("wglGetExtensionsStringEXT");
if (strstr(wglGetExtensionsStringEXT_ProcAddress(), "WGL_EXT_swap_control") != NULL)
{
bWindowsSwapControlExtensionPresent = true;
}
}
if (bWindowsSwapControlExtensionPresent)
{
wglSwapIntervalEXT_ProcAddress = (PFNWGLSWAPINTERVALEXTPROC) wglGetProcAddress("wglSwapIntervalEXT");
}
#pragma warning(pop)
#endif
// Set debug flag if context was setup with debugging
FOpenGL::InitDebugContext();
// Log and get various limits.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3092544) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3079316 on 2016/08/05 by Ben.Marsh Better PCH selection in ShaderFormatOpenGL and MetalShaderFormat - make sure Core is the first included header. Change 3080579 on 2016/08/08 by Ben.Marsh Slate: Move DEBUG_TAB_MANAGEMENT into SDockingTabStack.h to remove circular include dependency with DockingPrivate.h. Change 3080587 on 2016/08/08 by Ben.Marsh StandaloneRenderer: Move platform includes into a separate header so we can make individual headers self-contained, without having a circular dependency on StandaloneRendererPrivate.h. Change 3080789 on 2016/08/08 by Ben.Marsh Move BuildGraph tasks for chunking, posting builds, labeling builds, and merging manifests into the MCP project. While we do provide public interfaces for this functionality, we don't currently expect anyone outside Epic to be using them. Change 3080815 on 2016/08/08 by Ben.Marsh BuildGraph: Add a -GenerateDocs option, which writes out an HTML file constructed from C# XML documentation containing all the task information. Change 3081374 on 2016/08/08 by Ben.Marsh UBT: Invalidate the makefile if any UHT headers are deleted. Should fix issue where files are moved from one module to another, and the original module no longer contains any generated headers. Its include path needs to be removed from the compile environment. Change 3083152 on 2016/08/09 by Ben.Marsh PR #2667: Add Intel C++ Compiler support to Windows build (Contributed by JeffRous) Change 3084039 on 2016/08/10 by Ben.Marsh BuildGraph: Add additional markup for parameter attributes. Also improve some documation. Change 3084240 on 2016/08/10 by Ben.Marsh Plugins: Allow plugins in the project folder to replace plugins in the engine folder with the same name. Prohibit multiple plugins with the same name at other times. Change 3084337 on 2016/08/10 by Ben.Marsh UBT: Specify the -precompile option when generating project files for a target, so we include all valid modules for intellisense. Change 3085594 on 2016/08/11 by Ben.Marsh Change modules which reference a public header for their PCH to use a private PCH instead, even if it just includes the public header for now. Change 3085999 on 2016/08/11 by Ben.Marsh Add some missing #pragma once directives. Change 3086146 on 2016/08/11 by Ben.Marsh Core: Move prototype and linkage specifier for ConsoleCommandLibrary_* functions into header matching cpp file. Change 3086172 on 2016/08/11 by Ben.Marsh Fixup some C-style header guards to use #pragma once instead. Change 3087289 on 2016/08/12 by Ben.Marsh Split out UPackage and UMetaData into their own headers (they're already implemented in separate CPP files) Change 3087310 on 2016/08/12 by Ben.Marsh Move method stubs for FNullSlateSoundDevice into a CPP file, since they're exported from the SlateCore module. Change 3087341 on 2016/08/12 by Ben.Marsh UdpMessaging: Move PCH before #if PLATFORM_DESKTOP; it will only be defined if the definition is included. Change 3087457 on 2016/08/12 by Ben.Marsh Core: Reorganize the FTransform and FMatrix headers: Transform.h now includes TransformNonVectorized.h or TransformVectorized.h as appropriate, and UnrealMatrix.h is now Matrix.inl (and included from Matrix.h). Change 3088407 on 2016/08/13 by Ben.Marsh Replace use of Windows SIZE_T define with the regular C++ size_t. Change 3088416 on 2016/08/13 by Ben.Marsh Include a header from all .generated.cpp files (GeneratedCppIncludes.h) which includes all the basic types required to compile them, rather than assuming that the module PCH will include everything. Also include the real declarations of noexport classes in Object.h (now renamed to NoExportTypes.h for clarity) when the CPP macro is defined, so the .generated.deps.h file will automatically have the correct definitions for them at compile time rather than relying on them being in the private PCH. Finally, rename UObject.h to Object.h for consistency with the naming convention for all other UObject classes. UObject.h still exists for now, but outputs a deprecated message if included. Change 3088544 on 2016/08/14 by Ben.Marsh Core: Move the definition of the TEXT() macro into Platform.h, to avoid having to include OS headers to get it. Change 3088552 on 2016/08/14 by Ben.Marsh Fix compile errors for some modules that don't already include CoreUObject.h. Change 3088925 on 2016/08/15 by Ben.Marsh Remove circular include dependencies from VulkanRHI. Change 3088926 on 2016/08/15 by Ben.Marsh Remove duplicate definition for WITH_FIXED_AREA_ENTERING_COST from EngineDefines.h - always uses the definition from DetourNavMeshQuery.h instead. Change 3088930 on 2016/08/15 by Ben.Marsh Remove circular include dependency from PhysX. Change 3088935 on 2016/08/15 by Ben.Marsh OnlineSubsystemUtils: Move CPP files out of public header directory. Change 3088965 on 2016/08/15 by Ben.Marsh Add private PCH to Landscape, MoviePlayer, TaskGraph, XAudio2 and RealtimeProfiler modules. Change 3088966 on 2016/08/15 by Ben.Marsh Engine: Move CPP files out of public header directories. Change 3089520 on 2016/08/15 by Ben.Marsh BuildGraph: Change documentation command to output markdown. Change 3090299 on 2016/08/16 by Ben.Marsh D3D12RHI: Move around some implementations to fix circular header dependencies which are masked by delayed template instantiation. Change 3090303 on 2016/08/16 by Ben.Marsh Engine: Add a template specialization for TPointerIsConvertibleFromTo<AActor, const volatile UObject> to fix dependency on complete AActor definition for static assert in TWeakPointer<AActor>, which only appears if including Level.h without Actor.h. Delayed template instantiation usually masks this issue. Change 3091861 on 2016/08/17 by Ben.Marsh Remove circular header dependencies, and fix ambiguous include paths in OSVR. Change 3092068 on 2016/08/17 by Ben.Marsh Moving VulkanDynamicRHI into its own header. Change 3093133 on 2016/08/18 by Ben.Marsh EC: Include additional context lines for Clang errors. Change 3093147 on 2016/08/18 by Ben.Marsh UBT: Add an error message when attempting to do a single-file compile with the wrong target selected. Change 3093228 on 2016/08/18 by Ben.Marsh Remove redundant setting for remote server name from XML config, and set it to a valid machine in the engine config. [CL 3093264 by Ben Marsh in Main branch]
2016-08-18 10:28:43 -04:00
#if !defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !(defined(_MSC_VER) && _MSC_VER >= 1900)
#define LOG_AND_GET_GL_INT_TEMP(IntEnum,Default) GLint Value_##IntEnum = Default; if (IntEnum) {glGetIntegerv(IntEnum, &Value_##IntEnum); glGetError();} else {Value_##IntEnum = Default;} UE_LOG(LogRHI, Log, TEXT(" ") ## TEXT(#IntEnum) ## TEXT(": %d"), Value_##IntEnum)
#else
#define LOG_AND_GET_GL_INT_TEMP(IntEnum,Default) GLint Value_##IntEnum = Default; if (IntEnum) {glGetIntegerv(IntEnum, &Value_##IntEnum); glGetError();} else {Value_##IntEnum = Default;} UE_LOG(LogRHI, Log, TEXT(" " #IntEnum ": %d"), Value_##IntEnum)
#endif
LOG_AND_GET_GL_INT_TEMP(GL_MAX_TEXTURE_SIZE, 0);
#if defined(GL_MAX_TEXTURE_BUFFER_SIZE)
LOG_AND_GET_GL_INT_TEMP(GL_MAX_TEXTURE_BUFFER_SIZE, 0);
#endif
LOG_AND_GET_GL_INT_TEMP(GL_MAX_CUBE_MAP_TEXTURE_SIZE, 0);
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3121996 on 2016/09/12 by Ben.Marsh Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced). * Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result. * Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default. * Visual Studio source code accessor can talk to VS 2017 instances. * Added a VS2017 configuration for UnrealVS, and added precompiled vsix package. * Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express). * Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes. Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed. Change 3189363 on 2016/11/07 by Ben.Marsh Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment. Change 3210598 on 2016/11/27 by Ben.Marsh UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to. Change 3210601 on 2016/11/27 by Ben.Marsh PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman) Change 3210602 on 2016/11/27 by Ben.Marsh PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis) Change 3210605 on 2016/11/27 by Ben.Marsh UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries. Change 3211656 on 2016/11/28 by Ben.Marsh UBT: Move ModuleRules and TargetRules into their own file. Change 3211797 on 2016/11/28 by Ben.Marsh UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only. Change 3211833 on 2016/11/28 by Ben.Marsh UBT: Remove overridable configuration name from target rules. This feature is not used anywhere. Change 3211859 on 2016/11/28 by Ben.Marsh UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead. Change 3211942 on 2016/11/28 by Ben.Marsh UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now. Change 3215333 on 2016/11/30 by Ben.Marsh UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method. Change 3215482 on 2016/11/30 by Ben.Marsh UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported. Change 3215743 on 2016/11/30 by Ben.Marsh UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor. Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor. Change 3215778 on 2016/11/30 by Ben.Marsh UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete. Change 3217681 on 2016/12/01 by Ben.Marsh UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script. Change 3217723 on 2016/12/01 by Ben.Marsh UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled. Change 3217930 on 2016/12/01 by Ben.Marsh UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections. Change 3218762 on 2016/12/02 by Ben.Marsh Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations. Change 3219161 on 2016/12/02 by Ben.Marsh Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory. Change 3219197 on 2016/12/02 by Ben.Marsh Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere. Change 3219209 on 2016/12/02 by Ben.Marsh Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64. Change 3219610 on 2016/12/02 by Ben.Marsh Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful. Change 3219731 on 2016/12/02 by Ben.Marsh UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules. Change 3220796 on 2016/12/04 by Ben.Marsh Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway. Change 3220825 on 2016/12/04 by Ben.Marsh UBT: Change all executors to derive from a common base class (ActionExecutor). Change 3220834 on 2016/12/04 by Ben.Marsh UBT: Remove the global CommandLineContains() function. Change 3222706 on 2016/12/05 by Ben.Marsh Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017. Change 3222712 on 2016/12/05 by Ben.Marsh Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat Change 3223628 on 2016/12/06 by Ben.Marsh Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe Change 3223817 on 2016/12/06 by Ben.Marsh Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text. Change 3224046 on 2016/12/06 by Ben.Marsh Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded. Change 3224792 on 2016/12/07 by Ben.Marsh UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools. Change 3225212 on 2016/12/07 by Ben.Marsh UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy. Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object. The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner. Change 3226310 on 2016/12/07 by Ben.Marsh PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic) Change 3228273 on 2016/12/08 by Ben.Marsh Update copyright notices for QAGame. Change 3229166 on 2016/12/09 by Ben.Marsh UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object. Change 3230601 on 2016/12/12 by Ben.Marsh Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed. Change 3230737 on 2016/12/12 by Ben.Marsh UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands. Change 3230751 on 2016/12/12 by Ben.Marsh UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for. Change 3230804 on 2016/12/12 by Ben.Marsh UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary. Change 3230831 on 2016/12/12 by Ben.Marsh UGS: Warn when trying to switch streams if files are checked out. Change 3231281 on 2016/12/12 by Chad.Garyet Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one Change 3231496 on 2016/12/12 by Ben.Marsh Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015. Change 3231979 on 2016/12/12 by Ben.Marsh UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking. Change 3232619 on 2016/12/13 by Ben.Marsh Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main. [CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
#if defined(GL_MAX_ARRAY_TEXTURE_LAYERS) && GL_MAX_ARRAY_TEXTURE_LAYERS
LOG_AND_GET_GL_INT_TEMP(GL_MAX_ARRAY_TEXTURE_LAYERS, 0);
#endif
#if GL_MAX_3D_TEXTURE_SIZE
LOG_AND_GET_GL_INT_TEMP(GL_MAX_3D_TEXTURE_SIZE, 0);
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
#endif
LOG_AND_GET_GL_INT_TEMP(GL_MAX_RENDERBUFFER_SIZE, 0);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_TEXTURE_IMAGE_UNITS, 0);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_DRAW_BUFFERS, 1);
GMaxOpenGLDrawBuffers = FMath::Min(Value_GL_MAX_DRAW_BUFFERS, (GLint)MaxSimultaneousRenderTargets);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_COLOR_ATTACHMENTS, 1);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_SAMPLES, 1);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_COLOR_TEXTURE_SAMPLES, 1);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_DEPTH_TEXTURE_SAMPLES, 1);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_INTEGER_SAMPLES, 1);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, 0);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_VERTEX_ATTRIBS, 0);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS, 0);
LOG_AND_GET_GL_INT_TEMP(GL_MAX_COMPUTE_SHARED_MEMORY_SIZE, 0);
if (FParse::Param(FCommandLine::Get(), TEXT("quad_buffer_stereo")))
{
GLboolean Result = GL_FALSE;
glGetBooleanv(GL_STEREO, &Result);
// Skip any errors if any were generated
glGetError();
GSupportsQuadBufferStereo = (Result == GL_TRUE);
}
if (FOpenGL::SupportsTextureFilterAnisotropic())
{
LOG_AND_GET_GL_INT_TEMP(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, 0);
GMaxOpenGLTextureFilterAnisotropic = Value_GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT;
}
if (FOpenGL::SupportsPixelLocalStorage())
{
LOG_AND_GET_GL_INT_TEMP(GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT, 0);
}
#undef LOG_AND_GET_GL_INT_TEMP
GMaxOpenGLColorSamples = Value_GL_MAX_COLOR_TEXTURE_SAMPLES;
GMaxOpenGLDepthSamples = Value_GL_MAX_DEPTH_TEXTURE_SAMPLES;
GMaxOpenGLIntegerSamples = Value_GL_MAX_INTEGER_SAMPLES;
// Verify some assumptions.
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
// Android seems like reports one color attachment even when it supports MRT
#if !PLATFORM_ANDROID
check(Value_GL_MAX_COLOR_ATTACHMENTS >= MaxSimultaneousRenderTargets);
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
#endif
// We don't check for compressed formats right now because vendors have not
// done a great job reporting what is actually supported:
// OSX/NVIDIA doesn't claim to support SRGB DXT formats even though they work correctly.
// Windows/AMD sometimes claim to support no compressed formats even though they all work correctly.
#if 0
// Check compressed texture formats.
bool bSupportsCompressedTextures = true;
{
FString CompressedFormatsString = TEXT(" GL_COMPRESSED_TEXTURE_FORMATS:");
TArray<GLint> CompressedFormats;
GLint NumCompressedFormats = 0;
glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &NumCompressedFormats);
CompressedFormats.Empty(NumCompressedFormats);
CompressedFormats.AddZeroed(NumCompressedFormats);
glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, CompressedFormats.GetTypedData());
#define CHECK_COMPRESSED_FORMAT(GLName) if (CompressedFormats.Contains(GLName)) { CompressedFormatsString += TEXT(" ") TEXT(#GLName); } else { bSupportsCompressedTextures = false; }
CHECK_COMPRESSED_FORMAT(GL_COMPRESSED_RGB_S3TC_DXT1_EXT);
CHECK_COMPRESSED_FORMAT(GL_COMPRESSED_SRGB_S3TC_DXT1_EXT);
CHECK_COMPRESSED_FORMAT(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT);
CHECK_COMPRESSED_FORMAT(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT);
CHECK_COMPRESSED_FORMAT(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT);
CHECK_COMPRESSED_FORMAT(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT);
//CHECK_COMPRESSED_FORMAT(GL_COMPRESSED_RG_RGTC2);
#undef CHECK_COMPRESSED_FORMAT
// ATI does not report that it supports RGTC2, but the 3.2 core profile mandates it.
// For now assume it is supported and bring it up with ATI if it really isn't(?!)
CompressedFormatsString += TEXT(" GL_COMPRESSED_RG_RGTC2");
UE_LOG(LogRHI, Log, *CompressedFormatsString);
}
check(bSupportsCompressedTextures);
#endif
// Set capabilities.
const GLint MajorVersion = FOpenGL::GetMajorVersion();
const GLint MinorVersion = FOpenGL::GetMinorVersion();
// Enable the OGL rhi thread if explicitly requested.
GRHISupportsRHIThread = (GMaxRHIFeatureLevel <= ERHIFeatureLevel::ES3_1 && CVarAllowRGLHIThread.GetValueOnAnyThread())
#if WITH_EDITOR
&& !IsPCPlatform(GMaxRHIShaderPlatform)
#endif
;
// By default use emulated UBs on mobile
GUseEmulatedUniformBuffers = IsUsingEmulatedUniformBuffers(GMaxRHIShaderPlatform);
FString FeatureLevelName;
GetFeatureLevelName(GMaxRHIFeatureLevel, FeatureLevelName);
FString ShaderPlatformName = LegacyShaderPlatformToShaderFormat(GMaxRHIShaderPlatform).ToString();
UE_LOG(LogRHI, Log, TEXT("OpenGL MajorVersion = %d, MinorVersion = %d, ShaderPlatform = %s, FeatureLevel = %s"), MajorVersion, MinorVersion, *ShaderPlatformName, *FeatureLevelName);
#if PLATFORM_ANDROID
UE_LOG(LogRHI, Log, TEXT("PLATFORM_ANDROID"));
#endif
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2948319 on 2016/04/19 by Nick.Shin update zlib to v1.2.8 part 1 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948661 on 2016/04/19 by Nick.Shin keep using old zlibs until they are recompiled with the newer version Change 2948737 on 2016/04/19 by Nick.Shin build warning fix Change 2949334 on 2016/04/20 by Nick.Shin fix library path for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set... Change 2951556 on 2016/04/21 by Nick.Shin static libs double checked #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951559 on 2016/04/21 by Nick.Shin static libs double checked forgot these files - they were in another changelist #jira UE-29674 - Editor fails to open in Dev-Platform Change 2952411 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the C# build scripts Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3118163 on 2016/09/08 by Josh.Adams perm test 2, not a useful file at all Change 3121142 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3121150 on 2016/09/12 by Daniel.Lamb Added warning logs to help track down issue UE-33453. Change 3121201 on 2016/09/12 by Keith.Judge Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix. Change 3121302 on 2016/09/12 by Joe.Graf Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors Change 3121379 on 2016/09/12 by Dmitry.Rekman Linux: only link libraries that export needed symbols (UE-35720). - Fixes very long startup times of modular builds. - Includes PR #2778 by slonopotamus. #jira UE-35720 Change 3121383 on 2016/09/12 by Dmitry.Rekman Linux: added some missing _API declarations on symbols used externally. - Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't). Change 3121456 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3122939 on 2016/09/13 by Luke.Thatcher [PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service. - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone. Change 3123040 on 2016/09/13 by Brent.Pease + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now. Change 3123664 on 2016/09/13 by Nick.Shin this was originally checked into: release 4.13.1 bringing here to dev-platform -- original submit comments -- first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing" next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop jira UE-35363 - Huge game window when launching onto Safari 9.1.2 Change 3125282 on 2016/09/14 by Michael.Trepka Fixed iOS and tvOS code indexing in Xcode project Change 3126812 on 2016/09/15 by Josh.Adams Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes: - Added Parse function to JsonObject.cs to be able to parse a string - Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU() - Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME - Converted the PS4MallocCrash class into a generic one (that Wolf is now also using) - Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread - Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere - Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects - Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever) - Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool. - Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini) - Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain. - Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening - Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct. - Renamed a UT copy of a global function to not linker-conflict - Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4. - Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists) - Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority() - Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads? - Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move. Change 3126842 on 2016/09/15 by Michael.Trepka Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation. Change 3126956 on 2016/09/15 by Michael.Trepka Added support for compiling Vulkan shaders for Android on Mac Change 3127206 on 2016/09/15 by Michael.Trepka PR #2604: Remove some warnings. (Contributed by reapazor) Change 3127324 on 2016/09/15 by Michael.Trepka Allow third party dylibs on Mac to be loaded from plugin subfolders Change 3127924 on 2016/09/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3128369 on 2016/09/16 by Nick.Shin zlib 1.2.8 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128377 on 2016/09/16 by Nick.Shin openssl 1_0_2h headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128383 on 2016/09/16 by Nick.Shin libcurl 7_48_0 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128384 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128464 on 2016/09/16 by Nick.Shin webRTC rev.12643 NOTE: VS2015 - only Win64 is available - Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment NOTE: VS2013 - not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist - also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways FUTURE NOTE: - will continue to try to get VS2015 Win32 functional - and am working on trying to get VS2013 tested headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128500 on 2016/09/16 by Nick.Shin zlib 1.2.8 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128504 on 2016/09/16 by Nick.Shin openssl 1_0_2h - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128506 on 2016/09/16 by Nick.Shin libcurl 7_48_0 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128508 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128513 on 2016/09/16 by Nick.Shin webRTC rev.12643 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128602 on 2016/09/16 by Nick.Shin webRTC rev.9862 - Win64 VS2013 NOTE: - not tested (i'm working on getting a VS2013 pro license) - checking in for testing purposes WARNING: - VS2013 is no longer supported by webRTC latest headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128605 on 2016/09/16 by Nick.Shin re-enabling updated ThirdParySoftware libs: - zlib (v.1.2.8) - openssl (1.0.2h) - libcurl (7_48_0) - libwebsocket (v.1.7.4) - webRTC (rev.12643) to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build... Change 3128651 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 Change 3128704 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 - this time actually compiling it... Change 3128825 on 2016/09/16 by Dmitry.Rekman Linux: proper fix for too slow startup times (UE-35967). - Pull request #2793 by slonopotamus. - Now without stripping dependencies on libraries specified before. - Contains a work around for ld bug <2.25. Change 3128972 on 2016/09/16 by Nick.Shin fix to local build error. Change 3129283 on 2016/09/16 by Brent.Pease + Add Android local notification support based on existing system used for iOS + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release Change 3129494 on 2016/09/17 by Nick.Shin fix CIS build errors Change 3129503 on 2016/09/17 by Dmitry.Rekman Fix Linux build (case sensitivity issue). Change 3129514 on 2016/09/17 by Nick.Shin fix CIS build errors for consoles - missing zlib include path special thanks to Dmitry.Rekman for pointing me in the right direction Change 3129647 on 2016/09/17 by Dmitry.Rekman Linux: fix non-unity build. Change 3131043 on 2016/09/19 by Nick.Shin archiving build instructions/steps when building: - zlib (v.1.2.8) win: #3128369 osx: #3128500 - openssl (1.0.2h) win: #3128377 osx: #3128504 - libcurl (7_48_0) win: #3128383 osx: #3128506 - libwebsocket (v.1.7.4) win: #3128384 osx: #3128508 - webRTC win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP osx: #3128513 Change 3132801 on 2016/09/20 by Dmitry.Rekman Linux: support specifying default OpenGL version via configs (UE-34777). - The first targeted RHI is going to be used. Change 3132905 on 2016/09/20 by Josh.Adams - Fixed up some paths with the WolfPlat rename Change 3133148 on 2016/09/20 by Josh.Adams - Only show UT EULA if PLATFORM_DESKTOP Change 3133152 on 2016/09/20 by Josh.Adams - Beginning support for applets. Disabled unless you have a special SDK with applet support. Change 3133169 on 2016/09/20 by Josh.Adams - Fixed issue with Wolf access but no SDK installed Change 3133344 on 2016/09/20 by Daniel.Lamb Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile. Added new flag to limit number of concurrent shader compiles. #test Cook QAGame, Cook Paragon Change 3133345 on 2016/09/20 by Daniel.Lamb FRedirectCollector collects string asset references all the time when running the editor. #test Cook paragon cook QAGame. Change 3133852 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. Change 3133875 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2) Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'. Change 3134544 on 2016/09/21 by Josh.Adams - Reduced UT textures for Wolf Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick FPS4Time::SystemTime now calculates the local machine time, instead of UTC. #jira UE-35170 Change 3135036 on 2016/09/21 by Michael.Trepka Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32 Change 3135292 on 2016/09/21 by Jeff.Campeau Change include order to favor the XDK edition specific headers where available. Change 3136414 on 2016/09/22 by Josh.Adams - Fixed a checkf() that had the case reversed #jira ue-36311 Change 3137082 on 2016/09/22 by Dmitry.Rekman Added support for Linux installed builds to 4.14 Change 3137220 on 2016/09/22 by Dmitry.Rekman Linux: do not rebuild hlslcc on each setup. - Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary. Change 3137227 on 2016/09/22 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3137259 on 2016/09/22 by Dmitry.Rekman Linux installed build: fix CIS (missed one .csproj) Change 3137290 on 2016/09/22 by Dmitry.Rekman Linux installed builds: fix for the resulting directory. Change 3137291 on 2016/09/22 by Chris.Babcock Restore texture filtering mode properly when movie played on Android #jira UE-36342 #ue4 #android Change 3137376 on 2016/09/22 by Dmitry.Rekman Linux: re-enabled crash handler stack smash protection. - Race condition in FRunnableThreadPThread has been previously fixed. Change 3138498 on 2016/09/23 by Dmitry.Rekman Linux: add missed package for installed builds. - mono-devel package for resgen2. Change 3138523 on 2016/09/23 by Dmitry.Rekman Linux: Update hlslcc now that we're not rebuilding it each time. Change 3138658 on 2016/09/23 by Josh.Adams - Moved UT's Social Plugin into NotForLicensees Change 3139042 on 2016/09/23 by Dmitry.Rekman Linux: more robust check of installed packages. - Also added mono-devel to the list of packages installed on 14.04. Change 3139674 on 2016/09/26 by Dmitry.Rekman Fix crash when editing widget blueprints (UE-35185). - Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping. - Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795). Change 3140203 on 2016/09/26 by Josh.Adams - Wolf Fix for SHIPPING Change 3140206 on 2016/09/26 by Josh.Adams - NEX work, still in progress Change 3140276 on 2016/09/26 by Josh.Adams - Fixed Wolf compile error Change 3140485 on 2016/09/26 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3140570 on 2016/09/26 by Dmitry.Rekman SDL2: Delete obsolete files. - We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space. Change 3140577 on 2016/09/26 by Dmitry.Rekman Fix CudaTest monolithic build. - Not the best fix, the better fix is to build against bundled libc++. Change 3141184 on 2016/09/27 by Keith.Judge Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert. #jira UE-35973 Change 3141623 on 2016/09/27 by Chris.Babcock Support hiding virtual keyboard on Android #jira UE-34201 #ue4 #android Change 3141887 on 2016/09/27 by Joe.Graf Added support for additional plugin directories that are specified by the .uproject file New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins Change 3141916 on 2016/09/27 by Josh.Adams - Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925) Change 3141926 on 2016/09/27 by Josh.Adams - Support for skipping Wolf user selector (-nologinui) Change 3141938 on 2016/09/27 by Chris.Babcock Allow Android media player to seek past 999ms (contributed by rcywongaa) #jira UE-36453 #PR #2797 #ue4 #android Change 3142207 on 2016/09/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3142219 on 2016/09/27 by Josh.Adams - Wolf PhysX 3.4 libs and includes Change 3142220 on 2016/09/27 by Josh.Adams - File that had to be fixed up after main merge (missed adding it to the huge integrate CL) Change 3142314 on 2016/09/27 by Chase.McAllister #jira UE-35011 fixes to some assets to remove redundancies/output log spam Change 3142510 on 2016/09/27 by Daniel.Lamb Fixed up resave lightmaps commandlet so that world transforms don't get applied twice. #jira UE-35942 Change 3142650 on 2016/09/27 by Chris.Babcock Android support for Linux by yaakuro - requires CodeWorks for Android Linux installed and OpenJDK 1.8 - need to set Android SDK paths manually in Project Settings #jira UE-32752 #jira UE-32753 #PR #2564 #PR #2565 #ue4 #android #linux Change 3142802 on 2016/09/27 by Dmitry.Rekman Upgrade to SDL 2.0.5-ish (still technically 2.0.4). - Upstream revision 10374:dccf51aee79b. - Merged all our changes hopefully. Change 3143075 on 2016/09/28 by Luke.Thatcher [RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro. #jira UE-33077 Change 3143219 on 2016/09/28 by Daniel.Lamb Added new is compiling function which tells you if it's really compiling instead of lying. If def out additional logging for debugging shader compilation issue for 4.14 release. Change 3143428 on 2016/09/28 by Luke.Thatcher [PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061 Change 3143488 on 2016/09/28 by Daniel.Lamb Changed defaults for skip cooking editor content to true. Change 3143526 on 2016/09/28 by Daniel.Lamb Increased the concurrent shader compile limit while in the cooker. #test Cook paragon Change 3143874 on 2016/09/28 by Chris.Babcock Read Android environment variables from .bashrc on Linux #jira UE-36565 #ue4 #android #linux Change 3143911 on 2016/09/28 by Dmitry.Rekman Fix SDL EGL API binding (UE-18979). - Contains PR #1398 by x414e54. - Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade. Change 3143929 on 2016/09/28 by Daniel.Lamb Removed some more temporary logging. #test Cook paragon Change 3143959 on 2016/09/28 by Jeff.Campeau Media Player for Xbox One Change 3143997 on 2016/09/28 by Dmitry.Rekman Linux: faster linking in Debug. - Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating. Change 3144004 on 2016/09/28 by Dmitry.Rekman Linux: make SCW dump core on crash in debug builds. - If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space). Change 3144007 on 2016/09/28 by Dmitry.Rekman Linux: Allow equals character in command line parameter value (UE-26406). - PR #2019 by bozzaro. - Allows passing parameters like -Switch=Key=Value. Change 3144042 on 2016/09/28 by Jeff.Campeau Add tag for DX12 support being experimental in target settings. #jira UE-36150 Change 3144068 on 2016/09/28 by Dmitry.Rekman Linux: enable using xgConsole in UAT (UE-28096). - PR #2144 by bozzaro. - Picks correct xgConsole binary. - Allegedly fixes crash in CombineXGEItemFile on mono. Change 3144120 on 2016/09/28 by Michael.Trepka Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/... Change 3144172 on 2016/09/28 by Chris.Babcock Add libpng 1.5.27 for Android #jira UE-36573 #ue4 #android Change 3144318 on 2016/09/28 by Chris.Babcock Correct logic for checking .bashrc on Linux #ue4 #android Change 3144331 on 2016/09/28 by Dmitry.Rekman Linux: repair ARM server builds. - Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1). Change 3144354 on 2016/09/28 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) this is intermediate, not fully working Change 3144368 on 2016/09/28 by Josh.Adams - Moved the new Social files into NFL Change 3144395 on 2016/09/28 by Chris.Babcock Add missing functions for AndroidWebBrowserWindow #ue4 #android Change 3144417 on 2016/09/28 by Josh.Adams - Probable fix for FWebBrowserWindow missing virtuals Change 3144438 on 2016/09/28 by Jeff.Campeau XDK updated to 160802 Change 3144569 on 2016/09/29 by Dmitry.Rekman Linux: allow a selectable clock source (UE-36564). - The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew. - Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there. #tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm). Change 3145108 on 2016/09/29 by Joe.Graf Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools) Change 3145245 on 2016/09/29 by Joe.Graf #wolf Checking in removal of plugin use on Win64 per Josh's request Change 3145514 on 2016/09/29 by Will.Fissler Updated Mac Info.plist files to disable high DPI on macOS 10.12 Change 3145538 on 2016/09/29 by Josh.Adams - Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots. Change 3145540 on 2016/09/29 by Josh.Adams - Fix for checking some Wolf dev tool installation existence - Fix for various Wolf build issues - Fix for Wolf devices not showing up in Launch on Change 3145542 on 2016/09/29 by Josh.Adams - Pulled over Wolf changes from Wolf branch into Dev-Platform Change 3145572 on 2016/09/29 by Josh.Adams - Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people. #jira UE-36591 Change 3145769 on 2016/09/29 by Chris.Babcock Remove duplicate platforms from deploy list in UFE #jira UE-36636 #ue4 Change 3146061 on 2016/09/29 by Chris.Babcock Linux: be less spammy in log when launching external procs #jira UE-36638 #ue4 #linux Change 3146208 on 2016/09/29 by Dmitry.Rekman Linux: fix PhysX crash (UE-36613). - PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above. - This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun. #jira UE-36613 Change 3146476 on 2016/09/30 by Josh.Adams - Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose Change 3146554 on 2016/09/30 by Josh.Adams - Removed another wolf secret log Change 3146626 on 2016/09/30 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3146712 on 2016/09/30 by Josh.Adams - Fixed case for building Android on Linux #jira #UE-36652 Change 3146844 on 2016/09/30 by Josh.Adams - Removed ES2 shader compiling from TVOS, and force Metal compiling #jira UE-36306 Change 3146865 on 2016/09/30 by Daniel.Lamb Removed temp logging for materials #test Launch on paragon Change 3146874 on 2016/09/30 by Dmitry.Rekman Linux: add rpath for libTextureConverter.so (UE-36620). Change 3147030 on 2016/09/30 by Josh.Adams - Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks #jira UE-36623 Change 3147151 on 2016/09/30 by Josh.Adams - Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling? Change 3147621 on 2016/09/30 by Michael.Trepka Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac Change 3147712 on 2016/09/30 by Josh.Adams - Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform. #jira UE-36225 Change 3147725 on 2016/09/30 by Josh.Adams - Fixed yet another Wolf log for people with Wolf access but no SDK [CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
GMaxTextureSamplers = Value_GL_MAX_TEXTURE_IMAGE_UNITS;
GMaxTextureMipCount = FMath::CeilLogTwo(Value_GL_MAX_TEXTURE_SIZE) + 1;
GMaxTextureMipCount = FMath::Min<int32>(MAX_TEXTURE_MIP_COUNT, GMaxTextureMipCount);
GMaxTextureDimensions = Value_GL_MAX_TEXTURE_SIZE;
#if defined(GL_MAX_TEXTURE_BUFFER_SIZE)
GMaxBufferDimensions = Value_GL_MAX_TEXTURE_BUFFER_SIZE;
#endif
GMaxCubeTextureDimensions = Value_GL_MAX_CUBE_MAP_TEXTURE_SIZE;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3121996 on 2016/09/12 by Ben.Marsh Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced). * Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result. * Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default. * Visual Studio source code accessor can talk to VS 2017 instances. * Added a VS2017 configuration for UnrealVS, and added precompiled vsix package. * Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express). * Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes. Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed. Change 3189363 on 2016/11/07 by Ben.Marsh Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment. Change 3210598 on 2016/11/27 by Ben.Marsh UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to. Change 3210601 on 2016/11/27 by Ben.Marsh PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman) Change 3210602 on 2016/11/27 by Ben.Marsh PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis) Change 3210605 on 2016/11/27 by Ben.Marsh UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries. Change 3211656 on 2016/11/28 by Ben.Marsh UBT: Move ModuleRules and TargetRules into their own file. Change 3211797 on 2016/11/28 by Ben.Marsh UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only. Change 3211833 on 2016/11/28 by Ben.Marsh UBT: Remove overridable configuration name from target rules. This feature is not used anywhere. Change 3211859 on 2016/11/28 by Ben.Marsh UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead. Change 3211942 on 2016/11/28 by Ben.Marsh UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now. Change 3215333 on 2016/11/30 by Ben.Marsh UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method. Change 3215482 on 2016/11/30 by Ben.Marsh UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported. Change 3215743 on 2016/11/30 by Ben.Marsh UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor. Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor. Change 3215778 on 2016/11/30 by Ben.Marsh UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete. Change 3217681 on 2016/12/01 by Ben.Marsh UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script. Change 3217723 on 2016/12/01 by Ben.Marsh UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled. Change 3217930 on 2016/12/01 by Ben.Marsh UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections. Change 3218762 on 2016/12/02 by Ben.Marsh Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations. Change 3219161 on 2016/12/02 by Ben.Marsh Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory. Change 3219197 on 2016/12/02 by Ben.Marsh Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere. Change 3219209 on 2016/12/02 by Ben.Marsh Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64. Change 3219610 on 2016/12/02 by Ben.Marsh Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful. Change 3219731 on 2016/12/02 by Ben.Marsh UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules. Change 3220796 on 2016/12/04 by Ben.Marsh Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway. Change 3220825 on 2016/12/04 by Ben.Marsh UBT: Change all executors to derive from a common base class (ActionExecutor). Change 3220834 on 2016/12/04 by Ben.Marsh UBT: Remove the global CommandLineContains() function. Change 3222706 on 2016/12/05 by Ben.Marsh Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017. Change 3222712 on 2016/12/05 by Ben.Marsh Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat Change 3223628 on 2016/12/06 by Ben.Marsh Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe Change 3223817 on 2016/12/06 by Ben.Marsh Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text. Change 3224046 on 2016/12/06 by Ben.Marsh Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded. Change 3224792 on 2016/12/07 by Ben.Marsh UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools. Change 3225212 on 2016/12/07 by Ben.Marsh UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy. Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object. The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner. Change 3226310 on 2016/12/07 by Ben.Marsh PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic) Change 3228273 on 2016/12/08 by Ben.Marsh Update copyright notices for QAGame. Change 3229166 on 2016/12/09 by Ben.Marsh UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object. Change 3230601 on 2016/12/12 by Ben.Marsh Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed. Change 3230737 on 2016/12/12 by Ben.Marsh UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands. Change 3230751 on 2016/12/12 by Ben.Marsh UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for. Change 3230804 on 2016/12/12 by Ben.Marsh UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary. Change 3230831 on 2016/12/12 by Ben.Marsh UGS: Warn when trying to switch streams if files are checked out. Change 3231281 on 2016/12/12 by Chad.Garyet Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one Change 3231496 on 2016/12/12 by Ben.Marsh Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015. Change 3231979 on 2016/12/12 by Ben.Marsh UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking. Change 3232619 on 2016/12/13 by Ben.Marsh Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main. [CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
#if defined(GL_MAX_ARRAY_TEXTURE_LAYERS) && GL_MAX_ARRAY_TEXTURE_LAYERS
GMaxTextureArrayLayers = Value_GL_MAX_ARRAY_TEXTURE_LAYERS;
#endif
#if defined(GL_MAX_COMPUTE_SHARED_MEMORY_SIZE)
GMaxComputeSharedMemory = Value_GL_MAX_COMPUTE_SHARED_MEMORY_SIZE;
#endif
GMaxWorkGroupInvocations = Value_GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS;
GSupportsParallelRenderingTasksWithSeparateRHIThread = false; // hopefully this is just temporary
GRHIThreadNeedsKicking = true; // GL is SLOW
GRHISupportsExactOcclusionQueries = FOpenGL::SupportsExactOcclusionQueries();
GSupportsVolumeTextureRendering = FOpenGL::SupportsVolumeTextureRendering();
GSupportsRenderDepthTargetableShaderResources = true;
GSupportsRenderTargetFormat_PF_G8 = true;
GSupportsSeparateRenderTargetBlendState = FOpenGL::SupportsSeparateAlphaBlend();
GSupportsDepthBoundsTest = FOpenGL::SupportsDepthBoundsTest();
GSupportsRenderTargetFormat_PF_FloatRGBA = FOpenGL::SupportsColorBufferHalfFloat();
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
GSupportsWideMRT = FOpenGL::SupportsWideMRT();
Copying //UE4/Dev-Mobile to Dev-Main (//UE4/Dev-Main) @2911599 #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2854295 on 2016/02/03 by Gareth.Martin@gareth.martin Added support for Landscape grass to use the landscape's light/shadow maps (original github pull request #1798 by Frugality) Change 2875167 on 2016/02/21 by Rolando.Caloca@Home_DM DM - glslang Change 2875650 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Common RHI changes Change 2876429 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Initial rhi check-in. Tappy & SunTemple working on PC. #codereview Jack.Porter, Chris.Babcock, Josh.Adams Change 2876665 on 2016/02/22 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Split Immediate command list off RHI Change 2881242 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream changes to exclude LPV shaders from Vulkan (reapplied with edit instead of integrate records) Change 2881356 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Static shadowing + dynamic-object CSM Change 2881359 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Mobile GPU particles Change 2881360 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Planar reflections very WIP Change 2881363 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream Separate Translucency very WIP Change 2881365 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream ProtoStar engine changes Change 2881371 on 2016/02/25 by Jack.Porter@Jack.Porter_UE4_Stream HACK for Max Texture Samplers hardcoded to 8 on ES2 Should be cleaned up better with UE-24419. Change 2884295 on 2016/02/26 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Integrate pipeline cache Change 2887043 on 2016/02/29 by Rolando.Caloca@Home_DM DM - Initial CCT support Change 2887572 on 2016/03/01 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Empty bound shader states cache - Only used currently on Vulkan Change 2889114 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Added GRHINeedsExtraDeletionLatency from 4.11 Change 2889115 on 2016/03/01 by Rolando.Caloca@Home_DM DM - Remove batched elements quads (was not been used at least since UE3!) Change 2895373 on 2016/03/04 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Fence mgr (disabled) Change 2898926 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Resource management (disabled) Change 2899937 on 2016/03/08 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Expand number of stencil op bits Change 2901132 on 2016/03/09 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Add support for more MaxSimultaneousRenderTargets Change 2903074 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Support for 3d staging textures Change 2903211 on 2016/03/10 by Jack.Porter@Jack.Porter_UE4_Stream Vulkan RHI stub for new SharedResourceView RHI call Change 2904014 on 2016/03/10 by Rolando.Caloca@rolando.caloca_T3903_DM DM - SM4 preq Change 2905389 on 2016/03/11 by Jack.Porter@Jack.Porter_UE4_Stream Android Vulkan support initial checkin Change 2908458 on 2016/03/14 by Allan.Bentham@Dev-Mobile Reinstate vertex fog, fixes UE-28166 Change 2910294 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Use fence manager Change 2910801 on 2016/03/15 by Rolando.Caloca@rolando.caloca_T3903_DM DM - Descriptor pool [CL 2912606 by Peter Sauerbrei in Main branch]
2016-03-16 21:16:51 -04:00
GSupportsTexture3D = FOpenGL::SupportsTexture3D();
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3145687) #lockdown Nick.Penwarden #rb Merge ========================== MAJOR FEATURES + CHANGES ========================== Change 3094167 on 2016/08/18 by Jeff.Fisher UEVR-97 Morpheus HMD tracking needs to wait until HMD is fully tracked. -Morpheus CALIBRATING/NOT_TRACKED tracking state hmd orientation update disabled and delegates added to present instructions to the user. This behavior is controlled by morpheus ini setting bDisableHMDOrientationUntilHMDHasBeenTracked, but defaulted to true to avoid subtly bad user experiences. #review-3094106 @chad.taylor #jira UEVR-97 Change 3104799 on 2016/08/29 by Jeff.Fisher UEVR-178 Morpheus HMD Black crescents -Switched reprojection frame time for 60/120 mode from 120hz to 60hz so we much better predict where the hmd will be pointing when the frame we are about to render is actually displayed, and are run off the edge of it less often and less severely. This makes the black crescent artifacts only just visible during very fast head turning. The kWrapModeMirror change, which will be submitted separately, makes the left and right crescents invisible to me. -Renamed the functions for setting the prediction info in the PS4Tracker. -Added render frame parameters to sony reprojection functions, these can help with debugging reprojection. -Added commented out sce call to get the reprojection debug data. Not allowed to submit an executable that calls it, but its nice to at least know where one can put it. May improve this later. -Wrapped PS4Tracker->Synchronize call in a check that the tracker handle is valid, because I managed to get it called when it wasn't (probably during hmd power off testing, but I don't remember now). It should be fine to not do it if the tracker is not functioning. #review-3104780 chad.taylor #jira UEVR-178 Change 3108423 on 2016/08/31 by Jeff.Fisher Morpheus Config Improvements. -UEVR-138 Morpheus HMD reprojection wrap mode config setting -Can now switch between wrap mode Mirror and ClampToBorder. Mirror is the default. -Made bDisableHMDOrientationUntilHMDHasBeenTracked editable in UE4Editor project settings. -Using generic project setting for bStartInVR, removed the morpheus specific one. #jira UEVR-138 #review-3106999 @nick.whiting Change 3111231 on 2016/09/01 by Jeff.Fisher Fixed bStartInVR ini setting. -Initial implementation worked via a generic EnableStereo call, which worked, but happened after the hmd setup dialog, which is not what I wanted. -Also fixed a tracking frame mismatch assert that hit when I powered the hmd off once, causing it to lose tracking. Its ok that it doesn't update in that circumstance. #review-3111211 @ryan.vance Change 3115196 on 2016/09/06 by Keli.Hlodversson #jira UEVR-128 Map move controller Select button to Invalid, as it is always handled by the system Change 3116425 on 2016/09/07 by Chad.Taylor PSVR: stereo layers implementation Change 3116593 on 2016/09/07 by Jeff.Fisher UEVR-126 Morpheus HMD connect dialog cancel reactions -VR only apps can't allow the player to cancel out of the hmd setup dialog, so lets just pop the dialog up again (sony were ok with a licencee doing this) if an ini setting says to do that. -VR/2D apps might want to switch to 2d if the player cancels out of the hmd setup dialog, so there is an ini setting for that. -A delegate only implementation is also provided for apps that want to do something else. This leaves the game rendering in VR mode, and fires the delegate. -Refactored to better separate successful HMD acquisition from stereo rendering. This was necessary to support the delegate only option on startup. If you start in vr mode with your hmd off and cancel the dialog stereo rendering now starts with default values for the hmd hardware stats (as read from my pvt) instead of crashing trying to use uninitialized data. When an hmd is connected its values will be read. -Refactored to ensure reprojection starts immediately when we call StartReprojection. #jira UEVR-126 #review-3116221 Change 3116754 on 2016/09/07 by Keli.Hlodversson bPixelDensityAdaptive is a bool and not a float property Change 3117692 on 2016/09/08 by Jeff.Fisher UEVR-135 Morpheus HMD recent feature error reporting UEVR-173 2DVR flexibility (UTexture) -Error log for sceHmdReprojectionSetOutputMinColor failure. -Made the parameter for 2dVR a UTexture* instead of a UTexture2D*, so it can be a rendertarget, etc. -Added error logs for missing texture, invalid texture, wrong texture format to 2DVR. #jira UEVR-135 #jira UEVR-173 #review-3116955 @keli.hloedversson Change 3117990 on 2016/09/08 by Jeff.Fisher UEVR-127 Morpheus HMD removal reaction -Added VRHeadsetPutOnHead and VRHeadsetRemovedFromHead delegates, and implemented them for Morpheus. #jira UEVR-127 #review-3117968 @keli.hlodversson Change 3120198 on 2016/09/09 by Jeff.Fisher MorpheusReprojector frame complete wait error log -Now log a warning if the sceKernalWaitEqueue returns an error. It not a problem if this happens rarely, but something is very broken if it starts happening continuously. Change 3121754 on 2016/09/12 by Keli.Hlodversson #jira UE-21878 - Also emit VR initialization analytics events in the editor. Change 3122311 on 2016/09/12 by Nick.Whiting Merging fix for Adreno devices rendering black from 4.13.1 Change 3123057 on 2016/09/13 by Keli.Hlodversson #jira UE-30097 Use the current value of r.ScreenPercentage on Occulus Rift if it's explicitly set. * If the SetBy part of the flags for the console var is SetBy_Constructor, then ignore the value. * If it's SetBy_Scalability, then ignore it if it equals 100 * Else, call SetScreenPercentage using the current value The obsolete HMD SCREENPERCENTAGE console command is still available and will override the setting until r.ScreenPercentage is modified the next time. Change 3123200 on 2016/09/13 by Chad.Taylor PS4 Stereo Layer double buffering. Since the overlays are reprojected at 120hz but rendered at 60hz we need to render to a separate buffer than the one being used by reprojection. Change 3125845 on 2016/09/14 by Keli.Hlodversson #jira UE-33996 Add hmd=<name> command line option to allow overriding which HMD module is used. Renamed GetModulePriorityKeyName to simply GetModuleKeyName, as this name is now also used to match against the command line options. Change 3127293 on 2016/09/15 by Jeff.Fisher UEVR-225 Morpheus HMD top and bottom black crescents -The hidden and visible area meshes for morpheus were too restrictive. Nudged them out a bit, no black crescents at the top and bottom of the screen. We are rendering a few more pixels now though. #review-3127145 @ryan.vance #jira UEVR-225 Change 3130635 on 2016/09/19 by Jeff.Fisher UEVR-226 Morpheus HMD mirrored fill wrong on outer edges -The setting was never being used, leaving the wrap mode at 0 aka kWrapModeWrap. -Refactored how the setting is applied so it works, and is less convoluted. #jira UEVR-226 #review-3129403 Change 3131615 on 2016/09/19 by Keli.Hlodversson #jira UE-29341. Update Chaperone bounds when SteamVR tells us they have changed Change 3136527 on 2016/09/22 by Keli.Hlodversson Don't depend on the current state of the VR subsystem when exiting PIE mode to decide whether the main window should be restored. Instead always restore it if it was minimized at the start. Change 3136652 on 2016/09/22 by Keli.Hlodversson Allow shutting down Steam VR subsystem without shutting down the Steam VR plugin completely in response to quitting from the SteamVR overlay. Enabling stereo rendering again will reinitialize SteamVR. This is useful when using PIE in VR mode as it allows entereing it again without restarting the editor. Also fixes crashes by first disabinge stereo rendering a short while before shutting down the VR subsystem. #jira UE-35940 Change 3138901 on 2016/09/23 by Ryan.Vance Merging 3138521 using OdinToDevVR to bring over temporary forward lighting ISR changes for 4.14 Change 3141614 on 2016/09/27 by Keli.Hlodversson Implement GetNumOfTrackingSensors and GetTrackingSensorProperties on SteamVR. #jira UE-32994 Change 3141948 on 2016/09/27 by Jeff.Fisher UEVR-242 Is AddControllerYawInput not allowed when morpheus is enabled? -Indeed it did not work. Looks like morpheus would not accumulate the yaw, so it would be reset every frame. I made the implementation of ApplyHmdRotation very similar to the one used for occulus (also similar to other platforms) to fix this. #jira UEVR-242 #review-3141933 keli.hlodversson Change 3143484 on 2016/09/28 by Nick.Whiting Integrating Oculus 1.8 SDK support, includes support for cylinder and cubemap stereo layers Change 3143517 on 2016/09/28 by Chad.Taylor Merging PS4Tracker fixes from Release-4.13 into Dev-VR Change 3143805 on 2016/09/28 by Keli.Hlodversson #jira UE-36478 Workaround to make world to meters scale apply correctly to Occulus controllers while running in PIE Change 3143943 on 2016/09/28 by Nick.Whiting Merging latest drop from OSVR Change 3144221 on 2016/09/28 by Keli.Hlodversson Implement GetTrackingSensorProperties on PS4 #jira UE-32994 Change 3144352 on 2016/09/28 by Ryan.Vance Initial implementation of mobile multi-view. This is non-functioning and requires a lot more work, but enough of the framework exists to make the 4.14 branch for an experimental release. Change 3144585 on 2016/09/29 by Jeff.Fisher UEVR-14 PSVR Support for 90Hz to 90Hz, and 120Hz to 120Hz -Enum setting added for the three frame sequences. -90Hz mode is trying to run camera updates at 90hz, but they can only run at 60 so every third one fails. This works, but its dubious. -Feature marked as experimental for now because of that 90hz tracking issue, and the lack of testing. -Defaulting to 60/120. #jira UEVR-14 #review-3143486 chad.taylor nick.whiting Change 3145263 on 2016/09/29 by Nick.Whiting Fix for constructor initialization order in StereoLayerComponent, which threw a warning on Clang Change 3145536 on 2016/09/29 by Nick.Whiting Fixes for project files to prevent mystery pop up from CAPI Change 3145663 on 2016/09/29 by Keli.Hlodversson PSVR: Make sure the camera orientation returned from GetTrackingSensorProperties points in the right direction. Change 3145670 on 2016/09/29 by Keli.Hlodversson For some reason the orientation of the Oculus tracking sensor is reported as pointing backwards. This flips it around to face front Change 3145687 on 2016/09/29 by Chad.Taylor VR splash screen support [CL 3146243 by Nick Whiting in Main branch]
2016-09-30 01:16:13 -04:00
GSupportsMobileMultiView = FOpenGL::SupportsMobileMultiView();
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3443236) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3385304 on 2017/04/07 by Ryan.Vance #jira UEVR-694 GL_TEXTURE_EXTERNAL_OES support hlslcc changes to support the TextureExternal keyword RHI changes to support RHICreateTextureExternal2D Fall back to a standard 2d texture on platforms without extension support Did not implement a shader cache solution as the resource is expected to be shared across processes, so recreating it from the shader cache would be a bad thing Change 3391376 on 2017/04/12 by Ben.Marsh Build: Add additional UE4Game targets for Dev-VR, to catch build failures in plugins that are disabled for games. Change 3392546 on 2017/04/13 by Jeff.Fisher Duplicating in Dev-VR (from Release-4.16) UEVR-734 PSVR sdk 4.5 tracking improvements UEVR-738 PSVR prediction time dynamic adjustment -New tracker profile and camera config to activate ps4 tracking improvements. -Calculating prediction time based on flip timings rather than assuming it will be a particular value. This makes the prediction time nearly perfect as long as we meet framerate and lets it adapt to the timing of when the prediction is made in the frame. -Changed reprojection fliparg to be the frame number, rather than a separate incrementor, so its more useful for debugging. #jira UEVR-734 #review-3391147 Change 3394508 on 2017/04/14 by Jeff.Fisher merge fix ShaderCacheTypes.h Change 3399628 on 2017/04/19 by Jeff.Fisher UEVR-582 PSVR not applying WorldToMeters for position accessor -Changed to apply WorldToMeters scale when we get the position data from PS4Tracker, so that the positions stored in MorpheusHMD are always in world space. #jira UEVR-582 #review-3398683 Change 3404200 on 2017/04/21 by Jeff.Fisher UEVR-239 GearVR headset worn/notworn notifications -Implemented the IHeadMountedDisplay accessor for this, and also hooked up the delegates that fire on PS4. -Implemented the IHeadMountedDisplay accessor for PS4. #jira UEVR-239 #review-3404174 @keli.hloedversson Change 3412688 on 2017/04/27 by Jeff.Fisher UEVR-766 PSVR test level improvements -VR/TM-MotionControllers --Hooked up QA_MoCoAll to the cycle of playercontrllers. --Added instructions for motion tracked device management controls, if the platform supports. -QA_MoCoAll --Switched tracking state colors to tracking spheres, becuase the arrows need to be not rendered in game for some configuration. --Added duplicate motion controller component to pad and another duplicate with disabled low latency tracking. -QA_MoCoDualShock --removed gun controller from this playercontroller, its redundant to the one in QA_MoCoAll -QA_MoCoComponents --world scale from controllers mode added ctrl-w, this is a good way to torture test world scale. #jira UEVR-766 Change 3413801 on 2017/04/28 by Keli.Hlodversson #jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio) on OculusRift Change 3429305 on 2017/05/08 by Keli.Hlodversson SteamVR Layers don't honor the (absence of) LAYER_FLAG_QUAD_PRESERVE_TEX_RATIO flag Avoid potential divide by zero in the DefaultStereoLayers implementation of the same flag. #jira UE-42855 Change 3429362 on 2017/05/08 by Ryan.Vance Integrating 3416918 for #jira UE-44404 Change 3429426 on 2017/05/08 by Keli.Hlodversson Set up a Test case for Layers in QA Game so that we can determine differences between platforms #jira UEVR-741 Change 3430829 on 2017/05/09 by Keli.Hlodversson Implement World-locked layer position type on SteamVR #jira UE-42940 Also fixes LAYER_FLAG_TEX_CONTINUOUS_UPDATE flag on SteamVR Change 3432895 on 2017/05/10 by Nick.Whiting Skipping recording of analytics if there is no device connected on startup, to prevent false reports when Oculus / SteamVR runtimes are installed on the user's machine #jira UE-37166 Change 3435917 on 2017/05/11 by Jeff.Fisher UE-44941 LoadErrors produced in log when opening TM-MotionControllers -LoadErrors:Error: Error /Game/Blueprints/QA_MoCoAll : Can't find file for asset. /Game/NewTextureRenderTarget2D -Removed the component that was referencing that. It was temporary test content, not meant to be submitted. #jira UE-44941 Change 3435938 on 2017/05/11 by Ryan.Vance Incorrect VertexDeclarationRHI for the hidden area mask pso. Change 3437197 on 2017/05/12 by Keli.Hlodversson Remove a irrelevant comment. Change 3437221 on 2017/05/12 by Keli.Hlodversson ... and now actually include the change that was supposed to go in CL#3437197 Remove a irrelevant comment. Change 3439359 on 2017/05/15 by Keli.Hlodversson Implement NoAlpha flag in DefauiltStereoLayers. #jira UEVR-777 Change 3439422 on 2017/05/15 by Keli.Hlodversson Fixes for CL#3439359 after review: Implement NoAlpha flag in DefauiltStereoLayers. #jira UEVR-777 Change 3439599 on 2017/05/15 by Jeff.Fisher UE-44962 Motion controller input not registered in TM-MotionControllers package -Pre-exising blueprint assumed only one textrenderactor in the level, but I added two more. It was working or not depending on the order in which they were constructed. -Now searching up the correct actor by Tag. #jira UE-44962 Change 3441176 on 2017/05/16 by Mike.Beach Can now explicitly hide components from a specific player through the player controller. Change 3441242 on 2017/05/16 by Mike.Beach Making it so any component can invoke a preview viewport in the editor (want it to be extended by scene capture components). Change 3441571 on 2017/05/16 by Mike.Beach Fixing CIS shadowed variable name issue (fallout from CL 3441176). Change 3443223 on 2017/05/17 by Mike.Beach Fixing root of shadowed variable name warning (now only in UT, fallout from 3441176) - renaming new base class variable so it doesn't conflict with third parties either. #jira UE-45120 [CL 3443810 by Mike Beach in Main branch]
2017-05-17 12:45:38 -04:00
GSupportsImageExternal = FOpenGL::SupportsImageExternal();
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
GSupportsShaderFramebufferFetch = FOpenGL::SupportsShaderFramebufferFetch();
GSupportsShaderMRTFramebufferFetch = FOpenGL::SupportsShaderMRTFramebufferFetch();
GSupportsShaderDepthStencilFetch = FOpenGL::SupportsShaderDepthStencilFetch();
GSupportsPixelLocalStorage = FOpenGL::SupportsPixelLocalStorage();
GMaxShadowDepthBufferSizeX = FMath::Min<int32>(Value_GL_MAX_RENDERBUFFER_SIZE, 4096); // Limit to the D3D11 max.
GMaxShadowDepthBufferSizeY = FMath::Min<int32>(Value_GL_MAX_RENDERBUFFER_SIZE, 4096);
GHardwareHiddenSurfaceRemoval = FOpenGL::HasHardwareHiddenSurfaceRemoval();
GSupportsTimestampRenderQueries = FOpenGL::SupportsTimestampQueries();
GRHIMaxDispatchThreadGroupsPerDimension.X = MAX_uint16;
GRHIMaxDispatchThreadGroupsPerDimension.Y = MAX_uint16;
GRHIMaxDispatchThreadGroupsPerDimension.Z = MAX_uint16;
// It's not possible to create a framebuffer with the backbuffer as the color attachment and a custom renderbuffer as the depth/stencil surface.
GRHISupportsBackBufferWithCustomDepthStencil = false;
GRHISupportsLazyShaderCodeLoading = true;
GShaderPlatformForFeatureLevel[ERHIFeatureLevel::ES2_REMOVED] = SP_NumPlatforms;
GShaderPlatformForFeatureLevel[ERHIFeatureLevel::ES3_1] = (GMaxRHIFeatureLevel == ERHIFeatureLevel::ES3_1) ? GMaxRHIShaderPlatform : SP_OPENGL_PCES3_1;
GShaderPlatformForFeatureLevel[ERHIFeatureLevel::SM4_REMOVED] = SP_NumPlatforms;
GShaderPlatformForFeatureLevel[ERHIFeatureLevel::SM5] = SP_NumPlatforms;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3771565) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3627858 by Sorin.Gradinaru #jira UE-48948 Crash when pressing backspace on empty line Fixed: UE-48948 Backspace on empty line crashes app (virtual keyboard) UE-49112 Virtual keyboard text field isn't visible after rotating from landscape to portrait UE-49117 Chinese and Korean virtual keyboards don't allow native characters UE-49120 Virtual keyboard number pad "kicks" user back to regular keyboard UE-49121 Gboard and Swift swipe entry are not supported by Virtual keyboard UE-49124 Cursor in virtual keyboard and UMG don't match UE-49128 Virtual Keyboard text field doesn't appear if there is too much text UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices) UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear Change 3630732 by Sorin.Gradinaru #jira UE-43488 GitHub 3440 : Fixes exposure with planar reflections. #3440 Cancelled the applied exposure scale for non-hdr mobile Change 3631436 by Nick.Shin HTML5 recommended fix for "RuntimeError: integer result unrepresentable" from the emscripten makers #jira UE-49059 HTML5 - Unable to launch project onto HTML 5 from editor Change 3632689 by Sorin.Gradinaru #jira UE - 49301 Text in UMG controls flickers during update from Virtual Keyboard Full refresh of the Slate control for Android experimental VK - the control has focus, but the cursor was removed Change 3632769 by Adrian.Chelu #jira UEMOB-403 Improvements to "Device Mobile Preview" feature Change 3633305 by Allan.Bentham Print out the callstack when a fatal error occurs. Change 3633510 by Chris.Babcock Remove unneeded logging #jira none Change 3634827 by Adrian.Chelu #fixed build editor buildsystem linux Change 3640610 by Adrian.Chelu #fixed Cook Win64 warnings #fixed UE4Editor Static Analysis Win64 warnings Change 3663057 by Sorin.Gradinaru UE-49301 Text in UMG controls flickers during update from Virtual Keyboard #jira UE-49301 #ue4 #android On some Android devices TextWatcher.onTextChanged gets called multiple times when typing/deleting the content of a EditText (internally, the first call resets the entire content, the second fills it with the new value) The workaround is to delays sending "empty string" to the Slate, waiting for 100ms to see if there is a second call (the "real" string to update) The CL contains a fix for a 5/5 crash : select some/all the text from the native edittext, press delete. Change 3663630 by Jack.Porter Fix shader compile error on Galaxy S6 Change 3663972 by Allan.Bentham add ES3.1 framebuffer fetch. #jira UE-46251 Change 3671843 by Nick.Shin HTML5 - silence CIS warnings (changed to INFO message type) #jira UE-50415 ( Pri:1 - 4.18 ) //UE4/Release-4.18: Step "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large" Change 3677675 by Sorin.Gradinaru Android Experimental Virtual Keyboard 4.18 issues #jira UE-49124 Cursor in virtual keyboard and UMG don't match #jira UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear #jira UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices) #ue4 #android UE-49124 Cursor in virtual keyboard and UMG don't match - change in SlateTextLayout.cpp - OnPaint() don't display the cursor Changed the show/hide vk routines (Game activity.java) to solve low-repro, Android O issues related to multiple click events. Should also be tested with multiple text boxes (fast click in/out different types of TextBox controls) Change 3681555 by Adrian.Chelu UEMOB-403 Improvements to "Device Mobile Preview" feature Change 3692020 by Sorin.Gradinaru #jira UE-50645 Carriage returns can be pasted into single line UMG fields on Android #ue4 #4.19 #android Change 3692741 by Sorin.Gradinaru Andoid 3D WebBrowser #jira UE-32740 Web Browser on a Widget Component appears to be 2D when launching on to Android #ue4 #android Change 3695475 by Chris.Babcock Per project Android NDK/SDK API settings #jira UEMOB-394 #ue4 #android Change 3701364 by Dmitriy.Dyomin Fixed: WEX - Android - Log spammed with "LogRHI: Error: Unsupported EPixelFormat 28" #jira UE-50714 Change 3701664 by Jack.Porter Fix typo Change 3702355 by Cosmin.Sulea UEMOB-393 - Support "ETC 1.5" packaging #jira UEMOB-393 Change 3704950 by Chris.Babcock Add verification of support for cooked texture format(s) on device at runtime (optional with Validate texture formats checkbox in Android project settings) and skipped for cook on the fly #jira UE-50837 #ue4 #android Change 3709817 by Nick.Shin HTML5 - silence CIS warnings (changed to INFO message type) finally have a repo case to test this proper fix #jira UE-50415 ( Pri:1 - 4.18 ) "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large" Change 3717598 by Chris.Babcock Fix Android icon paths #jira UE-51585 #ue4 #android Change 3718456 by Adrian.Chelu #fixed spelling in category localized name Change 3719643 by Nick.Shin nuke PLATFORM_HTML5_WIN32 more "old" code to remove #jira UEMOB-433 Remove Win32 SDL "HTML5 Simulator" code Change 3720342 by Nick.Shin HTML5 redirect logs to console window #jira UE-50747 HTML5 log is not easily accessible to users Change 3720652 by Sorin.Gradinaru UE-50382 Xcode Address Sanitizer feature does not work on iOS #jira 50382 #iOS #ue4 Address sanitizer dylib loader depends on the default SDKROOT parameter (<scheme> => Build Settings => Base SDK => <Build Configuration>) For macosx or missing (also translated as macosx), the path is incorrect for iphone/appletv. Change 3720654 by Sorin.Gradinaru UE-48499 Android Voice Module has a few issues #jira 48499 #Android #ue4 1.Circular Buffer: Does the engine already have an implementation? Do we want this into core libraries? R: There is an generic template class TCircularBuffer, but it lacks functionality like write/read checks, reading/writing data chunks. Plus the code from VoiceModuleAndroid is optimized for circular byte array. I suggest to keep it. 2. Possible memory leaks: void free_circular_buffer (circular_buffer *p) is implemented, but not used. Presumably a memory leak on the variable inrb. Does CreateAudioRecorder need to be paired with any kind of destroy on shutdown? R: Fixed. Using an array ActiveVoiceCaptures to store VoiceCapture references (same as on Windows) 3. Init() There are 4 calls to setup/init things that store the result in "result" but only the last call is checked against success. Should more checks against the values be made at each stage with informative log messaging in the event of failure? R: Fixed. 4. GetVoiceData() // Workaround for dealing with noise after stand-by while(bytes<InVoiceBufferSize) { OutVoiceBuffer[bytes++]=0; } Isn't this just a memzero? R: Fixed. 5. Missing features. Need to implement GetBufferSize and DumpState R: Added GetBufferSize. Can be used like in TestVoice.cpp DumpState is never used (same on Mac, iOS), plus the OpenSL objects do not expose internal properties. Change 3722554 by Cosmin.Sulea UE-44224 - iOS - Remote Build - rsync error: files not transferred #jira UE-44224 Change 3723265 by Allan.Bentham Assign a texture format priority for ETC1a. prevents launch on from using ETC1a all the time.. Change 3729764 by Dmitriy.Dyomin Removed deprecated LightmapUVBias, ShadowmapUVBias from instanced static mesh component per-instance data (80 -> 64 bytes) Change 3729899 by Dmitriy.Dyomin Fixed tiled landcape re-import Change 3730895 by Bogdan.Vasilache UEMOB-442 --> [ Support texture streaming on Android ES 3.1 ] #jira UEMOB-442 Change 3733463 by Chris.Babcock Return error for external texture if not used in pixel shader #jira UE-51763 #ue4 Change 3736226 by Chris.Babcock Change ExposureScale to PreExposure #jira UE-52007 #jira UE-51691 #ue4 #android Change 3740509 by Allan.Bentham Add LQ (direct lighting from stationary spot/point lights) to volumetric lightmaps. #jira UE-50551 Change 3740586 by Cosmin.Sulea UE-51747 - GitHub 4174 : [BUG-FIX] Invalid ASTC texture versioning is corrected. #jira UE-51747 Change 3741110 by Chris.Babcock Fix functional code in checks removed for shipping #ue4 Change 3741117 by Chris.Babcock Fix checkin error for check -> ensure fix #ue4 Change 3741156 by Chris.Babcock Swap order of SDK and NDK overrides in menu to match Android SDK settings #jira UE-52019 #ue4 #android Change 3741271 by Chris.Babcock Use final NDK and SDK levels only in UEBuildSettings.txt and rename the overrides to be clearer #jira UE-52058 #ue4 #android Change 3741464 by Chris.Babcock Add NDK and SDK platform validation (installed) for Android #jira UE-52069 #ue4 #android Change 3744602 by Josh.Adams From Meerkat: - Added optional 0 or 1 param to showlayer that will set the visibility instead of toggling it for entire layer Change 3744603 by Josh.Adams From Meerkat: - Fixed a comment about debug view modes on consoles Change 3744607 by Josh.Adams From Meerkat: - Added HWInstances to the PrimitiveStats view in Statistics window Change 3754890 by Chris.Babcock Updated IntelISPCTexComp DLLs to fix crashes with some processors on Windows #jira UE-52281 #ue4 Change 3755147 by Jack.Porter Fixed Google Cardboard rendering upside down on iPhone 6S+ #jira UE-38555 Change 3755458 by Cosmin.Sulea UE-47801 - RSync Error when Generating SSH Key for Remote Mac Building when Mac username contains a space #jira UE-47801 Change 3755492 by Jack.Porter Fix merge error Change 3759140 by Bogdan.Vasilache UE-52396 --> Assertion in FOpenGLDynamicRHI::CreateOpenGLTexture when launching on Mali Galaxy S III #jira UE-52396 Change 3760536 by Sorin.Gradinaru UE-51262 values for pinch input produce very different results for same area on android device #jira 51262 #iOS #Android #ue4 1. When the pinch goes beyond the viewport boundaries (when zooming out), the touch that goes off-screen is "released" and the zooming effect is over. Solved by remembering last pinch event values 2. "Hack" the initial distance for the pinch/ rotate, by touching the screen and moving the finger to another position before using the second finger. Solved by using the correct values when the pinch event starts Change 3761279 by Chris.Babcock Flag vertex and fragment shaders belonging to materials with external textures #jira UE-52398 #ue4 #android Change 3761494 by Chris.Babcock Fix access to FrameUpdateInfo in MediaPlayer14.java and CameraPlayer14.java with Proguard #jira UE-52471 #ue4 #android Change 3763146 by Jack.Porter Default assets for web browser widget #jira UE-51374 Change 3764242 by Chris.Babcock Disable Niagara vertex factories for mobile and Switch #jira UE-52425 #ue4 #mobile #switch Change 3766027 by Allan.Bentham Fix crash when no LQ volumetric lightmap data exists #jira UE-52508 Change 3766075 by Josh.Adams - Updating UDKRemote. Still needs art updated, and some some unneeded assets removed Change 3766141 by Allan.Bentham Show unbuilt lightmap warning when LQ data is missing from volumetric lightmap in mobile shading mode. Change 3766163 by Josh.Adams - Updated icons and added a generator script when we get a new one Change 3766560 by Allan.Bentham Workaround for broken offsets with automation screenshots. #jira UE-52491 Change 3767193 by Peter.Sauerbrei remove Oculus shader from being cached force a metal shader re-compile #jira UE-52587 Change 3767604 by Peter.Sauerbrei fix the Oculusshader the right way #jira UE-52587 Change 3768543 by Sorin.Gradinaru Android WebBrowser 3D - webbrowser plugin contins the assets, 2D behaviour restored #Android #UE4 #4.19 #jira UE-51374 Web Browser widget is not working on Android #jira UE-52399 Android web browser does not accept input Change 3663915 by Jack.Porter Prevent FTcpListener from busy polling while waiting for connections #jira UE-50125 Change 3709224 by Allan.Bentham Add android target device to gauntlet. Automation screenshot uses high res screenshot api for mobile. #jira UEMOB-360 Change 3741453 by Chris.Babcock Match the 4.18.1 fixes for shipping checks removing code (from CL3741091) #ue4 Change 3769301 by Peter.Sauerbrei fix for missing ue4_stdmetal.lib, courtesty of MarkS #jira UE-52587 Change 3770597 by Sorin.Gradinaru Android WebBrowser - remove the WebBrowser plugin reference from the Engine Load the default material directly from the resources. #Android #UE4 #jira UE-51374 Web Browser widget is not working on Android #jira UE-52399 Android web browser does not accept input [CL 3771573 by Chris Babcock in Main branch]
2017-11-22 16:42:04 -05:00
// Disable texture streaming on devices with ES3.1 or lower, unless we have the GL_APPLE_copy_texture_levels extension or support for glCopyImageSubData
if (GMaxRHIFeatureLevel <= ERHIFeatureLevel::ES3_1)
{
GRHISupportsTextureStreaming = FOpenGL::SupportsCopyImage();
}
else
{
GRHISupportsTextureStreaming = true;
}
// Disable texture streaming if forced off by r.OpenGL.DisableTextureStreamingSupport
static const auto CVarDisableOpenGLTextureStreamingSupport = IConsoleManager::Get().FindTConsoleVariableDataInt(TEXT("r.OpenGL.DisableTextureStreamingSupport"));
if (CVarDisableOpenGLTextureStreamingSupport->GetValueOnAnyThread())
{
GRHISupportsTextureStreaming = false;
}
for (int32 PF = 0; PF < PF_MAX; ++PF)
{
SetupTextureFormat(EPixelFormat(PF), FOpenGLTextureFormat());
}
GLenum DepthFormat = FOpenGL::GetDepthFormat();
GLenum ShadowDepthFormat = FOpenGL::GetShadowDepthFormat();
// Initialize the platform pixel format map. InternalFormat InternalFormatSRGB Format Type bCompressed bBGRA
SetupTextureFormat( PF_Unknown, FOpenGLTextureFormat( ));
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ 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 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 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
SetupTextureFormat( PF_A32B32G32R32F, FOpenGLTextureFormat( GL_RGBA32F, GL_RGBA32F, GL_RGBA, GL_FLOAT, false, false));
SetupTextureFormat( PF_UYVY, FOpenGLTextureFormat( ));
SetupTextureFormat( PF_DepthStencil, FOpenGLTextureFormat( GL_DEPTH24_STENCIL8, GL_NONE, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, false, false));
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ 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 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 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
SetupTextureFormat( PF_ShadowDepth, FOpenGLTextureFormat( ShadowDepthFormat, ShadowDepthFormat, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, false, false));
SetupTextureFormat( PF_D24, FOpenGLTextureFormat( DepthFormat, DepthFormat, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, false, false));
SetupTextureFormat( PF_A16B16G16R16, FOpenGLTextureFormat( GL_RGBA16F, GL_RGBA16F, GL_RGBA, GL_HALF_FLOAT, false, false));
SetupTextureFormat( PF_A1, FOpenGLTextureFormat( ));
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ 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 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 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
SetupTextureFormat( PF_R16G16B16A16_UINT, FOpenGLTextureFormat( GL_RGBA16UI, GL_RGBA16UI, GL_RGBA_INTEGER, GL_UNSIGNED_SHORT, false, false));
SetupTextureFormat( PF_R16G16B16A16_SINT, FOpenGLTextureFormat( GL_RGBA16I, GL_RGBA16I, GL_RGBA_INTEGER, GL_SHORT, false, false));
SetupTextureFormat( PF_R32G32B32A32_UINT, FOpenGLTextureFormat( GL_RGBA32UI, GL_RGBA32UI, GL_RGBA_INTEGER, GL_UNSIGNED_INT, false, false));
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3694557) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3495522 by Rolando.Caloca DR - Enable gpu skinning on Vulkan Change 3681208 by Jian.Ru Force bCastShadowAsMasked to false for opaque materials; Disable UI check box of bCastShadowAsMasked when blend mode is opaque or modulated Change 3682631 by Rolando.Caloca DR - Copy 3682626 Fix recompute tangents not being applied to different sections Change 3684812 by Arne.Schober DR - Fix a crash and a Masterfile issue Change 3684833 by Marcus.Wassmer Fix more non-unity issues Change 3685236 by Arne.Schober DR - Fix some issues with Particles e.g stride was meant to be set to repeat and also subUV needs to be taken care of Change 3685247 by Arne.Schober DR - accidentally removed bracket Change 3686764 by Daniel.Wright In uncooked Feature Level ES2, fixed reflection capture data getting tossed in PostLoad when it is needed for encoding in OnRegister. Change 3686775 by Marcus.Wassmer Fix bad merge Change 3687022 by Marcus.Wassmer Fix Win32 compiles Change 3687355 by Rolando.Caloca DR - Copy 3687334 Fix for odd Vulkan crash Change 3687537 by Arne.Schober DR - Making StaticArray faster as PSO descriptor uses them intensively (5ms in one infiltrator scene on PS4) Rewrote integer sequence to use fewer template instantiations for faster compile times and larger sequence support. Change 3687546 by Arne.Schober DR - Remove unnecessary virtuals and recounts Change 3688128 by Rolando.Caloca DR - Fix Linux compile error, rename Elements macro to GetNumArrayElements Change 3688140 by Rolando.Caloca DR - Linux warning fix Change 3688190 by Mark.Satterthwaite Use the correct #define for determining whether we are compiling for Metal in general, rather that only doing so for Metal + Mobile rendering. Should fix the skin-cache rendering. #jira UE-50912 Change 3688689 by Chris.Bunner Static analysis fixes. Change 3688948 by Chris.Bunner More static analysis fixes. Change 3689116 by Arne.Schober DR - [UE-51015] - moving alignment specifier Change 3690645 by Marcus.Wassmer Restore per-element align for TStaticArray Change 3690801 by Jian.Ru Marcus's fix FStaticMeshVertexFactories::ReleaseResources #jira UE-51093 Change 3690809 by Rolando.Caloca DR - Copy 3690806 Fix Anisotropic not working on Vulkan Change 3690874 by Benn.Gallagher Fix for index buffer overflow and clothing upgrade warnings. #jira UE-51026 Change 3691221 by Jian.Ru Fix log spam when -d3ddebug #jira UE-50977 Change 3691291 by Marcus.Wassmer Move global dynamic buffer commits to before GPU FX rendering. Fixes d3derror in ES2 preview. The more subtle issue I believe is that the d3d11statecache is leaving streams bound for too long, but that requires more investigation #jira UE-51058 Change 3691361 by Rolando.Caloca DR - Fix resources not getting destroyed at RHI destruction time #jira UE-51057 Change 3691607 by Arne.Schober DR - interface change requested by Steve Change 3691662 by Marcus.Wassmer Fix one bit of d3dwarning. Need a 16 byte minimum to make 0 stride vbuffer happy for colors. Change 3692268 by Rolando.Caloca DR - vk - Keep a reference to a buffer to avoid deletion - Fixes crash in Paragon Change 3692403 by Jian.Ru Marcus's fix on automation test failure Change 3692443 by Jian.Ru Back out changelist 3692403 Change 3692455 by Marcus.Wassmer Fix automation failure in tile rendering. Can't setdata for vertexfactories on the gamethread Change 3692566 by Marcus.Wassmer Fix clang compiles Change 3692664 by Chris.Bunner Updated default editor skeletal mesh. Change 3692675 by Marcus.Wassmer Make the behavior of FCanvasTileRendererItem::FRenderData actually match the comment. Fixes automation crash. Change 3692692 by Jian.Ru Fix a bug where only the first slice of 3d textures are cleared on XboxOne; Fix a rendering artifact when r.TranslucentLightingVolume is 0 #jira UE-50636 Change 3693043 by Arne.Schober DR - [UE-51173]- Fixing Instanced Rendering Vertexbuffer SRV Resources not getting initzialized and re-set onto the vertexfactory after the Buffer has been updated Change 3693284 by Marcus.Wassmer Duplicate 3682248. Fix for debug canvas draw randomly corrupting memory Change 3693360 by Rolando.Caloca DR - Fix material events not showing up in RenderDoc Change 3693549 by Marcus.Wassmer Fix incorrect flag check Change 3693575 by Arne.Schober DR - null size check on StaticMeshVertexData Change 3693677 by Marcus.Wassmer Make double plus sure the copy is a valid size Change 3694155 by Marcus.Wassmer Generate correct strides for vertexfactories depending on whether color will be overridden or not by the component. Fixes WEX and probably other similar bugs. ALSO fix horrible longstanding bug in OpenGL VertexDeclaration cache. Strides not part of the operator== of the key so collisions/map walks would sometimes return the wrong decl with the wrong set of streamstrides. D3D has the same problem, causing spurious D3D warnings but I haven't fixed it yet. Change 3694156 by Marcus.Wassmer This doesn't really matter because the decl is created dynamically but the stream elements might as well be right if we're gonna have them Change 3694470 by Benn.Gallagher Fixed crash fixing up clothing sections index buffers in specific Unreal Tournament asset with modified oversized index buffer. #jira UE-51207 Change 3694557 by Chris.Bunner Static analysis and potential memory leak fix. Change 3684284 by Arne.Schober Manual Vfetch for StaticMeshes Skelmeshes also use the new Layout Skelmeshes use DDC Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Change 3689555 by Arne.Schober DR - Fix performance regession cause by not sharing VertexFactory ptr in the static drawlist [CL 3694667 by Marcus Wassmer in Main branch]
2017-10-13 11:32:28 -04:00
SetupTextureFormat( PF_R16G16B16A16_UNORM, FOpenGLTextureFormat( GL_RGBA16, GL_RGBA16, GL_RGBA, GL_UNSIGNED_SHORT, false, false));
SetupTextureFormat( PF_R16G16B16A16_SNORM, FOpenGLTextureFormat( GL_RGBA16, GL_RGBA16, GL_RGBA, GL_SHORT, false, false));
SetupTextureFormat( PF_R16G16_UINT, FOpenGLTextureFormat( GL_RG16UI, GL_RG16UI, GL_RG_INTEGER, GL_UNSIGNED_SHORT, false, false));
SetupTextureFormat( PF_R8, FOpenGLTextureFormat( GL_R8, GL_R8, GL_RED, GL_UNSIGNED_BYTE, false, false));
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3694557) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3495522 by Rolando.Caloca DR - Enable gpu skinning on Vulkan Change 3681208 by Jian.Ru Force bCastShadowAsMasked to false for opaque materials; Disable UI check box of bCastShadowAsMasked when blend mode is opaque or modulated Change 3682631 by Rolando.Caloca DR - Copy 3682626 Fix recompute tangents not being applied to different sections Change 3684812 by Arne.Schober DR - Fix a crash and a Masterfile issue Change 3684833 by Marcus.Wassmer Fix more non-unity issues Change 3685236 by Arne.Schober DR - Fix some issues with Particles e.g stride was meant to be set to repeat and also subUV needs to be taken care of Change 3685247 by Arne.Schober DR - accidentally removed bracket Change 3686764 by Daniel.Wright In uncooked Feature Level ES2, fixed reflection capture data getting tossed in PostLoad when it is needed for encoding in OnRegister. Change 3686775 by Marcus.Wassmer Fix bad merge Change 3687022 by Marcus.Wassmer Fix Win32 compiles Change 3687355 by Rolando.Caloca DR - Copy 3687334 Fix for odd Vulkan crash Change 3687537 by Arne.Schober DR - Making StaticArray faster as PSO descriptor uses them intensively (5ms in one infiltrator scene on PS4) Rewrote integer sequence to use fewer template instantiations for faster compile times and larger sequence support. Change 3687546 by Arne.Schober DR - Remove unnecessary virtuals and recounts Change 3688128 by Rolando.Caloca DR - Fix Linux compile error, rename Elements macro to GetNumArrayElements Change 3688140 by Rolando.Caloca DR - Linux warning fix Change 3688190 by Mark.Satterthwaite Use the correct #define for determining whether we are compiling for Metal in general, rather that only doing so for Metal + Mobile rendering. Should fix the skin-cache rendering. #jira UE-50912 Change 3688689 by Chris.Bunner Static analysis fixes. Change 3688948 by Chris.Bunner More static analysis fixes. Change 3689116 by Arne.Schober DR - [UE-51015] - moving alignment specifier Change 3690645 by Marcus.Wassmer Restore per-element align for TStaticArray Change 3690801 by Jian.Ru Marcus's fix FStaticMeshVertexFactories::ReleaseResources #jira UE-51093 Change 3690809 by Rolando.Caloca DR - Copy 3690806 Fix Anisotropic not working on Vulkan Change 3690874 by Benn.Gallagher Fix for index buffer overflow and clothing upgrade warnings. #jira UE-51026 Change 3691221 by Jian.Ru Fix log spam when -d3ddebug #jira UE-50977 Change 3691291 by Marcus.Wassmer Move global dynamic buffer commits to before GPU FX rendering. Fixes d3derror in ES2 preview. The more subtle issue I believe is that the d3d11statecache is leaving streams bound for too long, but that requires more investigation #jira UE-51058 Change 3691361 by Rolando.Caloca DR - Fix resources not getting destroyed at RHI destruction time #jira UE-51057 Change 3691607 by Arne.Schober DR - interface change requested by Steve Change 3691662 by Marcus.Wassmer Fix one bit of d3dwarning. Need a 16 byte minimum to make 0 stride vbuffer happy for colors. Change 3692268 by Rolando.Caloca DR - vk - Keep a reference to a buffer to avoid deletion - Fixes crash in Paragon Change 3692403 by Jian.Ru Marcus's fix on automation test failure Change 3692443 by Jian.Ru Back out changelist 3692403 Change 3692455 by Marcus.Wassmer Fix automation failure in tile rendering. Can't setdata for vertexfactories on the gamethread Change 3692566 by Marcus.Wassmer Fix clang compiles Change 3692664 by Chris.Bunner Updated default editor skeletal mesh. Change 3692675 by Marcus.Wassmer Make the behavior of FCanvasTileRendererItem::FRenderData actually match the comment. Fixes automation crash. Change 3692692 by Jian.Ru Fix a bug where only the first slice of 3d textures are cleared on XboxOne; Fix a rendering artifact when r.TranslucentLightingVolume is 0 #jira UE-50636 Change 3693043 by Arne.Schober DR - [UE-51173]- Fixing Instanced Rendering Vertexbuffer SRV Resources not getting initzialized and re-set onto the vertexfactory after the Buffer has been updated Change 3693284 by Marcus.Wassmer Duplicate 3682248. Fix for debug canvas draw randomly corrupting memory Change 3693360 by Rolando.Caloca DR - Fix material events not showing up in RenderDoc Change 3693549 by Marcus.Wassmer Fix incorrect flag check Change 3693575 by Arne.Schober DR - null size check on StaticMeshVertexData Change 3693677 by Marcus.Wassmer Make double plus sure the copy is a valid size Change 3694155 by Marcus.Wassmer Generate correct strides for vertexfactories depending on whether color will be overridden or not by the component. Fixes WEX and probably other similar bugs. ALSO fix horrible longstanding bug in OpenGL VertexDeclaration cache. Strides not part of the operator== of the key so collisions/map walks would sometimes return the wrong decl with the wrong set of streamstrides. D3D has the same problem, causing spurious D3D warnings but I haven't fixed it yet. Change 3694156 by Marcus.Wassmer This doesn't really matter because the decl is created dynamically but the stream elements might as well be right if we're gonna have them Change 3694470 by Benn.Gallagher Fixed crash fixing up clothing sections index buffers in specific Unreal Tournament asset with modified oversized index buffer. #jira UE-51207 Change 3694557 by Chris.Bunner Static analysis and potential memory leak fix. Change 3684284 by Arne.Schober Manual Vfetch for StaticMeshes Skelmeshes also use the new Layout Skelmeshes use DDC Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Change 3689555 by Arne.Schober DR - Fix performance regession cause by not sharing VertexFactory ptr in the static drawlist [CL 3694667 by Marcus Wassmer in Main branch]
2017-10-13 11:32:28 -04:00
SetupTextureFormat( PF_R5G6B5_UNORM, FOpenGLTextureFormat( GL_RGB565, GL_RGB565, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, false, false));
//GL_UNSIGNED_SHORT_1_5_5_5_REV is not defined in gles
GLenum GL5551Format = FOpenGL::GetPlatfrom5551Format();
//the last 5 bits of GL_UNSIGNED_SHORT_1_5_5_5_REV is Red, while the last 5 bits of DXGI_FORMAT_B5G5R5A1_UNORM is Blue
bool bNeedsToSwizzleRedBlue = GL5551Format != GL_UNSIGNED_SHORT_5_5_5_1;
SetupTextureFormat( PF_B5G5R5A1_UNORM, FOpenGLTextureFormat( GL_RGB5_A1, GL_RGB5_A1, GL_RGBA, GL5551Format, false, bNeedsToSwizzleRedBlue));
SetupTextureFormat( PF_G16, FOpenGLTextureFormat( GL_R16, GL_R16, GL_RED, GL_UNSIGNED_SHORT, false, false));
SetupTextureFormat( PF_R32_FLOAT, FOpenGLTextureFormat( GL_R32F, GL_R32F, GL_RED, GL_FLOAT, false, false));
SetupTextureFormat( PF_G16R16F, FOpenGLTextureFormat( GL_RG16F, GL_RG16F, GL_RG, GL_HALF_FLOAT, false, false));
SetupTextureFormat( PF_G16R16F_FILTER, FOpenGLTextureFormat( GL_RG16F, GL_RG16F, GL_RG, GL_HALF_FLOAT, false, false));
SetupTextureFormat( PF_G32R32F, FOpenGLTextureFormat( GL_RG32F, GL_RG32F, GL_RG, GL_FLOAT, false, false));
SetupTextureFormat( PF_A2B10G10R10, FOpenGLTextureFormat( GL_RGB10_A2, GL_RGB10_A2, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, false, false));
SetupTextureFormat( PF_R16F, FOpenGLTextureFormat( GL_R16F, GL_R16F, GL_RED, GL_HALF_FLOAT, false, false));
SetupTextureFormat( PF_R16F_FILTER, FOpenGLTextureFormat( GL_R16F, GL_R16F, GL_RED, GL_HALF_FLOAT, false, false));
SetupTextureFormat( PF_A8, FOpenGLTextureFormat( GL_R8, GL_R8, GL_RED, GL_UNSIGNED_BYTE, false, false));
SetupTextureFormat( PF_R32_UINT, FOpenGLTextureFormat( GL_R32UI, GL_R32UI, GL_RED_INTEGER, GL_UNSIGNED_INT, false, false));
SetupTextureFormat( PF_R32_SINT, FOpenGLTextureFormat( GL_R32I, GL_R32I, GL_RED_INTEGER, GL_INT, false, false));
SetupTextureFormat( PF_R16_UINT, FOpenGLTextureFormat( GL_R16UI, GL_R16UI, GL_RED_INTEGER, GL_UNSIGNED_SHORT, false, false));
SetupTextureFormat( PF_R16_SINT, FOpenGLTextureFormat( GL_R16I, GL_R16I, GL_RED_INTEGER, GL_SHORT, false, false));
SetupTextureFormat( PF_R8_UINT, FOpenGLTextureFormat( GL_R8UI, GL_R8UI, GL_RED_INTEGER, GL_UNSIGNED_BYTE, false, false));
SetupTextureFormat( PF_R8G8, FOpenGLTextureFormat( GL_RG8, GL_RG8, GL_RG, GL_UNSIGNED_BYTE, false, false));
SetupTextureFormat( PF_R32G32_UINT, FOpenGLTextureFormat( GL_RG32UI, GL_RG32UI, GL_RG_INTEGER, GL_UNSIGNED_INT, false, false));
// Should be GL_RGBA8_SNORM but it doesn't work with glTexBuffer -> mapping to Unorm and unpacking in the shader
SetupTextureFormat( PF_R8G8B8A8_SNORM, FOpenGLTextureFormat( GL_RGBA8, GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, false, false));
SetupTextureFormat( PF_FloatRGB, FOpenGLTextureFormat( GL_R11F_G11F_B10F, GL_R11F_G11F_B10F, GL_RGB, GL_UNSIGNED_INT_10F_11F_11F_REV, false, false));
SetupTextureFormat( PF_FloatR11G11B10, FOpenGLTextureFormat( GL_R11F_G11F_B10F, GL_R11F_G11F_B10F, GL_RGB, GL_UNSIGNED_INT_10F_11F_11F_REV, false, false));
SetupTextureFormat( PF_FloatRGBA, FOpenGLTextureFormat( GL_RGBA16F, GL_RGBA16F, GL_RGBA, GL_HALF_FLOAT, false, false));
SetupTextureFormat( PF_R8G8_UINT, FOpenGLTextureFormat( GL_RG8UI, GL_RG8UI, GL_RG_INTEGER, GL_UNSIGNED_BYTE, false, false));
SetupTextureFormat( PF_R32G32B32_UINT, FOpenGLTextureFormat( GL_RGB32UI, GL_RGB32UI, GL_RGB_INTEGER, GL_UNSIGNED_INT, false, false));
SetupTextureFormat( PF_R32G32B32_SINT, FOpenGLTextureFormat( GL_RGB32I, GL_RGB32I, GL_RGB_INTEGER, GL_INT, false, false));
SetupTextureFormat( PF_R32G32B32F, FOpenGLTextureFormat( GL_RGB32F, GL_RGB32F, GL_RGB, GL_FLOAT, false, false));
SetupTextureFormat( PF_R8_SINT, FOpenGLTextureFormat( GL_R8I, GL_R8I, GL_RED_INTEGER, GL_BYTE, false, false));
SetupTextureFormat( PF_B8G8R8A8, FOpenGLTextureFormat( GL_RGBA8, GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, false, true));
SetupTextureFormat( PF_R8G8B8A8, FOpenGLTextureFormat( GL_RGBA8, GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, false, false));
SetupTextureFormat( PF_R8G8B8A8_UINT, FOpenGLTextureFormat( GL_RGBA8UI, GL_RGBA8UI, GL_RGBA_INTEGER, GL_UNSIGNED_BYTE, false, false));
SetupTextureFormat( PF_G8, FOpenGLTextureFormat( GL_R8, GL_R8, GL_RED, GL_UNSIGNED_BYTE, false, false));
#if PLATFORM_DESKTOP
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 2996057) ========================== MAJOR FEATURES + CHANGES ========================== Change 2975196 on 2016/05/12 by Robert.Manuszewski Garbage Collector will no longer be responsible for generating class token stream, instead the token stream will be generated on startup or when a class has finished loading. - This way we can avoid very long GC times after new blueprints have been loaded. - Temporarily enabled CLASS_TokenStreamAssembled check in development builds (for testing purposes) Change 2993960 on 2016/05/30 by Robert.Manuszewski Fixing leaked linkers created by blocking load requests during async loading. Change 2959398 on 2016/04/28 by Steve.Robb TMap references are strong and cannot be nulled by pending kill. This makes references in values strong too, even though we only really care about keys, which will corrupt the map when nulled. #jira UE-20828 Change 2960723 on 2016/04/29 by Graeme.Thornton Fix for texture asset import data being ignored when async loaded Change 2960938 on 2016/04/29 by Robert.Manuszewski Nulling out sql db handle after closing it. Change 2967127 on 2016/05/05 by Steve.Robb Move constructors explicitly disabled in generated code. Change 2967143 on 2016/05/05 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. Change 2967164 on 2016/05/05 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer Change 2968650 on 2016/05/06 by Steve.Robb Fix for HotReload copying module manager. Change 2968915 on 2016/05/06 by Robert.Manuszewski Fixing spelling of SetImageIntegrityStatus function name. Change 2970406 on 2016/05/09 by Steve.Robb Static analysis fixes: Function uses '...' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. Change 2970419 on 2016/05/09 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. warning C6011: Dereferencing NULL pointer '...'. warning C6385: Reading invalid data from '...': the readable size is '...' bytes, but '...' bytes may be read. warning C6386: Buffer overrun while writing to '...': the writable size is '...' bytes, but '...' bytes might be written. Change 2970431 on 2016/05/09 by Steve.Robb Static analysis fixes: warning C6299: Explicitly comparing a bit field to a Boolean type will yield unexpected results. Change 2972032 on 2016/05/10 by Steven.Hutton Workflow fixes to bugg / crashgroup filtering. Filters should now correctly persist across queries. Change 2972085 on 2016/05/10 by Steve.Robb Const-correctness fix for FLogCategoryBase::IsSuppressed. Change 2972087 on 2016/05/10 by Steve.Robb ELogVerbosity moved into its own header. Change 2972090 on 2016/05/10 by Steve.Robb Redundant ensure removed. Change 2972103 on 2016/05/10 by Steve.Robb Removal of redundant use of USING_CODE_ANALYSIS. Change 2972139 on 2016/05/10 by Steve.Robb Fix for ensure macros throwing C6326 warnings during static analysis. Change 2972147 on 2016/05/10 by Steve.Robb Fix for UE_LOG_ACTIVE macro throwing C6326 warnings during static analysis. Change 2972162 on 2016/05/10 by Steve.Robb SCOPE_CYCLE_COUNTER_GUARD removed. Change 2972168 on 2016/05/10 by Steve.Robb Compile error fix for logOrEnsureNanError in static analysis builds. Change 2973084 on 2016/05/10 by Chris.Wood Crash Report Server performance tweak Change 2974030 on 2016/05/11 by Steve.Robb Fix for IPropertyHandle::SetValue - used to take a non-const reference to a const UObject*, now it takes const references to both non-const and const UObject*. Change 2974053 on 2016/05/11 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. Change 2974191 on 2016/05/11 by Steve.Robb Fix for template instantiation error in VS2013. Change 2975298 on 2016/05/12 by Steve.Robb Static analysis fixes: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 2975318 on 2016/05/12 by Steve.Robb Fix for hot reload info being reported as warnings. #jira UE-30586 Change 2975447 on 2016/05/12 by Steve.Robb Static analysis fixes: warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant. warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator? warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator? warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant. Did you intend to use the bitwise-and operator? warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant. <expression> is never evaluated and might have side effects. warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead? warning C6316: Incorrect operator: tested expression is constant and non-zero. Use bitwise-and to determine whether bits are set. Change 2975478 on 2016/05/12 by Steve.Robb Static analysis fixes for lots of redundant <zero constant> and <non-zero constant> warnings. Change 2975538 on 2016/05/12 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'StaticResource' Change 2976640 on 2016/05/13 by Robert.Manuszewski Fixing crashes caused by token stream generation changes. Making sure the token stream gets re-generated when a class gets re-linked. #jira UE-30675 Change 2978320 on 2016/05/16 by Steve.Robb Fix for static analysis warnings in XNA headers. Change 2978329 on 2016/05/16 by Steve.Robb Static analysis fixes: warning C6334: sizeof operator applied to an expression with an operator might yield unexpected results: Parentheses can be used to disambiguate certain usages. Change 2980222 on 2016/05/17 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 2980458 on 2016/05/17 by Chris.Wood Attempt to fix crash report submission problems from CRP to CR website [UE-30257] - Crashreports are sometimes missing file attachments Passing crash GUID so that website can easily check for duplicates in future Increased request timeout for AddCrash to be longer than website database timeout Logging retries for future visibility CRP v.1.1.6 Change 2980639 on 2016/05/17 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 2981750 on 2016/05/18 by Steve.Robb check()s in ContainerAllocationPolicies.h changed to checkSlow()s, as they only exist to check that the container has been written correctly. Change 2982106 on 2016/05/18 by John.Mahoney Fixed a crash caused by loading two stat capture files simultaneously in the profiler. If the user tries to load a capture file while another load is in progress, the previous load is now cancelled and cleaned up before proceeding with the new load. Made the delegates in FNewStatsReader explicitly specify which profiler instance they are loading data for, instead of relying on the current value of LoadConnection->InstanceId. This also fixes a crash that occurs when selecting a different capture file in the "Stats dump browser" pane of the profiler (after using Load Folder) while another file is still loading. Cleaned up some weak pointer usage in the profiler window. #jira UE-30741 Change 2983366 on 2016/05/19 by Steven.Hutton Changes for passing crash type directly from CRP to CRW. Change 2983394 on 2016/05/19 by Steven.Hutton Minor changes to add crash with more error reporting Change 2984685 on 2016/05/20 by Robert.Manuszewski Merging //UE4/Dev-Main @ 2984626 to Dev-Core (//UE4/Dev-Core) Change 2985143 on 2016/05/20 by Steve.Robb Missing semi-colons. Change 2986463 on 2016/05/23 by Steve.Robb CopyTemp added to make it clear that you want to make a copy (rather than a move, or an accidental copy) at the call site of a function taking rvalue refs. Change 2986475 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6313: Incorrect operator: zero-valued flag cannot be tested with bitwise-and. Change 2986476 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6313: Incorrect operator: zero-valued flag cannot be tested with bitwise-and. Change 2986480 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant Change 2986515 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6340: Mismatch on sign: 'X' passed as _Param_(N) when some unsigned type is required in call to 'Func' Change 2986680 on 2016/05/23 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'Ptr': the writable size is 'X' bytes, but 'Y' bytes might be written. warning C6387: 'Ptr' could be '0': this does not adhere to the specification for the function 'Func' warning C6031: Return value ignored: 'snprintf'. warning C6340: Mismatch on sign: 'const unsigned int' passed as _Param_(4) when some signed type is required in call to 'snprintf'. Change 2986865 on 2016/05/23 by Robert.Manuszewski Removing redundand AddReferencedObjects functions Change 2987968 on 2016/05/24 by Robert.Manuszewski Removing redundant UPROPERTY macros from intrinsic classes. Change 2987979 on 2016/05/24 by Steve.Robb Optimization of some FString and FPaths operations to produce fewer temporaries. Change 2988297 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 2988430 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6385: Reading invalid data from 'var': the readable size is 'X' bytes, but 'Y' bytes may be read. Change 2988461 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant. warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Change 2988464 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6262: Function uses 'X' bytes of stack: exceeds /analyze:stacksize 'Y'. Consider moving some data to heap. Change 2988494 on 2016/05/24 by Steve.Robb Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. Change 2989411 on 2016/05/25 by Robert.Manuszewski Splitting GC cluster index and intenral object flags to allow more UObjects in editor builds. Change 2989429 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6387: '_Param_(X)' could be '0': this does not adhere to the specification for the function 'Func'. Change 2989982 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'LODPlanesMin'. Change 2990018 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'X' Change 2990077 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2990114 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent. Change 2990125 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. Change 2990162 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed. Change 2990193 on 2016/05/25 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'type' contains the same NULL value as 'type->base_type' did. warning C6011: Dereferencing NULL pointer 'Semantic'. Change 2991006 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C28113: Accessing a local variable dummy via an Interlocked function: This is an unusual usage which could be reconsidered. Change 2991012 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6031: Return value ignored: 'InitializeCriticalSectionAndSpinCount'. Change 2991013 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 2991016 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. Change 2991017 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6326: Potential comparison of a constant with another constant. Change 2991019 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6292: Ill-defined for-loop: counts up from maximum. Change 2991023 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6322: Empty _except block. warning C28251: Inconsistent annotation for 'WinMain': this instance has no annotations. Change 2991070 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C28182: Dereferencing NULL pointer. 'Ptr1' contains the same NULL value as 'Ptr2' did. Change 2991416 on 2016/05/26 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2992738 on 2016/05/27 by Steve.Robb Revert changes to FString::MatchesWildcard. Change 2992916 on 2016/05/27 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2992960 on 2016/05/27 by Chris.Wood Optimized P4 access in Crash Report Process and MinidumpDiagostics. Change 2992964 on 2016/05/27 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Ptr'. Change 2993956 on 2016/05/30 by Robert.Manuszewski Fixing a crash after adding a new C++ class in the editor - made sure new classes have the token stream assembled after hot-reload. #jira UE-31309 Change 2993977 on 2016/05/30 by Robert.Manuszewski Don't wait for all packages to finish loading before PostLoading those which already have. Change 2994206 on 2016/05/31 by Robert.Manuszewski PR #2429: Three bug fixes required for script support to work properly (Contributed by pluranium) #lockdown Nick.Penwarden [CL 2996251 by Robert Manuszewski in Main branch]
2016-06-01 12:08:56 -04:00
CA_SUPPRESS(6286);
if (PLATFORM_DESKTOP || FOpenGL::GetFeatureLevel() >= ERHIFeatureLevel::SM5)
{
SetupTextureFormat( PF_V8U8, FOpenGLTextureFormat( GL_RG8_SNORM, GL_NONE, GL_RG, GL_BYTE, false, false));
SetupTextureFormat( PF_BC5, FOpenGLTextureFormat( GL_COMPRESSED_RG_RGTC2, GL_COMPRESSED_RG_RGTC2, GL_RG, GL_UNSIGNED_BYTE, true, false));
SetupTextureFormat( PF_BC4, FOpenGLTextureFormat( GL_COMPRESSED_RED_RGTC1, GL_COMPRESSED_RED_RGTC1,GL_RED, GL_UNSIGNED_BYTE, true, false));
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4041614) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3774677 by Arne.Schober DR - Deprecated SetLocal from the RHICmdlist Fixed some unnecessary PSO collisions. Change 3809579 by Chris.Bunner Back out changelist 3774677. #jira UE-53483 Change 3810363 by Mark.Satterthwaite More random fixes to mtlpp: most important is the extension to Buffer that allows creation of sub-buffers that are merely views onto a sub-range of the parent. These sub-buffers are valid to use throughout the mtlpp API with two exceptions: they may not be used for visibilityResultsBuffers and Set*BufferOffset functions cannot take this offset into account (as the encoder does not hold onto the buffers and I don't want it to). In the case of Set*BufferOffset the caller has to know what is going on and in the case of visibilityResultsBuffers it'll just assert as it isn't sensible. This makes it *much* easier to do things like sub-buffer allocation, though the caller must be aware of the alignment restrictions of their intended usage as they are not possible to enforce. For example, a call to SetVertexBuffer requires an offset alignment must match the alignment of the data-type in the shader for "device" resources, or for "constant" data it must be max(4, sizeof(datatype)) on iOS and 256 on macOS. This should allow for much more tightly packed sub-allocations than earlier approaches, though older drivers (e.g. Mac OS X 10.11) enforce only the coarser "constant" data restriction everywhere. Change 3810407 by Marcus.Wassmer PR #4322: ShadowSetup Bug Fix: Only stencil mask drawn meshes (Contributed by DSDambuster) Change 3810676 by Guillaume.Abadie Makes r.Test.SecondaryUpscaleOverride work with any arbitrary pixel size. Change 3810696 by Guillaume.Abadie Adds support for #include "../MyFile.ush" in the shader compiler. Change 3810698 by Guillaume.Abadie Implements enum class based shader permutation dimension. Change 3810699 by Guillaume.Abadie Implements Diaphragm DOF ground work. Change 3811536 by Guillaume.Abadie Pulls the trigger on CircleDOF's setup pass for DiaphragmDOF. Change 3811958 by Mark.Satterthwaite More fixes for mtlpp. Change 3811964 by Mark.Satterthwaite Only views onto a mtlpp::Buffer should return a valid parent-buffer. Change 3812604 by Guillaume.Abadie Changes Diaphragm DOF's source file layout. Change 3812827 by Mark.Satterthwaite More missing/broken functionality in mtlpp fixed and fixed obvious leaks. Change 3812920 by Guillaume.Abadie Adds support for per mip level UAV in FSceneRenderTarget. Change 3812926 by Mark.Satterthwaite Change the way we handle mtlpp resource construction to avoid leaks. Change 3812960 by Rolando.Caloca DR - vk - Disable DFGI Change 3812968 by Rolando.Caloca DR - Linker fix Change 3813318 by Mark.Satterthwaite Fix linear texture allocation from a buffer sub-view. Change 3813326 by Mark.Satterthwaite Fix another Metal mtlpp sub-buffer allocation failure. Change 3813328 by Guillaume.Abadie Removes global samplers in TAA for GL4, Vulkan and Switch. Change 3813937 by Rolando.Caloca DR - Fix logs not getting dumped when r.DumpSCWQueuedJobs is on Change 3813947 by Rolando.Caloca DR - noshaderworker should override r.XGEShaderCompile Change 3817017 by Uriel.Doyon Fixed texture editor black screen #jira UE-53653 Change 3818568 by Rolando.Caloca DR - Fix log when shader jobs crash - Move log10 to common - Added COMPILER_VULKAN define Change 3818603 by Uriel.Doyon Fix to static analysis warning Change 3818623 by Rolando.Caloca DR - Workaround hlslcc loop unrolling bug Change 3819070 by Uriel.Doyon Fix to stat duplication. Change 3819105 by Uriel.Doyon Refactored volume sample shader to avoid using texture dimension. Change 3819136 by Rolando.Caloca DR - vk - Per platform files (empty) Change 3819180 by Rolando.Caloca DR - vk - Move defines out of config into per platform Change 3819247 by Rolando.Caloca DR - vk - Remove more defines into platform settings Change 3819318 by Rolando.Caloca DR - vk - Fixes for linking Change 3819868 by Rolando.Caloca DR - vk - Linux & Android fixes Change 3819873 by Guillaume.Abadie Adds support for PermutationId on r.DumpShaderDebugInfo=1 Change 3819940 by Rolando.Caloca DR - vk - Fix Linux issues Change 3819956 by Rolando.Caloca DR - vk - Invalid check Change 3819961 by Michael.Lentine Hide attributes when plugin is not present Change 3819980 by Rolando.Caloca DR - vk - Standard validation always Change 3820039 by Rolando.Caloca DR - vk - Fix invalid ensure Change 3820326 by Rolando.Caloca DR - vk - Linux compile fix Change 3820422 by Michael.Lentine Add back GBufferAO. Change 3820433 by Rolando.Caloca DR - Fix D3D12 crash on 20 thread (10x2 cores) machines Change 3821677 by Rolando.Caloca DR - vk - Win32 compile fix Change 3821961 by Rolando.Caloca DR - Vulkan uses real UB by default on non-Android Change 3821968 by Rolando.Caloca DR - vk - Update glslang 1.0.65.1 Change 3821969 by Uriel.Doyon Added support for stat groups that must be sorted by name. Defined by DECLARE_STATS_GROUP_SORTBYNAME. Change 3821983 by Rolando.Caloca DR - vk - Change to static array (0.1ms on 10k draw calls) Change 3824141 by Rolando.Caloca DR - vk - Fix static analysis - Bumped up some (c) 2017->2018 Change 3824355 by Rolando.Caloca DR - vk - Accessor to find out if a cmd buffer has been submitted Change 3824420 by Rolando.Caloca DR - Sanity check number of queries per batch on D3D11 as to not break other RHIs Change 3824463 by Rolando.Caloca DR - Removed dummy ensure for D3D12 Change 3824609 by Rolando.Caloca DR - vk - Linux compile fix Change 3826074 by Mark.Satterthwaite Start IMP-caching the various descriptor types in mtlpp. Change 3826098 by Rolando.Caloca DR - vk - Dump layer compile fixes Change 3826113 by Rolando.Caloca DR - vk - Missing dump functions Change 3826302 by Rolando.Caloca DR - vk - Compile fix - Change dump handles to %p Change 3826635 by Mark.Satterthwaite Forward declarations required for mtlpp compilation without exposing Metal headers - plus fixes to the mtlpp test compiler. Change 3827072 by Mark.Satterthwaite Switch some more mtlpp descriptors over to IMPTables from objc_msgSend. Change 3827909 by Guillaume.Abadie Replaces diaphragm DOF's prefiltering with LDS bank coherent bilateral reduction, and implements 1/8 res background gathering pass. Change 3827952 by Guillaume.Abadie Updates copy right to year 2018 on diaphragm DOF's new files. Change 3828055 by Rolando.Caloca DR - vk - Rename in prep for changes Change 3828229 by Guillaume.Abadie Avoids to log multiple time global shader type name that have multiple permutations when verifying global shader map. Change 3828427 by Guillaume.Abadie Reimplements Max3x3 gathering post filtering for Diaphragm DOF with proper shader permutation. Change 3829979 by Guillaume.Abadie Fixes a color NaN source in diaphragm DOF's TAA pass. Change 3830116 by Rolando.Caloca DR - vk - Fix GPU queries/frame time on old system - New system in place, disabled temporarily Change 3830169 by Rolando.Caloca DR - vk - Fix async pso creation crash Change 3830193 by Rolando.Caloca DR - vk - CPU RHI thread improvement Change 3830291 by Guillaume.Abadie Automatically lower the number of gathering rings on background half res gather pass as far CoC is getting smaller. Change 3830300 by Rolando.Caloca DR - vk - Static analysis fix: Split VulkanCommon.h out of VulkanConfiguration.h Change 3830589 by Mark.Satterthwaite In mtlpp cache the IMPTables for all the Metal @protocol's that are dependent on the MTLDevice, this avoids a mutex & map lookup. Also make all the concrete types store their IMPTable statically as it won't change. Change 3830793 by Mark.Satterthwaite Fix a small number of bugs introduced with the mtlpp descriptor and table caching. Change 3831491 by Jian.Ru Fix driver version unknown #jira UE-53688 Change 3832335 by Rolando.Caloca DR - vk - Change include Change 3832550 by Rolando.Caloca DR - vk - Occlusion query rewrite WIP Change 3832589 by Rolando.Caloca DR - vk - Minor refactor to pools in prep for timestamps Change 3832618 by Rolando.Caloca DR - vk - Do not block timestamp queries Change 3832636 by Rolando.Caloca DR - vk - Fix old timestamp queries Change 3833138 by Rolando.Caloca DR - vk - Fix timestamp queries Change 3833249 by Rolando.Caloca DR - vk - Test lock Change 3833667 by Rolando.Caloca DR - vk - Old queries wait on the RHI thread now instead of the driver (disabled) Change 3833907 by Daniel.Wright Fixed NextStartOffset UAV index out of bounds Change 3833918 by Daniel.Wright D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC or Xbox. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled. Change 3834852 by Rolando.Caloca DR - vk - Missing file Change 3834858 by Guillaume.Abadie Implements r.DOF.MinimalFullresBlurringRadius Change 3834979 by Rolando.Caloca DR - vk - Fix Change 3836117 by Rolando.Caloca DR - vk - Update to 1.0.65.1 Change 3836122 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOcclusionBatchCmdBuffer - Added new error codes/messages Change 3836421 by Mark.Satterthwaite For the purposes of debugging and conformance testing mtlpp make it possible to compile *without* the IMP cache so that we call the underlying Objective-C. Change 3836896 by Uriel.Doyon Fixed concurrency and exit issues around d3d12 pipeline states on windows. Change 3837385 by Rolando.Caloca DR - vk - Dump memory on OOM Change 3837427 by Rolando.Caloca DR - vk - Change some arrays to array views Change 3837800 by Guillaume.Abadie Implements SHADER_PERMUTATION_RANGE_INT to make contiguous integer permutations that does not start to 0. Change 3838128 by Rolando.Caloca DR - vk - Support for non-cached memory types Change 3838540 by Guillaume.Abadie Refactors Diaphragm DOF's CoC tile buffer under a single API for better maintainability. Change 3838731 by Rolando.Caloca DR - vk - Descriptor pools per command buffer pool (turned off) Change 3838961 by Rolando.Caloca DR - vk - Use ring buffer for per frame uniform buffers - Enable descriptor pools per layout recycled per command buffer Change 3839087 by Rolando.Caloca DR - vk - Compile fixes for Android Change 3839106 by Marcus.Wassmer PR #4413: Removing unnecessary call to FString::ToLower (Contributed by gsfreema) Change 3839252 by Mark.Satterthwaite Fix mtlpp::Resource move operators. Change 3839426 by Marcus.Wassmer Duplicate 380972 Make PC GPU Benchmarks more reliable Change 3840041 by Guillaume.Abadie Fixes shader compilation failure in TAA with alpha channel through post processing support. Change 3840257 by Chris.Bunner Swapping a mul() to * in HLSLTranslator::Dot to allow scalar transformations per a UDN ticket. Change 3840308 by Rolando.Caloca DR - vk - Support for UB & non-UB on emulation mode Change 3840586 by Rolando.Caloca DR - Copy 3840577 Fix for CPUs with more than 16 cores Change 3840671 by Rolando.Caloca DR - vk - Copy from 3840663 Fix for layout ensure on HMD projects on Vulkan Change 3840980 by Rolando.Caloca DR - vk - Android compile fixes Change 3841989 by Guillaume.Abadie Slices Diaphragm DOF's Gather pass in multi shader files, and CFLAG_StandardOptimization flag for faster iteration time. Change 3842216 by Guillaume.Abadie Fixes DDOF's foreground alpha channel. Change 3842217 by Guillaume.Abadie Implements r.DOF.MaximalForegroundBlurringRadius Change 3842353 by Guillaume.Abadie Allows to disable foreground gathering with r.DOF.MaximalForegroundBlurringRadius=0 Change 3842747 by Rolando.Caloca DR - vk - Missing use of GPoolSizeVRAMPercentage - Support for smaller allocations if page size is not available Change 3842791 by Rolando.Caloca DR - vk - Use 95% of available GPU memory to handle some fragmentation Change 3843690 by Guillaume.Abadie Fixes diaphragm DOF's foreground after all this refactoring. Change 3844439 by Guillaume.Abadie Improves Coc dilate pass to make the gather pass as fast as possible, but still without artifacts caused by the fast gathering optimisation. Change 3844946 by Mark.Satterthwaite rd_route v1.1.1 with attached TPS approval. For macOS function interposition which is useful for debugging and the occasional workaround. Change 3845164 by Mark.Satterthwaite Add LLM support for macOS, including tracking of memory allocated in Objective-C. This makes use of runtime method swizzling in the Objective-C runtime and the rd_route library I added for Richard Wallis, which allows for arbitrary runtime function interposition and allows me to hook the custom allocators used in Apple's many Objective-C frameworks on which the whole macOS edifice is built. Objective-C objects are charged to the calling scope as they are too common to impose their own without murdering frame rate. We would need a TPS approval for an iOS function interposition library for this to work fully on iOS, if desired in the short term discarding LowLevelFree events that aren't in the map rather than asserting will workaround the problem. Change 3845849 by Marcus.Wassmer Fix clang and some normal refactor errors Change 3846026 by Rolando.Caloca DR - vk - Descriptor set allocation scheme rewrite - Type hash for each pool - Desc sets Pool on device Change 3846169 by Rolando.Caloca DR - vk - Remove old code for non-layout descriptor set pools Change 3846205 by Mark.Satterthwaite Disambiguate the PatchControlPointOut struct definitions in Metal tessellation shaders at Apple's suggestion to avoid a metallib gotcha. Change 3846346 by Arne.Schober DR - Missing Vector instructions Change 3847037 by Arne.Schober DR - Fix issue with GPU skincache where the offset of the clothbuffer is not relative to the offset of the actual vertexbuffer. Fixed MorphTarget Skincache Offset mixxup Change 3847275 by Marcus.Wassmer Copying MGPU to Dev-Rendering (//UE4/Dev-Rendering) Change 3847464 by Rolando.Caloca DR - vk - Fix static analysis warning Change 3847707 by Michael.Lentine Only use MorphTargetOffset when the shader enables morph targets. Change 3848533 by Richard.Wallis Handle Metal adding FirstInstance into [[ instance_id ]] which is different to other APIs. SV_InstanceID and SV_VertexID should now have their respective base instance and base vertex ID's subtracted before use in the shader. #jira UE-51716 Change 3848625 by Richard.Wallis Compile Fix Change 3848725 by Rolando.Caloca DR - Remove use of Build/SetLocalGraphicsPipelineState Change 3848797 by Rolando.Caloca DR - Deprecate Build/SetLocalGraphicsPipelineState Change 3849237 by Arne.Schober DR - AddCustom Ver for ModelVertex Serialization Change 3851247 by Rolando.Caloca DR - vk - Util functions Change 3851523 by Arne.Schober DR - Update Reflection Comparission shot from the BuildFarm. Change 3851859 by Rolando.Caloca DR - vk - Skip loader Change 3851889 by Krzysztof.Narkowicz Removed lights with lighting channels out of tiled deferred light list. Tiled deferred lights do not support lighting channels and it's wasn't worth to add extra complexity to this shader in order support this special case. #jira UE-51512 Change 3852181 by Rolando.Caloca DR - vk - Linux compile fix Change 3852547 by Uriel.Doyon Fixed Pre-Exposure shader compilation and Temporal AA issue. #jira UE-54276 Change 3852637 by Arne.Schober DR - Fixing Normal Automated Test Result Change 3853167 by Richard.Wallis AvfPlayer - support for streaming media. Due to an operator new/delete mismatch in Apples CFNetwork - we've had to change out one of that framework allocators using rd_route to avoid the memory corruption. #jira UE-35637 Change 3853447 by Chris.Bunner Fixing typos. Change 3853645 by Krzysztof.Narkowicz Fixed light functions on subsurface materials Removed strange code from blending between static and dynamic shadows #jira UE-50275 Change 3853660 by Rolando.Caloca DR - Fix OpenGL overwriting texture samplers on forward renderer Change 3853945 by Mark.Satterthwaite Duplicate #3831616 Fix the black ground scattering on Metal - we've had issues with the atmospheric fog calculations for a long time - one or more intermediate operations generates different precision on Metal so we end up passing -ve values into sqrt which then generates NaN/INF. For Metal when compiling this file and this file only #define sqrt() to sqrt(abs()) so that we don't see anymore unexpected black in atmospheric rendering. This is far from ideal but I don't want to make abs all inputs into every sqrt because AFAIK this is the only case where we have an issue, and until we to investigate each intermediate calculation that isn't ridiculously, soul-crushingly tedious, it isn't practical to identify the source of the error. #jira UE-53720 Change 3853966 by Mark.Satterthwaite Duplicate #3835852 Fix tessellation shaders in Metal with Manual Vertex Fetch enabled: - The control points idnex buffer shouldn't collide with anything else. - We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures. #jira UE-53851 Change 3854250 by Uriel.Doyon Fix fbx automation tests Change 3854736 by Uriel.Doyon Added a tooltip to the EV100 slider in the exposure menu. Using game settings now disables the slider. #jira UE-53945 Change 3855047 by Jian.Ru Fix DFAO getting NANs when samples out of ViewRect #jira UE-54403 Change 3858197 by Krzysztof.Narkowicz View frustum shadow caster culling for pointlights/spotlights #jira UE-54381 Change 3860081 by Krzysztof.Narkowicz Tighter bounding sphere for a spotlight Replaced IntersectSphere(LightProxy->Origin, LightProxy->Radius) with LightProxy->SphereBounds for tighter culling of spotlights Directional light GetBoundingSphere() now everywhere returns Sphere((0,0,0),HALF_WORLD_MAX) for consistency and proper SphereBounds #jira UE-54258 Change 3860324 by Mark.Satterthwaite Update the macOS deployment target version to 10.12 from 10.11 as we officially ended support for El Capitan a while ago. Should mean that libraries compiled for 10.12 and up won't cause link warnings. Change 3860945 by Arne.Schober DR - Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer. #jira UE-54587 Change 3861129 by Jian.Ru Prevent distance culled objects from casting distance field direct shadows #jira UE-54533 Change 3861502 by Jian.Ru Exclude distance culled objects from DFAO calculation #jira UE-54533 Change 3862243 by Krzysztof.Narkowicz Changed radius of a directional light's bounding sphere from HALF_WORLD_MAX to WORLD_MAX in order to encopass entire WORLD_MAX box Change 3863476 by Krzysztof.Narkowicz Added BuildReflections option to ResavePackages commandlet #jira UE-54581 Change 3863717 by Rolando.Caloca DR - vk - Missed using pipeline cache on compute PSOs Change 3865332 by Arne.Schober DR - Fix UE-52356 Bone Weight Change 3866220 by Rolando.Caloca DR - vk - Fixed GetNativeResource missing on textures - Added support for -preferNvidia|AMD|Intel - Added VulkanRHIBridge.h - Minor fixes Change 3866222 by Rolando.Caloca DR - vk - Missed file Change 3866951 by Krzysztof.Narkowicz Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel. #jira UE-53640 Change 3867231 by Guillaume.Abadie Adds alpha mode to allow the tonemapper to passthrough the alpha channel for broadcast industry. Change 3867233 by Guillaume.Abadie Fixes a compilation failures in TAAU with r.PostProcessing.PropagateAlpha==2 Change 3867594 by Daniel.Wright Removed EditorOnlyDefaultMaterials, which added 79s of shader compilation during startup Added a dialog when opening the Material Editor on a Default Material, warning of advanced workflow Preventing Material Editor Apply or Save for a Default Material when the preview material has compilation errors Change 3870048 by Daniel.Wright Cleaned up formatting in TranslucentRendering from merges Change 3870106 by Krzysztof.Narkowicz Fixed some FArchive Tell()/Seek() 64bit->32bit truncations Change 3870211 by Rolando.Caloca DR - vk - Added -vulkanvalidation=N/-vulkanstandardvalidation/-novulkanstandardvalidation to set validation layer behaviour from cmd line Change 3870225 by Rolando.Caloca DR - vk - Some platforms do not use a standard swapchain Change 3870267 by Arne.Schober DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources) Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary Change 3870647 by Daniel.Wright Moved FogRendering.h to Renderer Change 3872130 by Krzysztof.Narkowicz Disable USE_GLOBAL_CLIP_PLANE for MATERIAL_DOMAIN_POSTPROCESS and MERIAL_DOMAIN_UI Merging GitHub Pull request #4459 "When material domain is not needing global clip plane there is no need to generate any code involving it. This does not alter output but removes lot of code at vertex shader and pixel shaders. At least on mobile rendered was actually generating clipping code for ui materials." #jira UE-54616 Change 3872145 by Rolando.Caloca DR - vk - Optional SupportsMarkersWithoutExtension Change 3872404 by Uriel.Doyon Added some guards when streaming virtual textures. Fixed optimized UCanvasRenderTarget2D::RepaintCanvas() to prevent resolving the texture twice. Fixed bad mipmap generation with UCanvasRenderTarget2D. Change 3872507 by Arne.Schober Back out changelist 3870267 Change 3874176 by Ben.Marsh IncludeTool: Add an flag to prevent scanning source files for exported symbols. Change 3874935 by Krzysztof.Narkowicz Fixed white thumbnails and other issues with sky lighting on ES3_1 path, by disabling GGX prefiltering, as mobile path doesn't have a single cubemap with all initialized mips. Instead it ping-pongs between 2 partially initialized. #jira UE-54656 Change 3875710 by Daniel.Wright Renamed uniform buffer member macros to be much shorter for readability Change 3876665 by Guillaume.Abadie Cherry-pick 3870715: Implements DOF's hybrid scatering bare bones. Change 3876666 by Guillaume.Abadie Cherry-pick 3871786: DOF hybrid scatering: fixes NaN source, transition to gather on close to screen edge and low intensity. Change 3876677 by Guillaume.Abadie Cherry-pick 3872348: Implements neighbor comparison for DOF's scattering compilation pass. Change 3876680 by Guillaume.Abadie Cherry-pick 3872357: Oups... fixes build... Change 3876683 by Guillaume.Abadie Cherry-pick 3872475: Controls number of mip to generate with DOF's reduce pass. Change 3876687 by Guillaume.Abadie Cherry-pick 3874104: Fixes various bugs in diaphragm DOF's hybrid scattering. Change 3876690 by Guillaume.Abadie Cherry-pick 3874144: Packs multiple DOF scattering group into same draw instance. Change 3876694 by Guillaume.Abadie Cherry-pick 3874275: Switches hybrid scattering with indexed indirect draw call to reduce scatter vertex shader invocation. Change 3876695 by Guillaume.Abadie Cherry-pick 3874674: Records min and max coc on DOF's setup's draw event. Change 3876783 by Rolando.Caloca DR - Static analysis fix Change 3876845 by Guillaume.Abadie Implements USceneCaptureComponent::ProfilingEventName Change 3877197 by Rolando.Caloca DR - vk - OQ fixes (disabled) Change 3877428 by Krzysztof.Narkowicz Merged with tiny tweaks Ansel photography plugin improvements from Adam Moss (GitHub pull request #4426): -The free-roaming photography camera has new constraints by default, i.e. it can't pass through walls -Photography session can be started and stopped programmatically, e.g. making it possible to bind photography to an alternative hotkey or button combo. This was an often-requested feature. -Tweakables and utilities are now exposed through a Blueprint Function Library (rather than direct manipulation of console variables) -The Ansel photography session UI now exposes some engine effect tweakables as sliders. For example, if the game is using depth-of-field then sliders are made available to allow the photographer to change the focal depth etc. The developer may suppress this behavior through the Blueprint Function Library. -Letterboxing is now removed during multi-part capture, d'oh. -Tiled shots are taken at full resolution even if ScreenPercentage < 100 -SSR is enabled during super-resolution shots since Ansel is now better at hiding any ensuing artifacts -Postprocess settings are frozen at session start to avoid discontinuities during photography, i.e. wandering between postprocess volumes when the camera auto-moves for stereo and 360 shots. #jira UE-54244 #4426 Change 3879086 by Krzysztof.Narkowicz Fixed sky/reflection capture (without owner) update - they are now updated only with a correspoding world Change 3879090 by Guillaume.Abadie Fixes tones of regressions on diaphragm DOF's recombine passes. Change 3879198 by Rolando.Caloca DR - vk - Support for real uniform buffers on Android platforms Change 3879993 by Krzysztof.Narkowicz -Fixed int64->int32 FArchive offset truncation in TShaderMap, VertexFactory and TextureDerivedData -Fixed FSerializationHistory bug, when trying to serialize 0 bytes #jira UE-43203 Change 3881462 by Guillaume.Abadie Implements full res DOF's setup pass for cheaper full res gathering in recombine pass. Change 3881524 by Krzysztof.Narkowicz Fixed compilation by removing FTickableEditorObject from FPreviewScene Change 3881724 by Chris.Bunner Static analysis fix. #jira UE-54762 Change 3881861 by Rolando.Caloca DR - vk - Fix layout warning when generating mip chain Change 3881864 by Rolando.Caloca DR - Use render passes on HZB Change 3882236 by Yuriy.ODonnell IndirectLightingColorScale is now applied to SubsurfaceLighting and DiffuseLighting. Was previously only applied to DiffuseLighting. #jira UE-42534 #github 3326 Change 3882325 by Guillaume.Abadie Implements FocusOnly lower gathering pass for Diaphragm DOF's slight out focus temporal stability. Change 3882340 by Rolando.Caloca DR - vk - Fix api dump Change 3882430 by Rolando.Caloca DR - vk - KHR_maintenance2 Change 3882563 by Rolando.Caloca DR - Add depth-stencil access mode to PSO initializer Change 3882929 by Rolando.Caloca DR - vk - Proper fix for maintenance extension macros Change 3883087 by Mark.Satterthwaite Allow disabling VSync in windowed mode for macOS 10.13.4+ and above. Change 3883597 by Guillaume.Abadie Collapses full and half res DOF setup passes together. Change 3883702 by Guillaume.Abadie Fixes mac's build. Change 3884747 by Uriel.Doyon Fix for static analysis warning Change 3884975 by Rolando.Caloca DR - vk - Move some platform defines to platform properties Change 3884988 by Rolando.Caloca DR - vk - Make an override per platform Change 3885832 by Rolando.Caloca DR - vk - Cosmetic change to group similar members Change 3885891 by Rolando.Caloca DR - vk - Some _RenderThread functions to avoid stalls Change 3886044 by Rolando.Caloca DR - Added RHI api _RenderThread version of RHICreateTextureReference RHICreateShaderLibrary RHICreateRenderQuery Change 3886560 by Guillaume.Abadie Fixes strong aliasing on TAAU's fast shader permutation. This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation. Change 3886749 by Guillaume.Abadie Cherry-pick 3884748: Implements DOF's BuildBokehLUT for diaphragm blades simulation. Only used in hybrid scattering for now. Change 3886750 by Guillaume.Abadie Cherry-pick 3885457: Simulates diaphragm blades' curvature on bokeh. Change 3886752 by Rolando.Caloca DR - Fix metal static analysis Change 3887460 by Uriel.Doyon Fixed to more static analysis warning. Change 3888201 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitAfterEveryEndRenderPass - Fixed bad layout on rendering back buffer Change 3888209 by Rolando.Caloca DR - vk - Unity compile fix Change 3888254 by Rolando.Caloca DR - vk - Fix async texture layout Change 3888893 by Guillaume.Abadie Simulates bokeh in DOF's slight out of focus. Change 3889085 by Guillaume.Abadie Fixes DOF's reduce pass sampling outside viewport. Change 3889924 by Rolando.Caloca DR - vk - Skip seemingly bad validation error Change 3890573 by Daniel.Wright Only initialize FDiaphragmDOFGlobalResource in Feature Level 5 Change 3890590 by Arne.Schober DR - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead. #jira UE-55063 Change 3890638 by Arne.Schober DR - Better fix for Paper2d which honors batching #jira UE-55063 Change 3891099 by Krzysztof.Narkowicz 1.5 texel shadow offset fix inside Manual2x2PCF based on #4485 GitHub pull request #jira UE-54985 #4485 Change 3891234 by Krzysztof.Narkowicz Optimized PCF2x2 and PCF3x3 - merged #4494 GithHub pull request #jira UE-55121 Change 3891407 by Rolando.Caloca DR - vk - Set vendor id earlier Change 3891417 by Rolando.Caloca DR - vk - Missing layout transitions Change 3891718 by Arne.Schober DR - Do not recreate one Frame Resource for dynamic draws #jira UE-55063 Change 3891925 by Yuriy.ODonnell Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64. NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime. The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules. The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput. Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668). #jira UE-53065 Change 3891987 by Rolando.Caloca DR - vk - Support for dedicated allocations Change 3892339 by Jian.Ru Fix a crash when tessellation shaders are used in dx12 #jira UE-55127 Change 3892528 by Rolando.Caloca DR - vk - Update Linux headers Change 3892867 by Rolando.Caloca DR - vk - Don't create swapchain if not needed Change 3893416 by Guillaume.Abadie Implements bokeh simmulation on foreground and background gather. Change 3893732 by Chris.Bunner GetRelevance_Internal should use the immediate parent resource, not the base, as some features are overridden by permutations e.g. UsesWorldPositionOffset. #jira UE-53404 Change 3893868 by Guillaume.Abadie Allocates diaphragm DOF's buffers and structered buffer only on supported platforms. Change 3893917 by Chris.Bunner Potential fix for CIS. Change 3893933 by Chris.Bunner Duplicating CL 2647737 as this is the same issue from that JIRA where accessing game-thread data was being prevented. We don't have this check in UMaterial::GetMaterialResource already, but presumably the UMaterialInstance case was never removed as we've not been calling it until now. Change 3894218 by Rolando.Caloca DR - vk - Remove stat counters per draw call, gains 10% CPU on Infiltrator Change 3894579 by Arne.Schober RT - Fix assert not in RenderingThread from Triangle Renderer. #jira UE-55247 Change 3894724 by Rolando.Caloca DR - vk - New API for batching barriers Change 3894909 by Arne.Schober DR - Fix crash in Speedtree wind where Renderdata is unavailable #jira UE-54544 Change 3895414 by Rolando.Caloca DR - Add a configurable threshold for SCWs time outs Change 3896429 by Marcus.Wassmer Allow variable frame-latency delay in FrameGrabber frames. For performance you want at least a 1 frame delay so you don't sync the GPU to the CPU. Change 3896495 by Marcus.Wassmer Set pointer properly Fix CIS Change 3897253 by Guillaume.Abadie Fixes CIS warning in diaphragm DOF Change 3899179 by Guillaume.Abadie Implements background hybrid scatter occlusion for diaphragm DOF. Change 3903654 by Rolando.Caloca DR - vk - Rework dump layer to allow other layers Change 3903766 by Rolando.Caloca DR - vk - More wrappers Change 3904025 by Rolando.Caloca DR - vk - More wrappers Change 3904342 by Rolando.Caloca DR - vk - Track image resources & callstacks Change 3904346 by Rolando.Caloca DR - vk - Copy fix from 4.19 for flickering grass Change 3904510 by Rolando.Caloca DR - vk - Compile fix Change 3904914 by Daniel.Wright [Integrate] Fixed PS4 transitions with forward shading Change 3904916 by Daniel.Wright [Integrate] Fixed PS4 transitions with occlusion queries Change 3905975 by Rolando.Caloca DR - vk - Missing wrappers Change 3905977 by Rolando.Caloca DR - vk - Missed file Change 3907829 by Rolando.Caloca DR - Move depth bounds to the PSO Change 3907832 by Rolando.Caloca DR - vk - Prep for delaying transitions Change 3907834 by Rolando.Caloca DR - vk - Fix for depth stencil issues/validation errors Change 3907967 by Rolando.Caloca DR - vk - Linux compile Change 3908093 by Rolando.Caloca DR - vk - Fix depthstencil layout on descriptors Change 3908393 by Rolando.Caloca DR - vk - Disable dedicated allocation as it causes crashes on Nvidia 700 series Change 3908401 by Rolando.Caloca DR - Do transitions outside render pass Change 3908422 by Rolando.Caloca DR - vk - Fix transition state not getting stored Change 3908735 by Guillaume.Abadie Cherry-pick 3896619: Fixes after TAAU post process material that had wrong default buffer UV. #jira UE-55317 Change 3908736 by Guillaume.Abadie Cherry-pick 3891352: Fixes ensure when visualizing HDR with TAAU. #jira UE-55019 Change 3908753 by Guillaume.Abadie Lets the renderer layout the views in the internal render targets like it prefers. Change 3909119 by Daniel.Wright Fix some static analysis warnings Change 3911943 by Rolando.Caloca DR - vk - Fix for packaging Vulkan projects Change 3912145 by Rolando.Caloca DR - vk - Fix layout on streaming textures Change 3913029 by Rolando.Caloca DR - Fix missing transition Change 3913048 by Rolando.Caloca DR - Fix for hlslcc Change 3913054 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3913171 by Rolando.Caloca DR - vk - Fix for decal missing transition Change 3913211 by Rolando.Caloca DR - vk - Add debug name to image tracking Change 3913449 by Rolando.Caloca DR - vk - Restore transition Change 3913466 by Rolando.Caloca DR - Fix Vulkan EngineTest Change 3913537 by Rolando.Caloca DR - vk - Fixes independent samplers & textures (contributed by AMD) Change 3913548 by Rolando.Caloca DR - vk - Warning fix Change 3913691 by Rolando.Caloca DR - vk - Fixes for parallel (wip) Change 3914656 by Rolando.Caloca DR - vk - Fix bug when using separate samplerstates and textures Change 3914730 by Rolando.Caloca DR - vk - Bump version Change 3914764 by Rolando.Caloca DR - vk - Don't crash on exit Change 3915532 by Rolando.Caloca DR - vk - Parallel context fixes Change 3915589 by Rolando.Caloca DR - vk - Hoist and rename transition and layout manager class out of the context Change 3915592 by Rolando.Caloca DR - Fix gpu marker name Change 3917607 by Rolando.Caloca DR - vk - Fix depth bounds on Vulkan Change 3917609 by Rolando.Caloca DR - vk - Fix static analysis Change 3917616 by Rolando.Caloca DR - Fix D3D11 initialization Change 3920569 by Rolando.Caloca DR - vk - Prep for layout mgr refactor Change 3921023 by Rolando.Caloca DR - vk - Dump layer fixes Change 3921623 by Rolando.Caloca DR - vk - Prep refactor for layouts - Dump now shows marker tree Change 3922007 by Rolando.Caloca DR - vk - Fix extra allocation per draw call Change 3922442 by Rolando.Caloca DR - vk - Detect potential issues Change 3922470 by Rolando.Caloca DR - vk - Minor optimization Change 3922482 by Rolando.Caloca DR - vk - More minor optimizations Change 3923158 by Rolando.Caloca DR - Move r.DisableEngineAndAppRegistration out to common RHI and use it on Vulkan Change 3923486 by Rolando.Caloca DR - vk - Minor cpu optimizations Change 3923505 by Rolando.Caloca DR - vk - Use bigger allocations for uniform buffers Change 3923516 by Rolando.Caloca DR - vk - Android compile fix Change 3923557 by Rolando.Caloca DR - vk - Cache descriptorset layouts, refactor duplicated code Change 3923851 by Rolando.Caloca DR - vk - Linux compile fix Change 3924153 by Rolando.Caloca DR - vk - Support for dynamic UBs Change 3924193 by Rolando.Caloca DR - vk - Remove old per pso descriptor pools Change 3924197 by Rolando.Caloca DR - vk - Remove unused global uniform buffer pool Change 3924220 by Rolando.Caloca DR - vk - Wrap some unused classes in their define Change 3924234 by Rolando.Caloca DR - vk - Show ring buffer wrapping messages Change 3924243 by Rolando.Caloca DR - vk - Fix bad dynamic buffer Change 3924902 by Rolando.Caloca DR - vk - Fix crash running infiltrator Change 3925209 by Rolando.Caloca DR - vk - Fix bug with dynamic buffers - Remove old defines Change 3925300 by Rolando.Caloca DR - vk - Allow packed uniforms as dynamic UBs (with r.Vulkan.DynamicGlobalUBs) Change 3925627 by Rolando.Caloca DR - vk - Move DynamicOffsets into the pipeline state Change 3925834 by Rolando.Caloca DR - vk - Cache per stage information Change 3925835 by Daniel.Wright Fixed DisplayName for UParticleModuleCollisionGPU Change 3925897 by Rolando.Caloca DR - vk - Split update descriptors loop Change 3926488 by Rolando.Caloca DR - vk - 16MB for ring buffer on desktop, 8 MB for mobile Change 3928168 by Guillaume.Abadie Cherry-pick 3917219: Implements r.DOF.RecombineQuality Change 3928173 by Guillaume.Abadie Cherry-pick 3927888: Enables r.DOF.HybridScatter.BackgroundCompositing and r.DOF.HybridScatter.ForegroundCompositing to work when both enabled. Change 3928216 by Rolando.Caloca DR - vk - Fix Android - Fix static analysis Change 3929119 by Rolando.Caloca DR - vk - Rename some classes for clarity - Fix read-only cvar Change 3929151 by Rolando.Caloca DR - vk - Rename class Change 3930046 by Rolando.Caloca DR - Temp fix Vulkan flickering grass Change 3930148 by Rolando.Caloca DR - vk - Only update dirty descriptors - Use dynamic descriptors for packed global uniform buffers Change 3930998 by Guillaume.Abadie Packs shader permutation in different XGE submissions. Change 3931079 by Rolando.Caloca DR - vk - Fixes for Android and non-real ubs platforms Change 3931942 by Krzysztof.Narkowicz Depth rendering - When EarlyZPassMode is set to DDM_AllOccluders, dynamic objects need also to test bUseAsOccluder just like static ones #jira none Change 3932819 by Daniel.Wright [Integrate] Scene Textures uniform buffer * Base Pass Uniform Buffer now contains a Scene Textures uniform buffer. Previously the translucent base pass had to check ~40 loose scene texture parameters every draw. * FMeshMaterialShader's must now bind PassUniformBuffer and supply a valid pass uniform buffer. For most passes this is just FSceneTextureUniformParameters. * FRendererModule::DrawTileMesh can now cleanly set dummy scene texture resources, just by configuring how the pass uniform buffer is created. * Moved scene texture shader functions out of Common, into SceneTexturesCommon which must be manually included by shaders that want to use them * Separate Mobile Scene Textures uniform buffer to silo the platform complexities Moved DBuffer inputs out of FDeferredPixelShaderParameters and into FOpaqueBasePassUniformParameters Removed per-frame material uniform expressions. GameTime material node with period is now implemented with an fmod in the shader, without the use of MaterialFloat, so that it will happen at full precision. * Per-frame expressions were used when the GameTime material node had a period, to do the fmod on the CPU where 32 bit precision is guaranteed, for mobile GPU's where pixel shader precision is sometimes less than 32fp. Moved forward shading data into the Base Pass Uniform Buffer Removed instanced stereo support for the light cull grid - will have to be reimplemented without changing SRV's per draw Base pass sets View Uniform Buffer from DrawRenderState instead of choosing which one to set per-draw Fixed padding in nested uniform buffer structs Skip SRV members on Feature Level SM4 and below Change 3932964 by Rolando.Caloca DR - vk - Renderdoc on Android Change 3933095 by Daniel.Wright Moved FSceneTextureUniformParameters out of the opaque base pass uniform buffer. * Base Pass shaders now enable SCENE_TEXTURES_DISABLED when compiling for a material of any domain other than MD_Surface. These are used when rendering thumbnails of a material in a different domain, which could be opaque, but the opaque base pass drawing policy does not bind a scene textures uniform buffer, so the shader must not bind it. * Opaque materials can no longer use EyeAdaptation. Change 3933096 by Daniel.Wright Better d3d11 assert message when a uniform buffer was not set by the renderer Change 3933176 by Rolando.Caloca DR - vk - Prefer mailbox if available Change 3933271 by Ryan.Vance #jira UE-55936 Fixed missing referenced uniform bindings on AR pass-through camera shaders. Change 3934000 by Guillaume.Abadie Fixes Win32 build in ShaderCompilerXGE.cpp Change 3934299 by Guillaume.Abadie Fixes a bug in DOF's reduce operator that was casusing color leaking between background and foreground. Change 3934699 by Daniel.Wright Added bAffectDistanceFieldLighting to landscape Change 3935190 by Daniel.Wright Forward Light Grid SRV's use StructuredBuffer on Metal, instead of 'invariant Buffer', which throws off RemoveUniformBuffersFromSource parsing Change 3935606 by Daniel.Wright Removed LightmapPolicy::Set which was needed for vertex lightmaps Renamed FVertexFactory::Set to SetStreams to make it findable Change 3936510 by Rolando.Caloca DR - vk - Update glslangValidator.exe to 1.0.65.1 for dumped debug SPIRV shaders Change 3936545 by Richard.Wallis Clone of CL's (3925763, 3925430, 3925424, 3925385, 3925278) Mark Satt's Xcode fixes from task stream //Tasks/UE4/Dev-UERNDR-354-mtlpp/ Plus XCode 9.2 compile fix in ApplicationPlatformCompilerPreSetup.h for -Wunused-lambda-capture. Change 3938061 by Daniel.Wright Vulkan: Added support for SRV's in Uniform Buffers Change 3938123 by Daniel.Wright Vulkan: Slightly better assert for null resources in uniform buffer Change 3939197 by Rolando.Caloca DR - vk - Disable custom memory mgmt Change 3939677 by Rolando.Caloca DR - vk - Fix static analysis warning Change 3939809 by Rolando.Caloca DR - vk - Fixes for async compute Change 3939875 by Rolando.Caloca DR - vk - Support for -vktrace Change 3939977 by Rolando.Caloca DR - vk - Skip a condition during gather UBs - Set up efficient compute async var - Fix validation cmd line Change 3939982 by Rolando.Caloca DR - vk - Revert mipchain Change 3939984 by Rolando.Caloca DR - vk - Remove unnecessary asserts Change 3940082 by Rolando.Caloca DR - vk - Custom mem mgr Change 3940475 by Rolando.Caloca DR - vk - Fix DFAO (indirect draw offset) Change 3940555 by Rolando.Caloca DR - vk - Minor fixes Change 3940675 by Rolando.Caloca DR - vk - Fix indirect type mismatch Change 3941111 by Rolando.Caloca DR - Renderpass bGeneratingMips Change 3941847 by Daniel.Wright Fixed Volumetric Lightmaps on Static geometry only working if the geometry had been built with Surface Lightmaps before Change 3941978 by Rolando.Caloca DR - vk - Minor fixes for presenting on compute queue Change 3942074 by Rolando.Caloca DR - vk - Remove some RHI stalls - Fixed swap chain stat Change 3943946 by Daniel.Wright Fixed Texcoord0 on Volume materials on a particle sprite, including SubUV particles. Change 3944065 by Daniel.Wright Fixed SceneDepth collision getting broken on GPU particles when a scene capture is rendering Change 3944158 by Daniel.Wright Fixed ViewUniformShaderParameters accessing GEngine->PreIntegratedSkinBRDFTexture too early during slate loading screen Change 3944865 by Rolando.Caloca DR - vk - Prep for render passes Change 3945196 by Rolando.Caloca DR - Move render pass validate to cpp Change 3945202 by Rolando.Caloca DR - vk - Some fixes for using real render passes Change 3945357 by Rolando.Caloca DR - Fix bad condition Change 3946295 by Yuriy.ODonnell Added a sentinel member to FLightMap, which is initialized in the ctor and reset in the dtor. Sentinel is then checked in FLightCacheInterface::GetLightMapInteraction(). This aims to shed some more light on a hard-to-repro crash, which is suspected to be a use-after-free bug: http://crashreporter/Buggs/Show/1785593 Change 3946407 by Rolando.Caloca DR - vk - Prep for refactor Change 3946648 by Rolando.Caloca DR - vk - Fixes for async compute (wip) Change 3947299 by Rolando.Caloca DR - vk - FIx static analysis Change 3948434 by Rolando.Caloca DR - vk - Fix exiting with parallel Change 3948928 by Rolando.Caloca DR - vk - Fix enabling draw markers for tools Change 3949021 by Rolando.Caloca DR - vk - Buffer tracking layer Change 3949602 by Rolando.Caloca DR - vk - static analysis fix Change 3949757 by Rolando.Caloca DR - vk - Remove bogus parameter Change 3949810 by Rolando.Caloca DR - vk - Move waits for cmd buffer Change 3950270 by Guillaume.Abadie Implements dedicated gather pass for foreground hole filling to avoid being VGPR bound in foreground gather pass, but still being hable to amend foreground. Change 3950272 by Rolando.Caloca DR - vk - Minor refactor for semaphores Change 3950279 by Guillaume.Abadie Oups... fixes build Change 3950298 by Rolando.Caloca DR - vk - Gather wait semaphores in the cmd buffers Change 3950371 by Rolando.Caloca DR - vk - fixes for async compute Change 3950597 by Rolando.Caloca DR - vk - Fix for clip distance (fixes planar reflections) Change 3951075 by Rolando.Caloca DR - vk - Fix for async compute Change 3952524 by Guillaume.Abadie Some DOF enum refactoring. Change 3955016 by Daniel.Wright Fixed BuiltData package getting renamed into the map package during a content browser folder move, causing a redirector to be incorrectly placed in the map package Change 3955668 by Guillaume.Abadie Fixes a bug where full res coc buffer was computed even if not doing slight out of focus. Change 3956722 by Guillaume.Abadie Fixes a bug where r.DOF.MaximalForegroundBlurringRadius was screen percentage dependent. Change 3959212 by Guillaume.Abadie Prefixes all DOF's shaders files with DOF keyword. Change 3959705 by Guillaume.Abadie Optimises the DOF setup pass outputing half res and full res with LDS downsample. Change 3959941 by Guillaume.Abadie Halfs DOF's hybrid scatter compilation by using a unique downsampling for both foreground and background, instead of 2 reduce passes. Change 3962273 by Rolando.Caloca DR - Fix typos #jira UE-56317 PR #4586 Change 3962615 by Rolando.Caloca DR - vk - Compile fix Change 3962949 by Rolando.Caloca DR - Fix DOFDownsample extension Change 3962993 by Guillaume.Abadie Back out changelist 3962949 Change 3963016 by Guillaume.Abadie Adds missing DOFDownsample.usf Change 3963041 by Rolando.Caloca DR - vk - Misc changes to help integrate Change 3964293 by Guillaume.Abadie Fixes DOF's setup pass reading outside of the viewport. Change 3964475 by Guillaume.Abadie Collapses DOF's hybrid scatter compilation passes into reduce passes. Change 3964883 by Daniel.Wright Fixed 3d texture in uniform buffer on unsupporting RHI Change 3964897 by Rolando.Caloca DR - Compile fixes Change 3964914 by Guillaume.Abadie Fixes a bug on r.DOF.RecombineQuality=0 Change 3965153 by Guillaume.Abadie Fixes compile warning in D3D12Commands.cpp. Change 3965814 by Rolando.Caloca DR - Prep for integration conflict resolve Change 3965899 by Rolando.Caloca DR - Fix odd linkage issue Change 3966072 by Rolando.Caloca DR - More prep for merge Change 3966163 by Rolando.Caloca DR - Merge prep Change 3966844 by Guillaume.Abadie Packs multiple DOF scattered bokeh per instance and uses PT_RectList in DOF for platforms that can. Change 3967116 by Rolando.Caloca DR - Compile fixes for integration Change 3967273 by Rolando.Caloca DR - Use same path for mip generation Change 3967277 by Rolando.Caloca DR - vk - Fix mips on cubemaps Change 3967693 by Rolando.Caloca DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, missing shaders Change 3967851 by Rolando.Caloca DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, Engine 2/2 Change 3968083 by Rolando.Caloca DR - Integration compile fixes Change 3968240 by Rolando.Caloca DR - Shader compile fixes for integration Change 3968270 by Rolando.Caloca DR - Fix for missing hash calculation Change 3969426 by Rolando.Caloca DR - vk - Fix warning Change 3969869 by Krzysztof.Narkowicz Back out changelist 3946295 - UE-54537 is fixed, so no need for this debug sentinel. #jira none Change 3969944 by Rolando.Caloca DR - Warning fix Change 3970020 by Rolando.Caloca DR - Bump after integration Change 3970052 by Rolando.Caloca DR - Fix for mobile Change 3970236 by Daniel.Wright Causing decal shader to recompile to fix a merge bug Change 3970270 by Daniel.Wright Bump shader version from merge Change 3970339 by Olaf.Piesche Replace series of locks/unlocks with a single one for curve injection #tests QAGame Change 3970390 by Rolando.Caloca DR - Rename FSceneTextureUniformParameters to FSceneTexturesUniformParameters - Remove duplicate method for occlusion queries Change 3970523 by Rolando.Caloca DR - Fix serialization of shaders Change 3970533 by Arne.Schober DR - fix for removing the Speed tree wind when the scene gets deleted. The original enque rendercommand requeues the element onto the renderthread although the call already came from the Renderthread and the scene can get lost in between. #jira UE-56322 Change 3971160 by Guillaume.Abadie Fixes CompositeEditorPrimtive pass and SelectionOutline pass for VR editor to work with TAAU. Change 3971516 by Guillaume.Abadie Cherry-pick 3912629: Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera. #jira UE-55353 Change 3971594 by Krzysztof.Narkowicz Fixed assert inside BindLightMapVertexBuffer. FSplineMeshSceneProxy was calling BindLightMapVertexBuffer for invalid (still not generated) lightmap UV channel after mesh reimport. Simplified assert, as at the moment almost all of the high callsites already clamp lightmap uv channel. #jira UE-56321 Change 3971622 by Krzysztof.Narkowicz Fixed crash inside Indirect Lighting Cache. Data (reflection captures and lightmap) generation calls ULevel::GetOrCreateMapBuildData(), which can destroy lightmap data if level has legacy data. Last Lightmap generation step recreates this data, but if user cancels lightmap generation - it won't do that. #jira UE-56171 Change 3974788 by Rolando.Caloca DR - Remove GSupportsGenerateMips Change 3974789 by Rolando.Caloca DR - Remove bogus function Change 3974986 by Rolando.Caloca DR - vk - Tracking fixes Change 3974989 by Rolando.Caloca DR - vk - Don't submit dummy barriers Change 3975075 by Olaf.Piesche Update for particle curve injection improvement, fixing ES2 problems #tests QAGame tm-shadermodels, various color curve tests in-editor Change 3975957 by Uriel.Doyon Fixed invalid max texture resolution when using the bake material tools. Change 3978471 by Daniel.Wright New cvar r.SkylightUpdateEveryFrame Change 3978779 by Rolando.Caloca DR - Accessor for texture sizes Change 3978797 by Rolando.Caloca DR - Clean up RHI CopyTexture API Change 3978832 by Rolando.Caloca DR - vk - Workaround for RenderDoc crashing due to Descriptor Pool reset Change 3978836 by Rolando.Caloca DR - vk - Remove generate mips Change 3979201 by Rolando.Caloca DR - vk - RHI CopyTexture. Uses general layout for generating mips Change 3979204 by Rolando.Caloca DR - Use render passes and CopyTexture to generate mips Change 3979592 by Rolando.Caloca DR - Warning fix Change 3980855 by Krzysztof.Narkowicz Optimize bounding sphere radius after non-uniform scale by using bounding box extent. #jira UE-56227 Change 3981065 by Rolando.Caloca DR - vk - Fix bad layout #jira UE-56238 Change 3981346 by Rolando.Caloca DR - Copy from 3707257 Support for not flushing compute jobs (r.D3D11.UAVFlushNV) Change 3981347 by Rolando.Caloca DR - Copy from 3707257 Don't flush between morph dispatched Change 3981932 by Mark.Satterthwaite Generate the shader hash and function name when a Metal shader error needs to be reported so that even without shader code we get something to go on. Change 3982442 by Rolando.Caloca DR - Fix warning Change 3982652 by Rolando.Caloca DR - vk - Signal semaphore cleanup Change 3983917 by Richard.Wallis Clone of CL 3974146 converted for mtlpp along with extra mtlpp usage suggestions by Mark Satt: Fix for black flickering on first paint with weighted material landscape on Mac. When using AsyncCopyFromBufferToTexture in Metal we put the blit operation on the prologue encoder - however after a draw call using that resource the copy operation should happen after on the current encoder, this keeps the correct order of operations. Added Bool return from various Asnyc renderpass resource requests so caller can decide correct further action. Updated to include the other async functions. Change 3984409 by Guillaume.Abadie Attempts to make static analysis happy again. Change 3984435 by Nick.Bullard Checking in Performance Test level provided to us by Tor Frick based on UE-44841. This has been utilized for checking issues against Aftermath performance impact. The Map includes 2 Level Book marks, most testing has been done against Bookmark 1 view, in fullscreen, in game mode Change 3985087 by Mark.Satterthwaite Make sure that the particle scratch buffer is large enough to hold all the data for the curve texture we are rendering to, otherwise a full set of curves will start scribbling memory after 64Kb (the curve texture is 256Kb of data - 512x512x4 as sizeof(RGBAUInt8) == 4). This happens in ElementalDemo. Change 3985201 by Rolando.Caloca DR - Fix bad CopyTexture Change 3985258 by Mark.Satterthwaite Try and detect orientation changes so that we don't blow-up on iOS due to a huge mismatch between the drawable texture for the display and the scene's depth-stencil target. I can't just fiddle with the depth-stencil texture itself without running the risk of obliterating in-use data and really we shouldn't permit such a mismatch anyway but it is fallout from 3620990. #jira UE-55756 Change 3986449 by Rolando.Caloca DR - vk - Update & consolidate Vulkan headers to 1.1.70.1 Consolidate SDK into one Change 3986571 by Guillaume.Abadie Makes PVS-Studio happy again in DOF. Change 3987039 by Yuriy.ODonnell Initial implementation of tracing profiler to show CPU and multiple GPUs on the same timeline. Currently only supported on DX12 platforms. Use `TracingProfiler frames=N` console command to trigger a capture of the next N frames. Trace is saved to disk as a JSON file into `Saved/Profiling/Traces` directory. Trace file uses Google Tracing format and can be visualized in Chrome built-in profiler (chrome://tracing). `r.GPUStatsChildTimesIncluded=1` CVar makes timing scopes hierarchical. `TracingProfiler.BufferSize=N` CVar controls the size of the tracing buffer, which may need to be increased for long traces (default is 65k events). Only can be set at startup. Change 3987074 by Yuriy.ODonnell Implemented timestamp calibration on DX11. Calibration is only performed when tracing profiler session starts. Change 3987160 by Yuriy.ODonnell Added thread naming and ordering to the tracing profiler output Change 3987331 by Mark.Satterthwaite Remove the Nvidia hack to retain resource references in command-buffers for UE-46604 as the mtlpp refactor provides stronger resource lifetime guarantees. #jira UE-46604 Change 3987754 by Mark.Satterthwaite Fix MetalRHI memory reporting in non-default path. PR #4568 Change 3988184 by Arciel.Rekman Linux: Fix editor OpenGL performance (UE-55960). - GetCurrentThreadId() calls became much more frequent with the OpenGL RHIT refactor. - We used to only cache that value in monolithic builds, because having per-thread static variables in dynamic libraries is risky due to OS limits. - This change adds dynamically-managed per-thread cache for non-monolithic builds. #jira UE-55960 Change 3988394 by Rolando.Caloca DR - vk - Improve memory mgmt - Use 256MB pages for Device heap (or 1/8th if less). - Remove texture allocations not going through resource manager Change 3988405 by Marcin.Undak Fix VulkanQuery crash on exit #codereview rolando.caloca #codereview arciel.rekman #rb arciel.rekman Change 3988567 by Rolando.Caloca DR - vk - Support for packed global UBs on pci aperture heap Change 3988668 by Rolando.Caloca DR - vk - Remove old comments Change 3988956 by Marcin.Undak RecordPerformance: added option to skip building/cooking before tests #rb none #codereview arciel.rekman Change 3989161 by Yuriy.ODonnell Static analysis error fix Change 3989196 by Guillaume.Abadie Fixes a crash in light shaft's TAA pass. #jira UE-57366 Change 3989207 by Yuriy.ODonnell Refactored FRealtimeGPUProfilerFrame to avoid splitting profile events when calculating exclusive times of scopes. This allows tracing profiler to retain the hierarchical view of the data, while keeping CSV and GPU Stat system behavior intact. Change 3989469 by Rolando.Caloca DR - vk - Fix for bad index; fix for bad transition Change 3989772 by Yuriy.ODonnell Implemented timestamp calibration on Vulkan Change 3990040 by Marcus.Wassmer Aftermath enabled by default. Removed unnecessary warning for other vendors Change 3990064 by Mark.Satterthwaite Ensure that packed globals are reuploaded when the command-encoder is restarted - don't simply invalidate the existing parameters. This properly handles cases where a single logical render-pass is broken into multiple command-encoders and/or command-buffers - otherwise all shaders must reset all parameters each time. When we move between frames we *do* want to perform a full state reset though as previous frame globals are treated as invalid. Change 3990080 by Mark.Satterthwaite Change the way we invalidate the visibility buffer between command-buffers and command-encoders so that on iOS you can reuse the same buffer within the same command-buffer, but not across more than one. The code provides an exception to this rule when running under the MetalRHI validation tools which can break each draw call into its own buffer. Change 3990084 by Mark.Satterthwaite Get MetalStatistics compiling again. Change 3990381 by Arciel.Rekman Bring back D3D12 in RecordPerformance. Change 3991113 by Rolando.Caloca DR - Fix crash on RHI thread on mobile preview - Check RHI objects are not null in the PSO initializer Change 3991191 by Ryan.Vance #jira UE-55952 Reimplemented instanced stereo for forward lighting cull grid after the srv/ub clean up. Change 3991343 by Rolando.Caloca DR - Copy from 3911492 UE4 - Disabled parallel mobile bass pass by default. This is experiemental and not known to be useful on any mobile platform. Change 3991375 by Mark.Satterthwaite Proper copyright assignment in the mtlpp debugger header. Change 3993151 by Daniel.Wright Fix RTDF resource transition found by Rolando Change 3993818 by Rolando.Caloca DR - Missed file Change 3993923 by Krzysztof.Narkowicz Fixed crashes inside RemoveSpeedTreeWind() and RemoveSpeedTreeWind_RenderThread(). FStaticMeshComponentRecreateRenderStateContext didn't flush deferred render updates causing stale RenderData to be left: 1. Thumbnail manager called SetStaticMesh(nullptr), which added StaticMeshComponent to deferred render updates. 2. UStaticMesh::Build called FStaticMeshComponentRecreateRenderStateContext and destroyed DenderData, but didn't touch Thumbnail's manager StaticMeshComponent as it was nullptr. 3. This resulted in a StaticMeshComponent with stale RenderData pointer. #jira UE-54544 Change 3994033 by Rolando.Caloca DR - vk - Reworked layers & extensions, as we were not doing it properly - Remove -vulkanstandardvalidation and -novulkanstandardvalidation as they are not needed anymore Change 3994275 by Mark.Satterthwaite Change to linking against mtlpp via AddEngineThirdPartyPrivateStaticDependencies and marking its header with THIRD_PARTY_* macros in the vain hope that might convince the remote compilation code to distribute the module to the remote machine when building MetalRHI. #jira UE-57507 Change 3994365 by Mark.Satterthwaite Pilfer some code from the old MetalHeap file to handle calculating texture memory size on older macOS and iOS builds when running with stats or LLM enabled. #jira UE-57513 Change 3994382 by Rolando.Caloca DR - vk - Some missing locks during image tracking Change 3994422 by Rolando.Caloca DR - vk - Remove bogus shader format Change 3995530 by Rolando.Caloca DR - vk - Fix for crash when validation is enabled Change 3995531 by Rolando.Caloca DR - vk - Fix static analysis Change 3995532 by Rolando.Caloca DR - vk - Added support for r.Vulkan.SaveValidationCache Change 3995610 by Uriel.Doyon Texture Streaming Changes and Fixes: - Using the small FOV items (like scopes) now only affect visible primitives (through "r.Streaming.MaxHiddenPrimitiveViewBoost"). - Static components added after the level is registered in the streaming manager are now handled correctly (fixes the low quality on the chests) - Dynamic components do not need to register to the streaming manager anymore. - Optimized dynamic component management by removing duplicate entries in the update list. - Added a pregarbage collect pass to the dynamic component management to optimize GC handling. - Added a budget reset logic whenever the scene requirements change significantly. - PIE worlds now have correct visibility information. - Fixed possible invalid memory access when processing the streaming manager slave views. - Refactored the incremental level texture data build to prevent new components from being unhandled. - Removed StreamingManager callbacks for NotifyActorSpawned() and NotifyPrimitiveAttached() - Added a StreamingManager callback NotifyPrimitiveUpdated(), to be used whenever a primitive streaming state must be updated. #jira none Change 3995908 by Arciel.Rekman Fix compile errors when using new Vulkan queries. Change 3995990 by Arciel.Rekman More compile fixes to new Vulkan queries. - MSVC did not catch this, clang did. Change 3996101 by Rolando.Caloca DR - vk - Win32 compile fix Change 3996323 by Mark.Satterthwaite Use the right include path to export the mtlpp headers. #jira UE-57507 Change 3996392 by Arciel.Rekman Vulkan: fix crash on start when using new queries. - CommandBufferManager was not yet set at that point and the code in queries relied on it. Change 3996585 by Rolando.Caloca DR - Slight improvement to GL being black, but just a temporary 'workaround' as it's not correct. Change 3998806 by Arciel.Rekman Fix Linux build (UE-57602). #jira UE-57602 Change 3998866 by Arciel.Rekman SubwaySequencer: fix old shader platform name. Change 3998947 by Mark.Satterthwaite Silence deprecation warnings in CEF on macOS now that we've moved to 10.12 as the minimum. #jira UE-57577 Change 3998951 by Mark.Satterthwaite Fix last of the deprecation errors that I am aware of for macOS 10.12. #jira UE-57581 Change 3998984 by Mark.Satterthwaite Build mtlpp for iOS 9.0 not 9.3. #jira UE-57586 Change 3999065 by Rolando.Caloca DR - vk - Make sure we use version 1.0.0 #jira UE-57521 Change 3999071 by Arne.Schober DR - [UE-55433, UE-57361] Hack SNORM support in OpenGL by re-interpreting UNORM. Underlying data is always SNORM. #jira UE-55433, UE-57361 Change 3999494 by Rolando.Caloca DR - Enable r.UnbindResourcesBetweenDrawsInDX11 in debug - Clear compute resources when r.UnbindResourcesBetweenDrawsInDX11 is enabled Change 4000197 by Krzysztof.Narkowicz Mesh simplifier - normalize TexCoordWeights using min/max TexCoord range. This fixes precision issues for very big TexCoord values and allows to optimize for all TexCoord channels when channels have values of different magnitudes (e.g. non standard TexCoord data). #jira UE-54935 Change 4000305 by Yuriy.ODonnell Suppress PVS Studio warning V547 (Expression is always true) related to Aftermath Reported issue to PVS team and to NVIDIA. Confirmed false positive, fix coming in future PVS version (v6.24). #jira UE-57579 Change 4000853 by Arciel.Rekman Linux: fix not calling CrashReportClient (UE-57678). #jira UE-57678 Change 4001504 by Rolando.Caloca DR - vk - Fix transition Change 4002460 by Krzysztof.Narkowicz Toggle for contant shadow length in word space Exposed contact shadows to Blueprints #jira none Change 4002608 by Rolando.Caloca DR - vk - Fix static analysis - Fix potential debug image tracking crash - Comment out unused methods Change 4002615 by Rolando.Caloca DR - vk - Allow r.Vulkan.WaitForIdleOnSubmit to be set at startup (e.g. in ConsoleVariables.ini) Previously, if your map needed to UpdateSkyCaptureContents on startup, an ensure would fail if GWaitForIdleOnSubmit was set. PrepareForCPURead needs to wait for the command buffer to finish before trying to read the results back, but the wait has already happened when r.Vulkan.WaitForIdleOnSubmit is set. Trying to wait again correctly complains that the command buffer is not in the correct state. So, skip the WaitForCmdBuffer call when r.Vulkan.WaitForIdleOnSubmit is set. Change 4002640 by Rolando.Caloca DR - vk - Missing support for CVarDefaultBackBufferPixelFormat Change 4002919 by Guillaume.Abadie Implements DOF's temporal upsampling pass for better dynamic resolution stability. Change 4002984 by Guillaume.Abadie Integrates Sebastian Aaltonen's ALU optimisations for TAAU. Change 4003112 by Olaf.Piesche Fir for TBB stall (resulting in severe hitches and hangs in the editor with stats active); tested multiple scenarios and encountered no hitches. #tests QAGame PerformanceTest and RenderTest map with various stats on and off Change 4003159 by Mark.Satterthwaite Undo parts of changelist 3970553 - the ref-counted pointer approach to returning textures to the pool is not working as expected so we'll remove that. It'll be faster on the CPU without it and everything works thanks to the changes this CL made to the way textures were released. #jira UE-57538 Change 4003287 by zachary.wilson Adding reflection capture content to TM-LightingScenarios Change 4003395 by Arne.Schober DR - Fix unitzialised value when clicking Go To in the editor #jira UE-57048 Change 4003425 by Rolando.Caloca DR - vk - Fix for new occlusion queries Change 4003530 by Arne.Schober DR - Disable GPU Benchmark in headless configurations #jira UE-57673 Change 4003717 by Rolando.Caloca DR - vk - Fix for depth not store, stencil store Change 4003719 by Rolando.Caloca DR - Minor switch to render pass Change 4003720 by Mark.Satterthwaite Don't suballocate private memory buffers on Vega and only Vega as there is something wrong with the blits in those cases but I can't capture a GPU trace to find out what right now (the driver is broken) - could be a bug in my code but this works on Polaris and Nvidia so it will need to be filed as a radar for AMD. Remove the FMetalBufferChunk from FMetalBuffer and simply store a pointer to the owning Heap/Magazine allocator. The FMetalResourceHeap now calls a new Release function to return the buffer to the allocator which will be faster on the CPU. #jira UE-57659 Change 4003854 by Mark.Satterthwaite Undo parts of 3990064 and try a different approach to get the uniforms to upload and remain available in the right places. As the original bug has been lost to time we should keep an eye out for missing buffer bindings by running under the Metal validation layer periodically. #jira UE-57576 Change 4004709 by Rolando.Caloca DR - Support for D3D 11, 12 & Vulkan for UAVs off Index Buffers Change 4005149 by Guillaume.Abadie Adds shader permutation to avoid clamping input buffer UV in DOF's gather pass. Change 4005284 by Uriel.Doyon Resaved volume texture assets with proper engine version. #jira UE-57534 Change 4005286 by Guillaume.Abadie Reduces constant setup in DOF's gather pass. Change 4005359 by Rolando.Caloca DR - vk - Fix annoying warning Change 4005363 by Rolando.Caloca DR - Fix android not finding vulkan shaders Change 4005457 by Rolando.Caloca DR - vk - Fix swapchain crash Change 4005473 by Patrick.Kelly UE-57135: Editor crash if set Reflection Capture Resolution to be 64 and New a Default level Codde by Daniel Tested by Patrick Change 4005474 by Rolando.Caloca DR - vk - Remove glsl code from shaders. Packaged QAGame goes from 176MB to 162MB Change 4005759 by Krzysztof.Narkowicz Fixed a bug, where reflection capture build is called, even though we are in mobile preview mode. #jira UE-57743 Change 4005774 by Mark.Satterthwaite Update the wave intrinsics to avoid implicit bool->uint conversion that Apple don't like. #jira UE-57750 Change 4005974 by Mark.Satterthwaite Don't use cubemap array types on iOS Metal as they aren't available on all devices and we need to maintain backward compatibiliy for years to come. #jira UE-57083 Change 4006056 by Mark.Satterthwaite Remove the use of the PrimitiveType argument from Metal draw calls. #jira UE-57822 Change 4006139 by Mark.Satterthwaite - Move the render-pass functions into the MetalRHI implementation for later alteration. - Implement Index buffer UAVs for Metal - makes them more like vertex-buffers so this is one more step on the road to a unified buffer base-class implementation. Change 4006215 by Mark.Satterthwaite Metal's begin & end render/compute pass API implementation will take some time, but for now make it not depend on the parent stub implementation. Change 4006394 by Mark.Satterthwaite In lieu of a real instruction count just use the number of lines in the "Main" function of the shader as the instruction count for Metal. #jira UE-57551 Change 4006493 by Mark.Satterthwaite MetalRHI can currently support 4-component formats for Buffer UAVs - this might need some thought in the future as the API evolves but we might as well take advantage while we can. Change 4006495 by Daniel.Wright Integrate from Refactor branch * New FMaterialRenderProxy function GetMaterialWithFallback which provides both the FMaterialRenderProxy and FMaterial. Needed when falling back to default material, so that proxy and material resource match. * Local vertex factory uniform buffer Change 4006851 by Brian.Karis Fix for joined charts forming an L to inflate both axii. Thanks to Jess Kube of The Coalition. Change 4006852 by Brian.Karis Fix for hard coded reflection capture cube map size. Should fix light static light aliasing in captures Change 4006918 by Brian.Karis New ByteBuffer functionality. Memcpy and scatter upload. Can implement GPU side TArray reflection. Not yet used by checked in code. WIP optimization. Change 4007246 by Guillaume.Abadie Creates lower quality permutation for DOF's gathering pass, without Coc based weighting of the samples, and lower number of gathering ring for fast accumulator. Change 4007291 by Guillaume.Abadie Exposes more DOF scalability settings. Change 4007328 by Guillaume.Abadie Optimises DOF's half res only setup pass using gather4 Change 4007627 by Richard.Wallis Fix for when Magic Mouse cannot zoom in World Composition editor. Missing default SNodePanel::OnMouseMove behaviour. Tested using a classic 2xbutton + wheel mouse and a Mac MagicMouse. #jira UE-57030 Change 4007682 by Richard.Wallis No video when playing HLS streaming video on Mac. 2 Issues, FPS was zero making duration for video sample buffer nonsense and Video Track dimensions were going to zero on the AVAsset once fully initialized when playing HSL streams. Now cache relevant details and handle zero frame rate. Notes: - Caching the frame rate is not as important as we could look it up each time and fix for zero - ignoring that at the moment. - Assume we DO NOT want the FrameSize to be the last fetched video frame size from the AvfMediaVideoSampler as I think that is the video quality for streaming video and not the media frame size. - Renamed a variable in the AvfMediaVideoSample - was called FrameRate but it was the FrameDuration by that point. #jira UE-56734 Change 4007731 by Rolando.Caloca DR - Disable byte buffers on non-hlsl based platforms #jira UE-57851 Change 4007741 by Rolando.Caloca DR - Disable byte buffers on hlslcc platforms Change 4007782 by Mark.Satterthwaite Force Metal shaders, including the stdlib, to recompile. Change 4007918 by Rolando.Caloca DR - vk - Some static asserts Change 4008404 by Arciel.Rekman Do not crash on incompatible Vulkan drivers (UE-57521). #jira UE-57521 Change 4008442 by Daniel.Wright Better comments on ERHIFeatureLevel expectations Change 4008494 by Arne.Schober DR - moved bDeletedThroughDeferredCleanup before begincleanup to catch cases where the reference is added twice to the array. also removed finishcleanup as all they ever did was deleting the pointer anyway, and it sould be adfded if such functionallity is ever required fom outside of the regular destructor. #jira UE-57754 Change 4008730 by Mark.Satterthwaite After the most recent changes to handling uniform buffer dirty bits in MetalRHI we should guard against attempts to set an unbound uniform buffer. #jira UE-57870 Change 4008949 by Brian.Karis Fix compile warning Change 4008951 by Brian.Karis Added LTC LUT textures Change 4009326 by Guillaume.Abadie Compiles out DOF's gathering bokeh simulation on platform other than desktop. Change 4009380 by Krzysztof.Narkowicz Moved area light code before the contact shadows, so contact shadows use representative light's direction. Merged all contact shadows shader code. Contact shadows keep constant screen space length independent of FoV settings. Contact shadows for translucents. Contact shadows for eye. Change 4009555 by Guillaume.Abadie Splits DOFCocTile.usf in two. Change 4009999 by Yuriy.ODonnell MallocStomp can now be enabled on certain platforms using '-stompmalloc' command line argument. Previously it was necessary to modify MallocaStomp.h and re-compile the engine. Currently supported platforms: Win64, Mac, Linux. Replaced hard-coded page size with FPlatformMemory::GetConstants().PageSize. Change 4010288 by Rolando.Caloca DR - vk - Fix for vertex streams Change 4010289 by Krzysztof.Narkowicz D3D12 - fixed depth bounds bug, where depth bounds wasn't properly set to [0;1] after disabling. #jira UE-57510 Change 4010297 by Rolando.Caloca DR - vk - Remove some functions for android Change 4010315 by Rolando.Caloca DR - vk - Remove create info macro Change 4010451 by Rolando.Caloca DR - vk - Reuse samplers - Infiltrator goes from 5759 to 24 samplers! Change 4010627 by Rolando.Caloca DR - vk - Fix missing values for tracking swapchain validation Change 4011924 by Guillaume.Abadie Implements tile based early return optimisation on DOF's postfiltering method. Change 4011941 by Guillaume.Abadie Shaves some ALU in DOF's accumulator for LowQuality permutation. Change 4012093 by Yuriy.ODonnell Disable MallocStompOverrunTest() in static analysis config, as it intentionally performs an out-of-bounds access. Change 4012195 by Rolando.Caloca DR - vk - Fix for mobile backbuffer layout Change 4012202 by Rolando.Caloca DR - vk - Don't use staging buffers on UMA Change 4012467 by Rolando.Caloca DR - Remove redundant check Change 4012486 by Rolando.Caloca DR - Fix missing transition Change 4012518 by Guillaume.Abadie Implements fast shader permutation for DOF's TAA pass. Change 4013084 by Arciel.Rekman Fix for Linux clock discrepancy. - Causing at least one precision issue, possibly more. (Edigrating 4003273, 4012462 from //UE4/Dev-Editor/... to //UE4/Dev-Rendering/...) Change 4013266 by Uriel.Doyon Fixed crash when setting SceneDepthTextureNonMS and not having valid depth buffers in the SceneContext. Change 4013626 by Uriel.Doyon Fixed crash in the lighting build when creating a blueprint of the ALight and placing a light component in it. #jira UE-51672 Change 4013805 by Rolando.Caloca DR - Fix more missing transitions Change 4014128 by Arne.Schober DR - Do not create LocalVFUniformBuffer when running without MVF #jira UE-57929 Change 4014193 by Uriel.Doyon Editing component transforms now invalidate the component's lighting cache. #jira UE-48134 Change 4014282 by Rolando.Caloca DR - vk - Remove extra validation during dump Change 4014584 by Uriel.Doyon Duplicated static meshes now generate a new GUID to prevent possible issues with lightmass. #jira UE-49064 Change 4014604 by Uriel.Doyon UStaticMesh postduplicate now only generates a new GUID if !bDuplicateForPIE. Change 4015460 by Guillaume.Abadie Composes separate translucency within DOF's recombine pass. Change 4015571 by Guillaume.Abadie Refactors tonemapper to use global shader permutation API, that adds permutation for HDR output device rather than dynamic branching that some shader compiler are not very well optimizing. Change 4015984 by Krzysztof.Narkowicz Fixed crash inside DFAO resource allocation, when DFAO viewport has zero area. #jira UE-58000 Change 4016056 by Mark.Satterthwaite Fix Mac Metal shader compilation of texture cube arrays. Change 4016062 by Richard.Wallis Convert things like Space, Delete, F6 etc to unicode so they display correctly on the Mac menu rather than first letter of word. Added the default Mac commands to the GenericCommands so we get a Chord overwrite message and stop things like cmd+ q / w / h from getting bound. #jira UE-46999 Change 4016109 by Mark.Satterthwaite One unified Metal buffer implementation - will make further changes a heck of a lot easier. Change 4016221 by Patrick.Kelly UE-57617: Ensure changing viewmode to ShaderComplexity while in -game Change 4016238 by Guillaume.Abadie Makes clang happy again in Tonemapper. Change 4016309 by Mark.Satterthwaite More *_RenderThread implementations for MetalRHI. Change 4016414 by Mark.Satterthwaite And MetalRHI version of CreateStructuredBuffer_RenderThread... Change 4016498 by Mark.Satterthwaite Don't hold on to the uniform buffers bound to the hull shader when switching to a tessellated draw call as they'll have the wrong buffer layout. #jira UE-57930 Change 4017394 by Juan.Canada OpenGL: Fixed shading artifacts due incorrect UNORM/SNORM conversions in skin/skincache/computetangent shaderss. #jira UE-57691 Change 4017522 by Rolando.Caloca DR - vk - Remove unused code path (old mip generation detection) Change 4017539 by Rolando.Caloca DR - vk - Fix for sky lighting mips showing green on AMD Change 4017542 by Arciel.Rekman Moved appCountTrailingZeros to a non-SSE header (fixes ARM64 build). - Arguably WITH_SLI shouldn't apply to Linux on ARM but the fact that the function wasn't available is bad on its own. Change 4017827 by Guillaume.Abadie Optimises DOF's scattering cost by a third. Change 4017835 by Rolando.Caloca DR - Only allow a render pass to generate mips for one color render target Change 4017889 by Mark.Satterthwaite Cache all the Metal state objects to avoid hitting the API unnecessarily. Change 4018251 by Mark.Satterthwaite Fix broken rendering on Metal that tracked back to the innocuous looking changes in CL #4006495 (no blame attached - these changes are entirely reasonable) and cause various bugs in QAGame's TM-DistanceFields, ElementalDemo and probably more. Doesn't fix broken SpeedTree rendering :(. MetalRHI was allowing uniform buffers to blow away linear texture buffers when the constant buffer has been elided due to dead-code elimination. This problem can manifest without linear textures if the uniform buffer contains both constant data and a resource-table but the shader doesn't use any of the constant data. That's because Metal doesn't separate constant buffers from any other kind of buffer unlike D3D which separates all the slots out - and Metal doesn't provide enough buffers to emulate the D3D arrangement. So far this has only manifested in the MVF + Linear Texture case but a more robust solution will be necessary long term. Change 4018514 by Guillaume.Abadie Implements r.DOF.Scatter.MinCocRadius. Change 4018553 by Guillaume.Abadie Implements r.DOF.Scatter.MaxSpriteRatio to control the budget upperbound of DOF's scattering Change 4020369 by Yuriy.ODonnell Disable MallocStompOverrunTest in all static analysis configs (using USING_CODE_ANALYSIS macro) Previously was only disabled for PVS-Studio. Change 4020620 by Arciel.Rekman Fix XboxOne CIS (fallout of appCountTrailingZeros move). Change 4020949 by Guillaume.Abadie Configures DOF in scalability settings. Change 4021593 by Rolando.Caloca DR - vk - Support for Aftermath style api on AMD Change 4021740 by Rolando.Caloca DR - vk - Change log output Change 4022008 by Uriel.Doyon Fixed renderthread stalls when streaming texture mips on low end systems. Change 4022135 by Rolando.Caloca DR - vk - Fix last mip's layout during mip chain creation Change 4022607 by Jian.Ru Speculative fix for a bug where an invalid vertex buffer is deferenced #jira UE-56229 Change 4022890 by Rolando.Caloca DR - Fix reference count not getting released Change 4023540 by Mark.Satterthwaite Avoid some pointless retain/release calls on Metal Encoders. Change 4023796 by Marcus.Wassmer Tell users they are over the maximum size when allocating very large rendertargets. Change 4025337 by Yuriy.ODonnell Improved use-after-free detection mechanism and physical memory usage of MallocStomp on Windows. MallocStomp on Windows will now reserve virtual address space for every allocation and then commit physical pages only to the valid usable part. Physical pages will be unmapped on Free, but virtual address space will not be released and therefore will never be re-used. Virtual address space is allocated from the OS in blocks of 1GB and then linearly sub-allocated. This reduces VA space usage, as VirtualAlloc returns blocks on 64KB granularity even if we just need 4KB. As a small bonus, this also reduces number of syscalls per allocation. This dramatically increases accuracy of use-after-free detection, but consumes significant amount of memory for the OS page table. Virtual memory limit for a process on Win10 is 128 TB, which means we can afford to keep virtual memory reserved for a long time. Running Infiltrator demo consumes ~700MB of virtual address space per second. Additionally, committing physical pages only for the usable part of the entire virtual block reduces physical memory usage by ~30% compared to old behavior, which allocated and committed entire block of pages via BinnedAllocFromOS and then marks border page as non-accessible. Change 4026047 by Rolando.Caloca DR - Fix test/shipping #jira UE-58148 Change 4026150 by Krzysztof.Narkowicz Force proper ordering of buffer visualization materials - after tonemapping (so exposure doesn't influence it) and before editor stuff like icons. #jira UE-57992 Change 4026226 by Rolando.Caloca DR - Fix static analysis #jira UE-58150 Change 4026354 by Jian.Ru Debug check trying to catch a crash. Only enabled in editor build #jira UE-50111 Change 4026655 by Rolando.Caloca DR - Fix for static analysis #jira UE-58149 Change 4026763 by Rolando.Caloca DR - Remove references to defunct CCT to avoid confusing licensees Change 4027167 by Uriel.Doyon Fixed possible out of bound buffer access when serializing with FDuplicateDataWriter. #jira UE-56509 Change 4027850 by Jian.Ru Prevent log spam #jira UE-50111 Change 4029546 by Rolando.Caloca DR - Compile fixes Change 4029624 by Yuriy.ODonnell Addressed static analysis errors in MallocStomp - VirtualAlloc return value is now explicitly checked. - C6250 is suppressed, as VirtualFree does not release address space by design. Change 4030225 by Yuriy.ODonnell Static analysis warning fix: make sure declaration of Sleep() is consistent between Windows headers and TBB The complexity with this particular case is that the warning is generated in synchapi.h, which is included by some Windows headers. If a module includes TBB and then Windows platform headers, static analyzer will report this warning. Suppressing it would require wrapping all instances of Windows header includes in third-party macros. Current pragmatic solution is to modify the Sleep() declaration in TBB header to be consistent with Windows and to report the issue to Intel for a permanent fix. Change 4030440 by Rolando.Caloca DR - Fix crash on mobile #jira UE-58222 Change 4030570 by Daniel.Wright Allow null SRV's in uniform buffers for feature levels that don't support SRV's in shaders Change 4030618 by Arne.Schober DR - missing tangent/normal sign conversion after integration from main #jira UE-58224 Change 4031588 by Rolando.Caloca DR - vk - Fix compile error when missing vkCmdWriteBufferMarkerAMD Change 4032145 by Mark.Satterthwaite Fix UE-58268 by only emitting the base_instance/base_vertex variables required to fix-up the instance/vertex ID values to match D3D when the Metal version is 1.1 or higher, earlier versions don't support these features. #jira UE-58268 Change 4032209 by Rolando.Caloca DR - Fix crash on EngineTest: Mesh Batch's UserIndex is not a union anymore Change 4033178 by Guillaume.Abadie Fixes FXAA sampling outside viewports, that was causing black outline on bottom and right edge of the screen when ViewSize != BufferSize, problematic for some screenshot automated test. #jira UE-58151 Change 4034489 by Daniel.Wright Fixed UStaticMeshComponent modifying its UStaticMesh when undoing a change. This caused a crash when other static mesh components using the same mesh asset were rendered, since their rendering state was not recreated. A component should not modify its asset during PostEditUndo. * This behavior has been present for a long time but was previously hidden because only the vertex factory of the mesh asset is cached in static draw lists, not any of its rendering resources (eg vertex declaration). Change 4035157 by Uriel.Doyon Fixed deadlock in the streaming code when running with -onethread. #jira UE-58299 Change 4035198 by Rolando.Caloca DR - vk - Fix issue when an older SDK was installed, UBT would pick it (should pick the newer of ThirdParty\Vulkan or installed SDK). #jira UE-58267 Change 4035730 by Arne.Schober DR - Fix missing Fog parameters during LightScattering Injection #jira UE-57608 Change 4035843 by Daniel.Wright Reimplemented support for EyeAdaptation node in opaque materials Change 4036837 by Marcus.Wassmer Replace some of the screenshots to match new un-tonemapped buffer visualization Change 4036980 by Rolando.Caloca DR - vk - Fix deadlock contention during mem allocation on Linux Change 4037225 by Guillaume.Abadie Fixes jittering selection outline. #jira UE-58350 Change 4038056 by Marcus.Wassmer roll back changelist 4026150. breaks a bunch of automated tests by cutting off half the image. Change can go back in later with that part fixed also Change 4038296 by Jian.Ru Static analysis fix #jira UE-58377 Change 4038402 by Ben.Marsh Suppress IncludeTool warnings caused by CL 3998947. Change 4038514 by Arne.Schober DR - Fix case with MVF where instance offset is not supported by the API (in this case only foliage OpenGL and TvOS), usually the buffers are offsetted instead but with MVF we do not use offsetted buffers, therfore the offset needs to be passed into the shader although we are drawing with offset of 0. #jira UE-57652 Change 4038747 by Marcus.Wassmer Back out changelist 3853645, causing us to lose shadows in the shaderhair test Change 4040138 by Rolando.Caloca DR - Fix compile warning Change 4041614 by Rolando.Caloca DR - vk - Fix for Oculus module #jira UE-58267 Change 3810277 by Daniel.Wright Ray Traced Distance Field shadows use a two pass tile culling algorithm with no tile max - fixes flickering from tile overflow in dense areas or with a low sun angle. Costs .2ms on PS4. The distance field scene buffers now use float4 on PS4 and Xbox, saves .1ms on PS4. Change 3817029 by Uriel.Doyon Added UVolumeTexture, which use 3D textures. Compressed formats are supported on DX11, DX12, PS4 and XB1. Projects targetting OpengGL don't have access to compressed formats (as the implementation has texture tiling issues). Add "r.AllowVolumeTextureAssetCreation" set as 0 by default, which controls whether volume texture can be sampled in materials and whether they can be created from 2D texture assets. Platform not supporting BC7, will now fallback on RGBA8 instead of DXT to preserve quality, in an attemps to increase usage of BC7. #jira UE-32263 Change 3819960 by Michael.Lentine Expose UEPhysics Clothing Parameters through UI. Change 3823401 by Rolando.Caloca DR - Add NumQueriesInBatch to RHIBeginOcclusionQueryBatch Change 3844805 by Arne.Schober DR - Increased Intermediate normal of Umodel and Skelmesh from 8bit Unorm Compressed to float. A resave/rebuid/reimport of the meshes is recommended to recover some lost precision. Fixed an issue with compressed (packed) normals on the GPU which were off by one integer representation. Also switched from UNORM to SNORM to get a discrete zero representation and removed some mads from all the VertexShaders. Change 3847283 by Marcus.Wassmer Extra fixes from Uriel Change 3876607 by Rolando.Caloca DR - Use render passes when running occlusion queries - Removes the RHI(Begin|End)OcclusionQueryBatch API Change 3903799 by Daniel.Wright [Integrate] Pass Uniform Buffers * All pass-constant shader inputs should go into the appropriate pass uniform buffer, instead of being set per-draw * Moved many per-draw base pass parameters over to the Base Pass Uniform Buffer * Opaque and Translucent base pass shaders have different uniform buffers, which allows compile errors when accessing an invalid resource (eg GBuffer in Opaque), instead of silently falling back to GBlackTexture Uniform buffers can now contain nested structs with UNIFORM_MEMBER_STRUCT() * This allows composing a uniform buffer at a particular update frequency out of many features, with encapsulation of each feature's parameters in a struct. * Eg deferred fog uses FFogUniformParameters, but so does translucency in the base pass, where FFogUniformParameters is reused nested inside the base pass uniform buffer. * Resources can now be located anywhere in the uniform buffer. Padding is inserted to the cbuffer representation to keep memory layouts matching. In the future the cbuffer could be compacted. * RemoveUniformBuffersFromSource() which works around HLSLCC lack of struct initializers now handles nested structs Change 3917500 by Rolando.Caloca DR - Change depth bounds so only the enable bit is in the PSO, allow min/max to be dynamically modified Change 3964907 by Guillaume.Abadie Implements RectList topology support in RHI. Change 3979171 by Mark.Satterthwaite Copying //Tasks/UE4/Dev-UERNDR-354-mtlpp to Dev-Rendering (//UE4/Dev-Rendering): Rewrites MetalRHI in terms of mtlpp, which is a C++ wrapper library built around Metal's Objective-C API that attempts to reduce overheads and eliminate resource lifetime errors. Regarding mtlpp: - The mtlpp library uses C++ constructor/destructor and smart-pointer style management of Objective-C retain/release calls to prevent over- and under-release problems. - To reduce Objective-C overheads the mtlpp library caches the internal C-function that implements the Objective-C selectors for the most commonly used Metal protocol types and calls the function directly - this avoids objc_msgSend which does this look-up dynamically and thus improves CPU performance slightly. - Another advantage is that mtlpp provides infrastructure to extend the Metal API slightly to help improve MetalRHI - the two important aspects are mtlpp::CommandBufferFence which provides a consistent CPU<->GPU synchronisation primitive and sub-buffer allocations from mtlpp::Buffer which allow for far superior memory management. - Validation functionality is also provided by mtlpp to detect CPU vs. GPU data races and resource lifetime validation - this is expensive and is thus optional and compiled out from Shipping binaries that should be used when performance is most critical. The validation only works between resource modification and *submitted* command-buffers - anything that is being actively encoded on the CPU is ignored and it remains the responsibility of the application to validate the order of operations when encoding. Apple Platform: - LLM support which tracks Objective-C objects is enabled only on macOS - we don't have the necessary libraries to intercept and override the internal system calls on iOS. MetalRHI: - All the types are switched over, (mostly) insuling the external API from the horror of Metal and Objective-C. - Buffers are now managed quite differently, small buffers are allocated from a magazine allocator that allocates in fixed blocks from a larger parent buffer, intermediate sized buffers are allocated from a simple heap allocator that wraps a larger buffer and anything of reasonable size (>2Mb) will use the pooled allocator. This *radically* reduces the number of buffer resources, by as much as a factor of 10, because they are now sub-allocated without the need to use MTLHeap or MTLFence so they are performance equivalent to the existing implementation on the GPU and much faster on the CPU. Total memory use is approximately the same. - Vertex & index buffer management has been updated to reflect changes in the management and to avoid reallocating buffers which provide a Linear Texture (for SRVs) unless strictly necessary. This ensures that even in cases where a dynamic buffer is updated multiple times in a frame it will still work acceptably well. - The Metal ring-buffer implementation is completely different again, this time it can use Managed memory on macOS which allows for much better performance on eGPUs which will be more and more important for Mac. - Everyone that needs to wait on a command-buffer fence (rather than a command-buffer itself) now use mtlpp::CommandBufferFence, which prevents race conditions between the different command-buffer handlers (which sometimes execute out of order). - LLM tracking should now report the same data as the MetalRHI stats group for buffer & texture allocations - there is no segmentation for Vertex/index/Structured/Uniform allocations in Metal so these numbers are going to be wrong and will need to be rethought. - What will be unseen are the number of small but important resource usage fixes that avoid stale resources from being bound to the device after the point at which they become invalid. This should eliminate a class of errors where the GPU uses a resource pointer that is modified by the CPU and was necessary to satisfy the new mtlpp validation code. Other: - Remove the Metal focused workarounds from the ClothBuffer resource binding and related vertex-buffer SRV - these were put in when MetalRHI/MetalShaderFormat couldn't handle float->uint conversions correctly and they should now. - Fix a validation error caused by trying to render a 0-sized scissor rect which is invalid in Metal and simply pointless elsewhere. - Consistency of disabling the Manual Vertex Fetch behaviour in shaders. #jira UERNDR-354 Change 3979312 by Rolando.Caloca DR - Remove bogus bKeepOriginalSurface parameter in CopyToResolveTarget Change 4005122 by Rolando.Caloca DR - Support for PS4 Index Buffer UAVs Change 4016298 by Guillaume.Abadie Fixes DOF hybrid scattering on platforms that supports RectList topology. Change 4018575 by Guillaume.Abadie Optimises DOF's reduce pass when doing scattering compilation. Change 4020317 by Guillaume.Abadie Implements WaveBroadcastIntrinsics.ush. [CL 4042226 by Marcus Wassmer in Main branch]
2018-05-01 10:36:33 -04:00
SetupTextureFormat( PF_G16R16, FOpenGLTextureFormat(GL_RG16, GL_RG16, GL_RG, GL_UNSIGNED_SHORT, false, false));
SetupTextureFormat( PF_G16R16_SNORM, FOpenGLTextureFormat(GL_RG16_SNORM, GL_RG16_SNORM, GL_RG, GL_SHORT, false, false));
}
else
#endif // PLATFORM_DESKTOP
{
#if !PLATFORM_DESKTOP
FOpenGL::PE_SetupTextureFormat(&SetupTextureFormat); // platform extension
#endif // !PLATFORM_DESKTOP
}
if (FOpenGL::SupportsDXT())
{
SetupTextureFormat( PF_DXT1, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT, GL_RGBA, GL_UNSIGNED_BYTE, true, false));
SetupTextureFormat( PF_DXT3, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT, GL_RGBA, GL_UNSIGNED_BYTE, true, false));
SetupTextureFormat( PF_DXT5, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT, GL_RGBA, GL_UNSIGNED_BYTE, true, false));
}
#if PLATFORM_ANDROID
if ( FOpenGL::SupportsETC2() )
{
SetupTextureFormat( PF_ETC2_RGB, FOpenGLTextureFormat(GL_COMPRESSED_RGB8_ETC2, GL_COMPRESSED_SRGB8_ETC2, GL_RGBA, GL_UNSIGNED_BYTE, true, false));
SetupTextureFormat( PF_ETC2_RGBA, FOpenGLTextureFormat(GL_COMPRESSED_RGBA8_ETC2_EAC, GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, GL_RGBA, GL_UNSIGNED_BYTE, true, false));
SetupTextureFormat( PF_ETC2_R11_EAC, FOpenGLTextureFormat(GL_COMPRESSED_R11_EAC, GL_COMPRESSED_R11_EAC, GL_RED, GL_UNSIGNED_BYTE, true, false));
SetupTextureFormat( PF_ETC2_RG11_EAC, FOpenGLTextureFormat(GL_COMPRESSED_RG11_EAC, GL_COMPRESSED_RG11_EAC, GL_RG, GL_UNSIGNED_BYTE, true, false));
}
#endif
if (FOpenGL::SupportsASTC())
{
SetupTextureFormat( PF_ASTC_4x4, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, GL_RGBA, GL_UNSIGNED_BYTE, true, false) );
SetupTextureFormat( PF_ASTC_6x6, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_6x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, GL_RGBA, GL_UNSIGNED_BYTE, true, false) );
SetupTextureFormat( PF_ASTC_8x8, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_8x8_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, GL_RGBA, GL_UNSIGNED_BYTE, true, false) );
SetupTextureFormat( PF_ASTC_10x10, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_10x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, GL_RGBA, GL_UNSIGNED_BYTE, true, false) );
SetupTextureFormat( PF_ASTC_12x12, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_12x12_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, GL_RGBA, GL_UNSIGNED_BYTE, true, false) );
}
if (FOpenGL::SupportsASTCHDR())
{
SetupTextureFormat(PF_ASTC_4x4_HDR, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, GL_RGBA, GL_HALF_FLOAT, true, false));
SetupTextureFormat(PF_ASTC_6x6_HDR, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_6x6_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, GL_RGBA, GL_HALF_FLOAT, true, false));
SetupTextureFormat(PF_ASTC_8x8_HDR, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_8x8_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, GL_RGBA, GL_HALF_FLOAT, true, false));
SetupTextureFormat(PF_ASTC_10x10_HDR, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_10x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, GL_RGBA, GL_HALF_FLOAT, true, false));
SetupTextureFormat(PF_ASTC_12x12_HDR, FOpenGLTextureFormat(GL_COMPRESSED_RGBA_ASTC_12x12_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, GL_RGBA, GL_HALF_FLOAT, true, false));
}
// Some formats need to know how large a block is.
GPixelFormats[ PF_DepthStencil ].BlockBytes = 4;
GPixelFormats[ PF_FloatRGB ].BlockBytes = 4;
GPixelFormats[ PF_FloatRGBA ].BlockBytes = 8;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
// Temporary fix for nvidia driver issue with non-power-of-two shadowmaps (9/8/2016) UE-35312
// @TODO revisit this with newer drivers
GRHINeedsUnatlasedCSMDepthsWorkaround = true;
GRHISupportsPipelineFileCache = true;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3072947 on 2016/08/01 by Uriel.Doyon Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture. #review-3072934 @marcus.wassmer #jira UE-34045 Change 3073301 on 2016/08/02 by Ben.Woodhouse Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html #jira UE-34052 Change 3073689 on 2016/08/02 by Ben.Woodhouse Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma) Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti). Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha) Tested/profiled on PC, PS4 Change 3074666 on 2016/08/02 by Daniel.Wright Fixed stationary skylight brightness Change 3074667 on 2016/08/02 by Daniel.Wright Fixed r.ReflectionEnvironmentLightmapMixing Change 3074687 on 2016/08/02 by Daniel.Wright Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor. Change 3075241 on 2016/08/03 by Rolando.Caloca DR - Fix linux compile issue & static analysis warning Change 3075746 on 2016/08/03 by Daniel.Wright Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod Change 3075783 on 2016/08/03 by Ryan.Brucks #code.review Marcus.Wassmer Added two material nodes that return Atmospheric Light Vector and Light Direction using: View.AtmosphericFogSunColor View.AtmosphericFogSunDirection Nodes are called: AtmosphericLightVector AtmosphericLightColor Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene. Change 3075969 on 2016/08/03 by Uriel.Doyon Material GUIDs are not updated anymore when parents or textures change. Lighting now uses a hash built from the list of parents, textures and shader functions. #review-3072980 @marcus.wassmer @daniel.wright Change 3076116 on 2016/08/03 by Ryan.Brucks #code.review marcus.wassmer Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color" Change 3076456 on 2016/08/03 by Rolando.Caloca DR - Fix geometry shader gl_Layer for SPIR-V Change 3076730 on 2016/08/03 by Uriel.Doyon Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave. #review-3072984 @marcus.wassmer Change 3077616 on 2016/08/04 by Daniel.Wright Planar reflection show flags can now be edited Change 3077621 on 2016/08/04 by Daniel.Wright Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting Change 3077792 on 2016/08/04 by Daniel.Wright Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight Change 3077799 on 2016/08/04 by Daniel.Wright Skip RF_ArchetypeObject for reflection captures Change 3077876 on 2016/08/04 by Marc.Olano Noise material perf improvements Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3. Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above) Change 3077884 on 2016/08/04 by Daniel.Wright Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them Change 3078994 on 2016/08/05 by Simon.Tovey Fix for UE-34241 Scene proxy ptr was being cached during a downcast. Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale. I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit. Change 3079162 on 2016/08/05 by Ben.Woodhouse Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings. #jira UE-34091 Change 3079613 on 2016/08/05 by Daniel.Wright New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly New blueprint function CreateRenderTarget2D Change 3079708 on 2016/08/05 by Uriel.Doyon Fixed crash when building texture streaming on some levels. Change 3079795 on 2016/08/05 by Uriel.Doyon Fixed issue with instanced static meshes when building texture streaming. Fixed typo with func "GetNumTextureStreamingPrimitives" Change 3079806 on 2016/08/05 by Uriel.Doyon Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution. New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM (according to GPoolSizeVRAMPercentage) #review-3074662 @marcus.wassmer Change 3082698 on 2016/08/09 by Daniel.Wright Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script Change 3082699 on 2016/08/09 by Daniel.Wright Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for Change 3083909 on 2016/08/10 by Olaf.Piesche #jira UE-34106 #jira UE-32784 #jira UE-31198 Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty) Change 3084645 on 2016/08/10 by Olaf.Piesche #jira UE-30398 Fix offset added to particle collision locations. Change 3084709 on 2016/08/10 by Daniel.Wright Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene() Change 3084783 on 2016/08/10 by Rolando.Caloca DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows #jira UE-34510 Change 3084958 on 2016/08/10 by Daniel.Wright Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards Change 3086023 on 2016/08/11 by Marcus.Wassmer Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering) #test none Change 3086778 on 2016/08/11 by Ben.Woodhouse Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly #jira UE-34561 Change 3087404 on 2016/08/12 by Rolando.Caloca DR - Upgrade glslang to 1.0.21.1 - Added some more debug output Change 3087524 on 2016/08/12 by Rolando.Caloca DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data) Change 3087663 on 2016/08/12 by Rolando.Caloca DR - vk - Fix for SRGB; support for mip texture views Change 3087735 on 2016/08/12 by Daniel.Wright TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog. Change 3087750 on 2016/08/12 by Rolando.Caloca DR - vk - Minor renaming in prep for merge Change 3087813 on 2016/08/12 by Rolando.Caloca DR - vk - More minor cleanup Change 3087819 on 2016/08/12 by Chris.Bunner Check material function input types directly, no need to traverse connected graph. #jira UE-32134 Change 3087901 on 2016/08/12 by Rolando.Caloca DR - vk - Fix RT view to use 1 mip Fix depth buffer component swizzle Change 3088193 on 2016/08/12 by Daniel.Wright DFAO and RTDF shadows are enabled in High and Epic scalability settings by default Change 3088988 on 2016/08/15 by Rolando.Caloca DR - Add Accessors Change 3089104 on 2016/08/15 by Olaf.Piesche #jira UE-34241 Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated Change 3089208 on 2016/08/15 by Daniel.Wright Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes * Fixes WorldPosition in downsampled translucency * View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency. * Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res Change 3089209 on 2016/08/15 by Daniel.Wright Fixed atmospheric fog on translucency Change 3089457 on 2016/08/15 by Daniel.Wright Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first. Change 3089549 on 2016/08/15 by Daniel.Wright UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds Change 3089703 on 2016/08/15 by Daniel.Wright Custom expression fixup for View.RenderTargetSize Change 3090546 on 2016/08/16 by Daniel.Wright Hopeful fix for recycled snapshot view crash Change 3091202 on 2016/08/16 by Daniel.Wright Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view [CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
FDynamicRHI* FOpenGLDynamicRHIModule::CreateRHI(ERHIFeatureLevel::Type InRequestedFeatureLevel)
{
GRequestedFeatureLevel = InRequestedFeatureLevel;
return new FOpenGLDynamicRHI();
}
FOpenGLDynamicRHI::FOpenGLDynamicRHI()
: SceneFrameCounter(0)
, ResourceTableFrameCounter(INDEX_NONE)
, bRevertToSharedContextAfterDrawingViewport(false)
, bIsRenderingContextAcquired(false)
, BeginSceneContextType(CONTEXT_Other)
, PlatformDevice(NULL)
, GPUProfilingData(this)
{
check(Singleton == nullptr);
Singleton = this;
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
// This should be called once at the start
check( IsInGameThread() );
check( !GIsThreadedRendering );
#if PLATFORM_ANDROID
GRHINeedsExtraDeletionLatency = CVarGLExtraDeletionLatency.GetValueOnAnyThread() == 1;
#endif
// Ogl must have all programs created on the context owning thread.
// when GRHISupportsAsyncPipelinePrecompile is true pipelinefilecache will call RHICreateGraphicsPipelineState from any thread and
// RHISetGraphicsPipelineState will not be called for precompiled programs.
GRHISupportsAsyncPipelinePrecompile = false;
PlatformInitOpenGL();
PlatformDevice = PlatformCreateOpenGLDevice();
VERIFY_GL_SCOPE();
InitRHICapabilitiesForGL();
check(PlatformOpenGLCurrentContext(PlatformDevice) == CONTEXT_Shared);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
if (PlatformCanEnableGPUCapture())
{
EnableIdealGPUCaptureOptions(true);
// Disable persistent mapping
{
auto* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("OpenGL.UBODirectWrite"));
if (CVar)
{
CVar->Set(false);
}
}
{
auto* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("OpenGL.UseStagingBuffer"));
if (CVar)
{
CVar->Set(false);
}
}
}
{
// Temp disable gpusorting for Opengl because of issues on Adreno and Mali devices
auto* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("FX.AllowGPUSorting"));
if (CVar)
{
#if PLATFORM_ANDROID
if(!AndroidThunkCpp_IsOculusMobileApplication())
#endif
{
CVar->Set(false);
}
}
}
PrivateOpenGLDevicePtr = this;
GlobalUniformBuffers.AddZeroed(FUniformBufferStaticSlotRegistry::Get().GetSlotCount());
}
extern void DestroyShadersAndPrograms();
#if PLATFORM_ANDROID
extern bool GOpenGLShaderHackLastCompileSuccess;
// only used to test for shader compatibility issues
static bool VerifyCompiledShader(GLuint Shader, const ANSICHAR* GlslCode, bool IsFatal)
{
SCOPE_CYCLE_COUNTER(STAT_OpenGLShaderCompileVerifyTime);
if (!GOpenGLShaderHackLastCompileSuccess)
{
#if DEBUG_GL_SHADERS
if (GlslCode)
{
UE_LOG(LogRHI, Warning, TEXT("Shader:\n%s"), ANSI_TO_TCHAR(GlslCode));
const ANSICHAR *Temp = GlslCode;
for (int i = 0; i < 30 && (*Temp != '\0'); ++i)
{
FString Converted = ANSI_TO_TCHAR(Temp);
Converted = Converted.LeftChop(256);
UE_LOG(LogRHI, Display, TEXT("%s"), *Converted);
Temp += Converted.Len();
}
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
}
#endif
UE_LOG(LogRHI, Warning, TEXT("Failed to compile shader."));
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
return false;
}
return true;
}
#endif
void FOpenGLDynamicRHI::Init()
{
check(!GIsRHIInitialized);
VERIFY_GL_SCOPE();
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3207682) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3202313 on 2016/11/17 by Brian.Zaugg #ocn - Fix portrait and customizer lighting on iOS. - Converted the key light from directional to point. - Turn post processing back on. - Fixed an engine bug. Change 3197000 on 2016/11/14 by Brian.Zaugg Fixed a tool tip typo. Change 3195359 on 2016/11/11 by James.Brinkerhoff Hotfix from CL 3192058 for UE-37121 - UMG Widget Hierarchy will now no longer autoexpand when moving or renaming widgets in the hierarchy view Change 3187821 on 2016/11/04 by Geremy.Mustard Fixed Parse1ToNSectionOfStrings, which wasn't correctly handling merged ini files. It now matches the start of the KeyOne and KeyN strings, so you can add numbers to the end of your keys to maintain proper order. Example: [SectionToParse] .Map1=MapA .Package1=Pak1 .Map2=MapB .Package2=Pak2 .Map3=MapC .Package3=Pak1 .Package3=Pak2 .Package3=Pak3 GConfig->Parse1ToNSectionOfStrings(TEXT("SectionToParse"), TEXT("Map"), TEXT("Package"), OutputStrings, GGameIni); Change 3178358 on 2016/10/28 by James.Brinkerhoff Hotfix from CL 3178267 for UE-37946 - Sound notify does not play in Persona if Follow is enabled Change 3174220 on 2016/10/25 by Brian.Zaugg Fix for TextureRenderTarget2D link errors. Change 3174064 on 2016/10/25 by Brian.Zaugg TextureRenderTarget2D max size. Change 3174050 on 2016/10/25 by James.Brinkerhoff Hotfix from CL 3132846 for UE-35907: Slate Remote Enable Remove Server option in Project Settings -> Plugins causes editor to freeze and a memory leak Change 3166783 on 2016/10/18 by Brian.Zaugg #ocn - Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3166751 on 2016/10/18 by Brian.Zaugg Back out changelist 3166743 Change 3166743 on 2016/10/18 by Brian.Zaugg Hotfix from CL 3166734 for shader memory and load time reduction on mobile. Removes the HDR_LINEAR_32 output format. Reduce our shader memory footprint from 83 MB to 60 MB and cuts shader load time from 20s to 15s. Change 3163792 on 2016/10/14 by James.Brinkerhoff Hotfix from CL 3162988 for UE-37313 Create Mesh Socket is missing Change 3162582 on 2016/10/13 by Casey.Spencer Changed Flurry version back to 6.7.0 to fix cook errors Change 3161957 on 2016/10/13 by Casey.Spencer #ocn #jira Ocn-5314 Updated our analytics solution to implement both AnalyticsET and Flurry seperately rather than use multicast Change 3161761 on 2016/10/13 by James.Brinkerhoff Hotfix from CL 3159904 for UE-37112 - PIE loses focus while toggling Play / Pause Change 3158496 on 2016/10/11 by Brian.Zaugg Fix for Metal frame capture and xcode fps display on iOS. Set GMetalCommandQueueSize to 0 for iOS. Change 3154101 on 2016/10/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (hotfix from 3143791 for ios compile failures on Xcode 8) Change 3147743 on 2016/09/30 by Brian.Zaugg #ocn - Merged in a fix from dev-platform for a crash on iOS in scene capture rendering. Merging //UE4/Dev-Platform/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp to //Ocean/Main/Engine/Source/Runtime/Renderer/Private/SceneCaptureRendering.cpp Change 3147169 on 2016/09/30 by Brian.Zaugg #ocn - Merging CL#3131515 from wex to get scroll speed control over UI widgets. //WEX/Main/... to //Ocean/Main/... Change 3145971 on 2016/09/29 by James.Brinkerhoff Hotfix from CL 3135993 for UE-36276 - PIE does not Resume normally when Toggle Play / Pause is bound to a key Change 3142158 on 2016/09/27 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main (Source: //UE4/Main @ CL 3141459) [CL 3216539 by James Brinkerhoff in Main branch]
2016-12-01 00:20:05 -05:00
GRHISupportsMultithreadedShaderCreation = false;
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3010693) #lockdown nick.penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2958982 on 2016/04/28 by Dmitriy.Dyomin Set owner name for RHI texture, for easier debugging Change 2976446 on 2016/05/12 by Niklas.Smedberg Fixed Device Profile CVars so they work even if a DLL with the cvar definition is loaded afterwards. (And they now also go through the common code path for CVars.) Change 2983781 on 2016/05/19 by Steve.Cano Check in PlayUsingLauncher if the device we're launching to is authorized by the computer. Could not get to this information about Devices so added an IsAuthorized interface to ITargetDevice that is overriden in the AndroidTargetDevice. Also make sure to referesh the authorized state as needed for Android device detection. Finally, changed the name of the authorized variable to be more readable (true == authorized instead of true == unauthorized) #jira UE-21121 #ue4 #android Change 2994202 on 2016/05/31 by Allan.Bentham Prevent clear transulcency volume null deref crash. Change test for allocated deferred render targets by testing against an exclusively deferred target (instead of potentially shared shadow depth surface) probable fix for UE-22073 Change 2995613 on 2016/05/31 by Dmitriy.Dyomin Added: Option to force full precision in a material UEMOB-109 Change 2997960 on 2016/06/02 by Gareth.Martin Refactored Landscape serialization to allow cooking both the data used for normal rendering and mobile rendering into the same package #jira UE-31474 Change 2997988 on 2016/06/02 by Gareth.Martin Files missing from CL 2997960 #jira UE-31474 Change 2999222 on 2016/06/03 by Jack.Porter Fix up ETargetPlatformFeatures::ForwardRendering and ETargetPlatformFeatures::DeferredRendering for iOS to support the Metal MRT deferred renderer Change 2999229 on 2016/06/03 by Jack.Porter Rename ETargetPlatformFeatures::ForwardRendering to TargetPlatformFeatures::MobileRendering Change 3003540 on 2016/06/07 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3003779 on 2016/06/07 by Dmitriy.Dyomin Fixed: Criss-crossed sublevels cause NavMesh errors #jira UE-27157 Change 3004535 on 2016/06/07 by Steve.Cano Adding the OnControllerConnectionChange delegate message when a controller is connected on Android. Also added additional future broadcast statement when disconnect support is added for Android. #jira UE-25697 #ue4 #android Change 3005205 on 2016/06/07 by Niklas.Smedberg Bumped ASTC format version to invalidate bad server DDC Change 3005347 on 2016/06/08 by Dmitriy.Dyomin Added a way to cache OpenGL program binaries on the disk. Disabled by default. Can be enabled only on Android platform (r.UseProgramBinaryCache=1) #jira UEMOB-108 Change 3005524 on 2016/06/08 by Dmitriy.Dyomin Fixed iOS build broken by CL# 3005347 Change 3005528 on 2016/06/08 by Jack.Porter Changed hardcoded checkboxes from quality level overrides dialog to use the general property details code. Now magically supports any uproperty types such as enums or integers added to FMaterialQualityOverrides. Change 3005607 on 2016/06/08 by Dmitriy.Dyomin Fixed: Occasional crash on using Launch on Android device when device is being disconnected Change 3006705 on 2016/06/08 by Chris.Babcock Fix virtual joystick to return -1 to 1 ranges for thumbsticks #jira UE-31799 #ue4 #android #ios Change 3006960 on 2016/06/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3007050 on 2016/06/09 by Jack.Porter FAutomationWorkerModule::ReportTestComplete() needs to send analytics first as the message endpoint will free the memory resulting in a crash Change 3007129 on 2016/06/09 by Dmitriy.Dyomin Fixed: Black edges seen on flames in Sun Temple #jira UE-31712 Change 3010686 on 2016/06/13 by Dmitriy.Dyomin Fixed: Android Monolithic warnings for glGetProgramBinaryOES and glProgramBinaryOES #jira UE-31933 [CL 3011074 by Jack Porter in Main branch]
2016-06-13 12:20:22 -04:00
FOpenGLProgramBinaryCache::Initialize();
RegisterSharedShaderCodeDelegates();
InitializeStateResources();
// Create a default point sampler state for internal use.
FSamplerStateInitializerRHI PointSamplerStateParams(SF_Point,AM_Clamp,AM_Clamp,AM_Clamp);
PointSamplerState = this->RHICreateSamplerState(PointSamplerStateParams);
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
#if PLATFORM_WINDOWS || PLATFORM_LINUX
extern int64 GOpenGLDedicatedVideoMemory;
extern int64 GOpenGLTotalGraphicsMemory;
GOpenGLDedicatedVideoMemory = FOpenGL::GetVideoMemorySize();
if ( GOpenGLDedicatedVideoMemory != 0)
{
GOpenGLTotalGraphicsMemory = GOpenGLDedicatedVideoMemory;
if ( GPoolSizeVRAMPercentage > 0 )
{
float PoolSize = float(GPoolSizeVRAMPercentage) * 0.01f * float(GOpenGLTotalGraphicsMemory);
// Truncate GTexturePoolSize to MB (but still counted in bytes)
GTexturePoolSize = int64(FGenericPlatformMath::TruncToInt(PoolSize / 1024.0f / 1024.0f)) * 1024 * 1024;
UE_LOG(LogRHI, Log, TEXT("Texture pool is %llu MB (%d%% of %llu MB)"),
GTexturePoolSize / 1024 / 1024,
GPoolSizeVRAMPercentage,
GOpenGLTotalGraphicsMemory / 1024 / 1024);
}
}
#else
static const auto CVarStreamingTexturePoolSize = IConsoleManager::Get().FindTConsoleVariableDataInt(TEXT("r.Streaming.PoolSize"));
GTexturePoolSize = (int64)CVarStreamingTexturePoolSize->GetValueOnAnyThread() * 1024 * 1024;
UE_LOG(LogRHI,Log,TEXT("Texture pool is %llu MB (of %llu MB total graphics mem)"),
GTexturePoolSize / 1024 / 1024,
FOpenGL::GetVideoMemorySize());
#endif
// Flush here since we might be switching to a different context/thread for rendering
FOpenGL::Flush();
FHardwareInfo::RegisterHardwareInfo( NAME_RHI, TEXT( "OpenGL" ) );
// Command lists need the validation RHI context if enabled, so call the global scope version of RHIGetDefaultContext() and RHIGetDefaultAsyncComputeContext().
GRHICommandList.GetImmediateCommandList().SetContext(::RHIGetDefaultContext());
GRHICommandList.GetImmediateAsyncComputeCommandList().SetComputeContext(::RHIGetDefaultAsyncComputeContext());
FRenderResource::InitPreRHIResources();
GIsRHIInitialized = true;
}
void FOpenGLDynamicRHI::PostInit()
{
if (GRHISupportsRHIThread)
{
SetupRecursiveResources();
}
}
void FOpenGLDynamicRHI::Shutdown()
{
check(IsInGameThread() && IsInRenderingThread()); // require that the render thread has been shut down
Cleanup();
DestroyShadersAndPrograms();
PlatformDestroyOpenGLDevice(PlatformDevice);
UnregisterSharedShaderCodeDelegates();
PrivateOpenGLDevicePtr = NULL;
}
void FOpenGLDynamicRHI::Cleanup()
{
if(GIsRHIInitialized)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3010693) #lockdown nick.penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2958982 on 2016/04/28 by Dmitriy.Dyomin Set owner name for RHI texture, for easier debugging Change 2976446 on 2016/05/12 by Niklas.Smedberg Fixed Device Profile CVars so they work even if a DLL with the cvar definition is loaded afterwards. (And they now also go through the common code path for CVars.) Change 2983781 on 2016/05/19 by Steve.Cano Check in PlayUsingLauncher if the device we're launching to is authorized by the computer. Could not get to this information about Devices so added an IsAuthorized interface to ITargetDevice that is overriden in the AndroidTargetDevice. Also make sure to referesh the authorized state as needed for Android device detection. Finally, changed the name of the authorized variable to be more readable (true == authorized instead of true == unauthorized) #jira UE-21121 #ue4 #android Change 2994202 on 2016/05/31 by Allan.Bentham Prevent clear transulcency volume null deref crash. Change test for allocated deferred render targets by testing against an exclusively deferred target (instead of potentially shared shadow depth surface) probable fix for UE-22073 Change 2995613 on 2016/05/31 by Dmitriy.Dyomin Added: Option to force full precision in a material UEMOB-109 Change 2997960 on 2016/06/02 by Gareth.Martin Refactored Landscape serialization to allow cooking both the data used for normal rendering and mobile rendering into the same package #jira UE-31474 Change 2997988 on 2016/06/02 by Gareth.Martin Files missing from CL 2997960 #jira UE-31474 Change 2999222 on 2016/06/03 by Jack.Porter Fix up ETargetPlatformFeatures::ForwardRendering and ETargetPlatformFeatures::DeferredRendering for iOS to support the Metal MRT deferred renderer Change 2999229 on 2016/06/03 by Jack.Porter Rename ETargetPlatformFeatures::ForwardRendering to TargetPlatformFeatures::MobileRendering Change 3003540 on 2016/06/07 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3003779 on 2016/06/07 by Dmitriy.Dyomin Fixed: Criss-crossed sublevels cause NavMesh errors #jira UE-27157 Change 3004535 on 2016/06/07 by Steve.Cano Adding the OnControllerConnectionChange delegate message when a controller is connected on Android. Also added additional future broadcast statement when disconnect support is added for Android. #jira UE-25697 #ue4 #android Change 3005205 on 2016/06/07 by Niklas.Smedberg Bumped ASTC format version to invalidate bad server DDC Change 3005347 on 2016/06/08 by Dmitriy.Dyomin Added a way to cache OpenGL program binaries on the disk. Disabled by default. Can be enabled only on Android platform (r.UseProgramBinaryCache=1) #jira UEMOB-108 Change 3005524 on 2016/06/08 by Dmitriy.Dyomin Fixed iOS build broken by CL# 3005347 Change 3005528 on 2016/06/08 by Jack.Porter Changed hardcoded checkboxes from quality level overrides dialog to use the general property details code. Now magically supports any uproperty types such as enums or integers added to FMaterialQualityOverrides. Change 3005607 on 2016/06/08 by Dmitriy.Dyomin Fixed: Occasional crash on using Launch on Android device when device is being disconnected Change 3006705 on 2016/06/08 by Chris.Babcock Fix virtual joystick to return -1 to 1 ranges for thumbsticks #jira UE-31799 #ue4 #android #ios Change 3006960 on 2016/06/08 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3007050 on 2016/06/09 by Jack.Porter FAutomationWorkerModule::ReportTestComplete() needs to send analytics first as the message endpoint will free the memory resulting in a crash Change 3007129 on 2016/06/09 by Dmitriy.Dyomin Fixed: Black edges seen on flames in Sun Temple #jira UE-31712 Change 3010686 on 2016/06/13 by Dmitriy.Dyomin Fixed: Android Monolithic warnings for glGetProgramBinaryOES and glProgramBinaryOES #jira UE-31933 [CL 3011074 by Jack Porter in Main branch]
2016-06-13 12:20:22 -04:00
FOpenGLProgramBinaryCache::Shutdown();
// Reset the RHI initialized flag.
GIsRHIInitialized = false;
GPUProfilingData.Cleanup();
// Ask all initialized FRenderResources to release their RHI resources.
FRenderResource::ReleaseRHIForAllResources();
}
// Release the point sampler state.
PointSamplerState.SafeRelease();
extern void EmptyGLSamplerStateCache();
EmptyGLSamplerStateCache();
// Release zero-filled dummy uniform buffer, if it exists.
if (PendingState.ZeroFilledDummyUniformBuffer)
{
FOpenGL::DeleteBuffers(1, &PendingState.ZeroFilledDummyUniformBuffer);
PendingState.ZeroFilledDummyUniformBuffer = 0;
DecrementBufferMemory(GL_UNIFORM_BUFFER, ZERO_FILLED_DUMMY_UNIFORM_BUFFER_SIZE);
}
// Release pending shader
PendingState.BoundShaderState.SafeRelease();
check(!IsValidRef(PendingState.BoundShaderState));
VERIFY_GL_SCOPE();
PendingState.CleanupResources();
SharedContextState.CleanupResources();
RenderingContextState.CleanupResources();
}
void FOpenGLDynamicRHI::RHIFlushResources()
{
PlatformFlushIfNeeded();
}
void FOpenGLDynamicRHI::RHIAcquireThreadOwnership()
{
check(!bRevertToSharedContextAfterDrawingViewport); // if this is true, then main thread is rendering using our context right now.
PlatformRenderingContextSetup(PlatformDevice);
PlatformRebindResources(PlatformDevice);
bIsRenderingContextAcquired = true;
VERIFY_GL(RHIAcquireThreadOwnership);
{
FScopeLock lock(&CustomPresentSection);
if (CustomPresent)
{
CustomPresent->OnAcquireThreadOwnership();
}
}
}
void FOpenGLDynamicRHI::RHIReleaseThreadOwnership()
{
{
FScopeLock lock(&CustomPresentSection);
if (CustomPresent)
{
CustomPresent->OnReleaseThreadOwnership();
}
}
VERIFY_GL(RHIReleaseThreadOwnership);
bIsRenderingContextAcquired = false;
PlatformNULLContextSetup();
}
void FOpenGLDynamicRHI::RegisterQuery( FOpenGLRenderQuery* Query )
{
FScopeLock Lock(&QueriesListCriticalSection);
Queries.Add(Query);
}
void FOpenGLDynamicRHI::UnregisterQuery( FOpenGLRenderQuery* Query )
{
FScopeLock Lock(&QueriesListCriticalSection);
Queries.RemoveSingleSwap(Query);
}
void* FOpenGLDynamicRHI::RHIGetNativeDevice()
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3873313 by Nick.Atamas Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... Change 3873330 by Nick.Atamas Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3777058 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... and fixing up QAARApp to work with latest ARCore changes. Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3933769 by Keli.Hlodversson Remove unused IStereoRendering::GetCustomPresent #jira UEVR-1083 Change 3935219 by Nick.Atamas QAARApp re-write. Change 3935664 by Mike.Beach Oculus SI 1.23 changes Change 3941505 by Joe.Graf Made the send & recv buffer sizes for the BackChannel plugin configurable Added send & recv counters for tracking the amount of transmission data Change 3944003 by Joe.Graf Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac Change 3945189 by Douglas.Copeland Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings Change 3945245 by Douglas.Copeland Resaving QA_MeshTypes asset to resolve warnings produced by missing info Change 3945266 by Douglas.Copeland Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings Change 3947785 by Mike.Beach Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc. Change 3951763 by Joe.Graf Fixed thread ordering bug with remote session frame compression Change 3952242 by Joe.Graf Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle Change 3954571 by Keli.Hlodversson * Add FXRRenderBridge base class containing common code from different CustomPresent implementations. * Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread. ** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.) * Remove unused member variable ViewportRHI from RHICustomPresent. #jira UEVR-1081 Change 3954572 by Keli.Hlodversson * Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin * Move duplicated methods into an already existing BridgeBaseImpl class #jira UEVR-592 Change 3954573 by Keli.Hlodversson * Apply XRRenderBridge refactor to Oculus plugin #jira UEVR-590 Change 3954575 by Keli.Hlodversson * Apply XRRenderBridge refactor to OSVR #jira UEVR-595 Change 3954578 by Keli.Hlodversson * Apply XRRenderBridge refactor to GoogleVR #jira UEVR-594 Change 3954596 by Keli.Hlodversson Add file missing from cl#3954572 Change 3957882 by Jeff.Fisher UEVR-1100 bLockToHmd false doesn't work correctly -CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera. #jira UEVR-1100 #review-3956168 Change 3957945 by Jeff.Fisher Fix for Oculus begin/end frame problem after XRRenderBridge refactor. -The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime. #review-3957897 Change 3958760 by Dongsik.Seo Adding UseCameraRotation feature to StereoPanorama plug-in. To enable this feature, use console command SP.UseCameraRotation 7 Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll 7 means all axis (1+2+4) #review-3958756 @Joe.Conley Change 3959347 by Douglas.Copeland Fixing spelling errors in test displays Change 3964331 by Jason.Bestimt Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046 GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix: Fixed the crash in Acquire/Release UGoogleARCorePointCloud. Fixed the issue that multiple line trace channel doesn't work correctly. Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1 Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space. Change 3967485 by Ryan.Vance Removed the exlude rect, we want to clear stencil on the entire surface. Change 3968028 by Zak.Parrish Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19. Change 3968114 by Zak.Parrish Adding in the new version of FaceARSample from Release-4.19 #rb none Change 3978381 by Mike.Beach Mirroring CL 3969503 from 4.19 Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread). #jira UE-55445 Change 3981160 by Joe.Graf Merged the BackChannel unit test fix over from Owl Change 3981705 by Mike.Beach [WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor). #jira UE-55220 Change 3981898 by Joe.Graf Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF Added a Blueprint latent action to perform the conversion in the background Change 3981910 by Joe.Graf WIP AR texture support so that other systems can interact with the camera data Change 3982102 by Joe.Graf Pull request: Update CMakefileGenerator.cs for CLion Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions #jira: UE-57103 GitHub #4619 Change 3982883 by Joe.Graf Added a CLionGenerator for consistency Fixed editor preferred source code accessor parsing in the project file generator Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor #jira UE-54801 Change 3983687 by Joe.Graf Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error Change 3984325 by Jeff.Fisher UEVR-1141 PSVR - fix morpheus on pc render target scaling -Hard coding the target size. Perhaps the old method broke with the pixel density change. #review-3983261 Change 3984563 by Joe.Graf Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3 Change 3985213 by Zak.Parrish Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none Change 3985577 by Joe.Graf WIP support for the Apple Vision API to perform computer vision tasks on images Change 3985654 by Joe.Graf Fixed missing forward declaration hidden by unity files Change 3990596 by Mike.Beach Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space. #jira UE-55220 Change 3990788 by Mike.Beach Attempted CIS fix (fallout from CL 3990596) Change 3990824 by Ryan.Vance Re-submitting 4.19.1 hotfox 3968537 Change 3995804 by Jeff.Fisher Merging cl 3995785 //UE4/Dev-VR-Seal/Engine/Source/... to //UE4/Dev-VR/Engine/Source/... UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior -Fixing late update when no camera component is in use. -The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame. #review-3995764 Change 3999842 by Nick.Whiting Exposing Apple ARKit function library as public for our buddies down under. Change 4005541 by Joe.Graf UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1 #jira UE-57541 Change 4006308 by Jason.Bestimt #DEV_VR - Hopeful fix for possible unity issue Change 4006543 by Joe.Graf Added code to be more correct on setting face blendshapes Change 4007508 by Jason.Bestimt #LUMIN - Adjusting automation tests. - Moved QA specific content test into QA Game - Wrapped controller not found to only happen on device Change 4007515 by Jason.Bestimt #LUMIN - Disabling privilege warning except on device Change 4007552 by Jason.Bestimt #LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE Change 4008585 by Joe.Graf Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink #jira: UE-57830 Change 4008604 by Mike.Beach MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material). #jira UEVR-1153 Change 4009396 by Jason.Bestimt #DEV-VR - Removing warning about stat on different threads (CL 4009124) Change 4009514 by Joe.Graf Added a weighted moving average method to the modify curve anim node Change 4010125 by Jason.Bestimt #DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR Change 4010434 by Jason.Bestimt #DEV-VR - Fix for Lumin Haptic Test include Change 4010945 by Jeff.Fisher QAHapticTests build fix -removed unused bad include Change 4011002 by Nick.Atamas Fixed Android compilation. Change 4011220 by Nick.Atamas - Adding visualization for boundary polygons. - Adding support for vertical planes. Change 4011298 by Mike.Beach MR - Revamping the VideoProcessing/ChromaKeying material so that it: 1) Better extracts luminance from the image 2) Utilizes despill to remove chroma bleed from the scene 3) Leverages the generated despill mask to add back in a faux bounce #jira UEVR-1153 Change 4011858 by Keli.Hlodversson Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.) -- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed. #jira UE-57380 Change 4011956 by Keli.Hlodversson Fix missing includes after CL#4011858 Change 4012096 by Joe.Graf Disabled building AppleVision on Mac until there's a good solution for older Mac OSes Change 4012294 by Jason.Bestimt #DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found Change 4012390 by Jason.Bestimt #DEV-VR - Misc fixes for static code analysis issues - Guards around GEngine usage - Fix from Rolando for uint32 -> uint64 + shifting warning - Redundant if checks Change 4013426 by Jason.Bestimt #DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit #JIRA: UE-57960 Change 4014661 by Ryan.Vance Initial support for omni-directional stereo captures. https://developers.google.com/vr/jump/rendering-ods-content.pdf Change 4015561 by Jason.Bestimt #DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue Change 4016202 by Jason.Bestimt #DEV-VR - Integrated CL 2685 from Seal depot #JIRA: UEVR-1157 Change 4016448 by Jason.Bestimt #DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK Change 4016457 by Ryan.Vance #jira UE-58018 Cleaning up compiler errors/warnings. Change 4017246 by Jason.Bestimt #DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread #JIRA: UE-58043 Change 4018571 by Joe.Graf Added a remapping of curve values in a range to the modify curve anim node Change 4018991 by Joe.Graf Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on #jira: UE-57999 Change 4019068 by Joe.Graf Changed how Apple Vision support is enabled in code #jira: UE-57552 Change 4019194 by Joe.Graf Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1" Change 4019648 by Keli.Hlodversson Work around build failures caused by missing virtual destructor warnings. Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.) Change 4019871 by Joe.Graf Changed the __IPHONE_11_3 to the raw numeric value Change 4020121 by Keli.Hlodversson Fix parameter types to match header declarations. Change 4020127 by Keli.Hlodversson Remove dllimport/export macros from cpp file. Change 4020621 by Joe.Graf Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check Change 4020910 by Joe.Graf Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version Change 4020952 by Joe.Graf Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit Change 4021116 by Jason.Bestimt #DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform Change 4021320 by Joe.Graf Fixed warnings resulting from unity builds hiding them Change 4021738 by Chad.Garyet - adding lumin filters - changing defaults for platforms back to true, this was brought over erroneously. #jira none #ROBOMERGE: Dogma, Nightlies Change 4021898 by Chad.Garyet added missing bits from the ue4main script #jira none #ROBOMERGE: Dogma, Nightlies Change 4022583 by Joe.Graf Added functions for checking ARKit version availability at runtime Change 4022610 by Joe.Graf Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes Change 4022616 by Joe.Graf Added support for enabling the ARKit 1.5 autofocus setting Change 4022650 by Joe.Graf Defaulted autofocus for AR to on Change 4023026 by Joe.Graf Changed the ARKit video overlay to use the new availability api Change 4023124 by Joe.Graf Switched another version check in the ARKit overlay code to use the faster version Change 4023489 by Ethan.Geller [Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt Change 4023995 by Nick.Atamas Properly deprecated the bitfield for plane detection mode. #jira UE-57842 Change 4024992 by Jason.Bestimt #DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin Change 4025702 by Jason.Bestimt #DEV-VR - Fix for loading ML libraries even when the MLSDK is not present #JIRA: UE-58033 Change 4026639 by Mike.Beach Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset. #jira UE-58001 Change 4026949 by Mike.Beach MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component... - Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly) - Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion - Adding CVar commands to enable/disable pieces of the undistortion - Changing the default undistortion cropping to be uncropped - Removing the need for the 'EnableMapping' material parameter #jira UE-55195 Change 4027147 by Jason.Bestimt #DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread) #JIRA: UE-58043 Change 4027301 by Mike.Beach Updating the MRCalibration project's ini so it doesn't error on packaging. Change 4027469 by Mike.Beach MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it. Change 4027957 by Mike.Beach As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework. #jira UE-57782 Change 4029182 by Keli.Hlodversson Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread. #jira UE-58079 Change 4029687 by Dragan.Jerosimovic Boy rig and pose asset mb files, maps and masks Change 4030059 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework. #jira UE-57782 Change 4030296 by Charles.Egenbacher #LUMIN Copying from Dev-Incoming-Staging to Dev-VR Change 4030593 by Jason.Bestimt #DEV-VR - Merging olaf test maps to Dev-VR Change 4031042 by Keli.Hlodversson Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread. #jira UE-58239 Change 4031046 by Keli.Hlodversson Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread #jira UE-58238 Change 4032593 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration. #jira UE-57782 Change 4033911 by Jason.Bestimt #DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc) Change 4034087 by Mike.Beach Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin. #jira UE-57782 Change 4034253 by Joe.Graf Made the Apple Vision plugin use version checking consistent with ARKit Change 4034543 by Joe.Graf Added availability checks for the Apple Image Utils plugin similar to ARKit #jira: UE-57541 Change 4034548 by Joe.Graf Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0 Change 4034577 by Jason.Bestimt #DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black) Change 4034605 by zak.parrish Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none Change 4034686 by Jason.Bestimt #DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11 #JIRA: UE-58046 Change 4034799 by Joe.Graf Added base types for detecting images in a AR session Change 4034820 by Joe.Graf Added a friendly name to UARCandidateImage objects Change 4035010 by Joe.Graf Added support for handling ARImageAnchor notifications from ARKit Change 4035355 by Mike.Beach [WIP] MR - Renaming some classes to reflect the plugin's new name. #jira UE-57782 Change 4035464 by Joe.Graf Added orientation to the ARCandidateImage object to pass to the detection system Change 4035524 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035606 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035918 by Mike.Beach [WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name. #jira UE-57782 Change 4035976 by Mike.Beach [WIP] MR - Renaming some more files and classes to better match the MRC framework's new name. #jira UE-57782 Change 4036044 by Ryan.Vance #jira UEVR-377 Adding support for ISR Translucency. Change 4036069 by Ryan.Vance We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views. Change 4036073 by Chance.Ivey Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none Change 4036307 by Mike.Beach [WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name. #jira UE-57782 Change 4036314 by Mike.Beach [WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name. #jira UE-57782 Change 4036319 by Charles.Egenbacher #LUMIN this is an out-of-date version of the lumin sample. Nuking. Change 4036396 by Charles.Egenbacher #LUMIN Adding the up to date version of the LuminSample. Change 4036485 by Sorin.Gradinaru UE-57773 Disable Thermals Message #4.20 #iOS Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds. Change 4036695 by Jason.Bestimt #DEV-VR - Adding Lumin case to PrecompileTargetType check Change 4037110 by Jason.Bestimt #DEV-VR - Extra deprecated macro guards around HarfBuzz includes #JIRA: UE-58046 Change 4037443 by Jason.Bestimt #DEV-VR - Merging CL 4028003 from Partners-Google Change 4037490 by Jason.Bestimt #DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding) Change 4037691 by Jason.Bestimt #DEV-VR - Swapping order of comparrison operator to deal with const error Change 4037892 by Joe.Graf Added UTexture2D to CGImage conversion in Apple Image Utils plugin Change 4037894 by Joe.Graf Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system Change 4037901 by Joe.Graf Added support for configuring which images you'd like detected during a AR session Change 4037906 by Jason.Bestimt #DEV-VR - Fixing buckled logic for =operator (derp) Change 4038293 by Mike.Beach [WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin. #jira UE-57782 Change 4038403 by Joe.Graf Added the name from the candidate image when creating the Apple side representation Change 4038488 by Mike.Beach [WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now. #jira UE-57782 Change 4038776 by Chance.Ivey Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting Change 4038877 by Mike.Beach [WIP] MR - Renaming assets to better match the new plugin name. #jira UE-57782 Change 4039097 by Joe.Graf Fixed the public include path warnings in the Apple* plugins I added Change 4039106 by Joe.Graf Worked around a bad compile time assert that blocked valid FString::Printf debug code Change 4039209 by Jeff.Fisher Fixing one build script paths Change 4039275 by Jeff.Fisher More include path fixes. Change 4039415 by Joe.Graf Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device Change 4039471 by Joe.Graf Added a file I missed when adding to the remote session plugin Change 4039473 by Joe.Graf #ifdef-ed some code out until the linkage can be fixed Change 4040249 by Mike.Beach [WIP] MR - Moving some more asset files that aren't needed for the MRC plugin #jira UE-57782 Change 4040365 by Mike.Beach Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project). #jira UE-57782 Change 4040455 by Mike.Beach Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin. #jira UE-57782 Change 4041404 by Mike.Beach Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected. Change 4041406 by Mike.Beach MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users. #jira UE-57782 Change 4042110 by Jason.Bestimt #DEV-VR - Stopping spew for ML eye tracking when not on platform #JIRA: UE-58365 Change 4042407 by Joe.Graf Disabled HEIF compression on Mac #jira: UE-58479 Change 4042727 by Jason.Bestimt #DEV-VR - Fix for Android compiling without version 24 Change 4042861 by Olaf.Piesche #jira UE-57784 Change 4043105 by Mike.Beach Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion. #jira UE-58389 Change 4043120 by Mike.Beach MR - Loading the base save data, even if we're unable to fully construct the original save object class. #jira UE-58389 Change 4043401 by Mike.Beach New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25. #jira UEVR-1143 Change 4043424 by Mike.Beach Oculus SI 1.24/1.25 - Engine rendering changes #jira UEVR-1143 Change 4043495 by Mike.Beach CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes. #jira UEVR-1143 Change 4043642 by Zak.Parrish Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none Change 4045638 by Zak.Parrish Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff. Change 4046003 by Jason.Bestimt #DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files #JIRA: UE-58523 Change 4046548 by Jules.Blok Fix SetInstancedEyeIndex() ignoring the left eye. #jira UE-54044 Change 4046859 by zak.parrish Checking in the new rig from 3Lateral - this prevents the eyelashes from separating Change 4047060 by Nick.Whiting Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading. #jira UEVR-1192 Change 4047667 by Mike.Beach CIS fix - removing uneeded line from bad merge. Change 4047673 by Mike.Beach More CIS fixes for fallout from recent rendering merge. Change 4048227 by Rolando.Caloca VR - vk - Some Vulkan merge conflicts resolved Change 4048421 by Jason.Bestimt #DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call Change 4048423 by Jason.Bestimt #DEV-VR - Fixing mediandk version check Change 4048452 by Rolando.Caloca VR - Merge fix Change 4048530 by Rolando.Caloca VR - Merge fix Change 4048607 by Jason.Bestimt #DEV-VR - Probable repair of Mr Mesh post merge Change 4048794 by Rolando.Caloca VK - Fix mobile from merge Change 4048972 by Jeff.Fisher Fixing MeshReconstructor merge problems. Change 4049969 by Ryan.Vance Fixing missing shader assert. Change 4050831 by Ryan.Vance Merge clean up. This is still needed to build w/ vulkan on Lumin. Change 4050854 by Ryan.Vance Merge clean up. We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround. Change 4051495 by Jason.Bestimt #DEV-VR - Adding Android, Quail, Linux vulkan include clauses Change 4052528 by Zak.Parrish Changing defaultEngine.ini for the higher res version of Gremlin Change 4052880 by Ryan.Vance Merge clean up. Now with more Lumin #jira UE-58645 Change 4052991 by zak.parrish Update to FaceTrackingMap2 for proper camera positioning Change 4053139 by Nick.Whiting Fixing Lumin Vulkan platform header Change 4053352 by Mike.Beach On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR). #jira UE-57991 Change 4053644 by Nick.Whiting Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN Change 4054329 by Jason.Bestimt #DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset #JIRA: UE-58689 Change 4054785 by Mike.Beach Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs. Change 4055466 by Jules.Blok Suppress SteamVR submission errors after they've been logged once. Change 4055500 by Jason.Bestimt #DEV-VR - MrMeshComponent fix for unsupported pixel format #JIRA: UE-58759 Change 4055761 by Ryan.Vance #jira UE-58729 There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup. Change 4056008 by Mike.Beach Fixing bad merge from Main. Change 4056616 by Nick.Whiting Changing UBT configs to use Lumin-specific config files #jira UE-58760 Change 4056969 by Keli.Hlodversson MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker #jira UE-58191 Change 4057356 by Jason.Bestimt #DEV-VR - Guard around JNI function for Lumin Change 4059353 by Nick.Whiting Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060158 by Rolando.Caloca DVR - vk - Temporarily add backbuffer delay/extra copy blit on android #jira UE-58859 Change 4060432 by Mike.Beach Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060520 by Rolando.Caloca VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0 - Restore Android to not delay #jira UE-58859 Change 4060587 by Nick.Whiting Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings #jira UE-58762 Change 4061277 by Jeff.Fisher UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain. -Overriding HasAnySDK to setup the MLSDK. Change 4061308 by Jason.Bestimt #DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in #JIRA: UE-58864 Change 4062111 by Ryan.Vance #jira UE-58875 Fixing audio compilation failure. Change 4064091 by Jason.Bestimt #DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off #JIRA: UE-58954 Change 4064554 by Jason.Bestimt #DEV-VR - Removing ML haptic tests when not on the platform #JIRA: UE-58966 Change 4064755 by Jeff.Fisher UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist. -Removed linux from magicleap plugin whitelists, we have no sdk for linux. #review-4064614 #jira UE-58970 [CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
return PlatformDevice;
}
void* FOpenGLDynamicRHI::RHIGetNativeInstance()
{
return nullptr;
}
void FOpenGLDynamicRHI::InvalidateQueries( void )
{
{
FScopeLock Lock(&QueriesListCriticalSection);
PendingState.RunningOcclusionQuery = 0;
for( int32 Index = 0; Index < Queries.Num(); ++Index )
{
Queries[Index]->bInvalidResource = true;
}
}
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3873313 by Nick.Atamas Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... Change 3873330 by Nick.Atamas Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3777058 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... and fixing up QAARApp to work with latest ARCore changes. Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3933769 by Keli.Hlodversson Remove unused IStereoRendering::GetCustomPresent #jira UEVR-1083 Change 3935219 by Nick.Atamas QAARApp re-write. Change 3935664 by Mike.Beach Oculus SI 1.23 changes Change 3941505 by Joe.Graf Made the send & recv buffer sizes for the BackChannel plugin configurable Added send & recv counters for tracking the amount of transmission data Change 3944003 by Joe.Graf Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac Change 3945189 by Douglas.Copeland Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings Change 3945245 by Douglas.Copeland Resaving QA_MeshTypes asset to resolve warnings produced by missing info Change 3945266 by Douglas.Copeland Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings Change 3947785 by Mike.Beach Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc. Change 3951763 by Joe.Graf Fixed thread ordering bug with remote session frame compression Change 3952242 by Joe.Graf Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle Change 3954571 by Keli.Hlodversson * Add FXRRenderBridge base class containing common code from different CustomPresent implementations. * Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread. ** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.) * Remove unused member variable ViewportRHI from RHICustomPresent. #jira UEVR-1081 Change 3954572 by Keli.Hlodversson * Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin * Move duplicated methods into an already existing BridgeBaseImpl class #jira UEVR-592 Change 3954573 by Keli.Hlodversson * Apply XRRenderBridge refactor to Oculus plugin #jira UEVR-590 Change 3954575 by Keli.Hlodversson * Apply XRRenderBridge refactor to OSVR #jira UEVR-595 Change 3954578 by Keli.Hlodversson * Apply XRRenderBridge refactor to GoogleVR #jira UEVR-594 Change 3954596 by Keli.Hlodversson Add file missing from cl#3954572 Change 3957882 by Jeff.Fisher UEVR-1100 bLockToHmd false doesn't work correctly -CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera. #jira UEVR-1100 #review-3956168 Change 3957945 by Jeff.Fisher Fix for Oculus begin/end frame problem after XRRenderBridge refactor. -The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime. #review-3957897 Change 3958760 by Dongsik.Seo Adding UseCameraRotation feature to StereoPanorama plug-in. To enable this feature, use console command SP.UseCameraRotation 7 Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll 7 means all axis (1+2+4) #review-3958756 @Joe.Conley Change 3959347 by Douglas.Copeland Fixing spelling errors in test displays Change 3964331 by Jason.Bestimt Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046 GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix: Fixed the crash in Acquire/Release UGoogleARCorePointCloud. Fixed the issue that multiple line trace channel doesn't work correctly. Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1 Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space. Change 3967485 by Ryan.Vance Removed the exlude rect, we want to clear stencil on the entire surface. Change 3968028 by Zak.Parrish Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19. Change 3968114 by Zak.Parrish Adding in the new version of FaceARSample from Release-4.19 #rb none Change 3978381 by Mike.Beach Mirroring CL 3969503 from 4.19 Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread). #jira UE-55445 Change 3981160 by Joe.Graf Merged the BackChannel unit test fix over from Owl Change 3981705 by Mike.Beach [WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor). #jira UE-55220 Change 3981898 by Joe.Graf Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF Added a Blueprint latent action to perform the conversion in the background Change 3981910 by Joe.Graf WIP AR texture support so that other systems can interact with the camera data Change 3982102 by Joe.Graf Pull request: Update CMakefileGenerator.cs for CLion Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions #jira: UE-57103 GitHub #4619 Change 3982883 by Joe.Graf Added a CLionGenerator for consistency Fixed editor preferred source code accessor parsing in the project file generator Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor #jira UE-54801 Change 3983687 by Joe.Graf Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error Change 3984325 by Jeff.Fisher UEVR-1141 PSVR - fix morpheus on pc render target scaling -Hard coding the target size. Perhaps the old method broke with the pixel density change. #review-3983261 Change 3984563 by Joe.Graf Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3 Change 3985213 by Zak.Parrish Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none Change 3985577 by Joe.Graf WIP support for the Apple Vision API to perform computer vision tasks on images Change 3985654 by Joe.Graf Fixed missing forward declaration hidden by unity files Change 3990596 by Mike.Beach Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space. #jira UE-55220 Change 3990788 by Mike.Beach Attempted CIS fix (fallout from CL 3990596) Change 3990824 by Ryan.Vance Re-submitting 4.19.1 hotfox 3968537 Change 3995804 by Jeff.Fisher Merging cl 3995785 //UE4/Dev-VR-Seal/Engine/Source/... to //UE4/Dev-VR/Engine/Source/... UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior -Fixing late update when no camera component is in use. -The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame. #review-3995764 Change 3999842 by Nick.Whiting Exposing Apple ARKit function library as public for our buddies down under. Change 4005541 by Joe.Graf UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1 #jira UE-57541 Change 4006308 by Jason.Bestimt #DEV_VR - Hopeful fix for possible unity issue Change 4006543 by Joe.Graf Added code to be more correct on setting face blendshapes Change 4007508 by Jason.Bestimt #LUMIN - Adjusting automation tests. - Moved QA specific content test into QA Game - Wrapped controller not found to only happen on device Change 4007515 by Jason.Bestimt #LUMIN - Disabling privilege warning except on device Change 4007552 by Jason.Bestimt #LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE Change 4008585 by Joe.Graf Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink #jira: UE-57830 Change 4008604 by Mike.Beach MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material). #jira UEVR-1153 Change 4009396 by Jason.Bestimt #DEV-VR - Removing warning about stat on different threads (CL 4009124) Change 4009514 by Joe.Graf Added a weighted moving average method to the modify curve anim node Change 4010125 by Jason.Bestimt #DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR Change 4010434 by Jason.Bestimt #DEV-VR - Fix for Lumin Haptic Test include Change 4010945 by Jeff.Fisher QAHapticTests build fix -removed unused bad include Change 4011002 by Nick.Atamas Fixed Android compilation. Change 4011220 by Nick.Atamas - Adding visualization for boundary polygons. - Adding support for vertical planes. Change 4011298 by Mike.Beach MR - Revamping the VideoProcessing/ChromaKeying material so that it: 1) Better extracts luminance from the image 2) Utilizes despill to remove chroma bleed from the scene 3) Leverages the generated despill mask to add back in a faux bounce #jira UEVR-1153 Change 4011858 by Keli.Hlodversson Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.) -- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed. #jira UE-57380 Change 4011956 by Keli.Hlodversson Fix missing includes after CL#4011858 Change 4012096 by Joe.Graf Disabled building AppleVision on Mac until there's a good solution for older Mac OSes Change 4012294 by Jason.Bestimt #DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found Change 4012390 by Jason.Bestimt #DEV-VR - Misc fixes for static code analysis issues - Guards around GEngine usage - Fix from Rolando for uint32 -> uint64 + shifting warning - Redundant if checks Change 4013426 by Jason.Bestimt #DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit #JIRA: UE-57960 Change 4014661 by Ryan.Vance Initial support for omni-directional stereo captures. https://developers.google.com/vr/jump/rendering-ods-content.pdf Change 4015561 by Jason.Bestimt #DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue Change 4016202 by Jason.Bestimt #DEV-VR - Integrated CL 2685 from Seal depot #JIRA: UEVR-1157 Change 4016448 by Jason.Bestimt #DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK Change 4016457 by Ryan.Vance #jira UE-58018 Cleaning up compiler errors/warnings. Change 4017246 by Jason.Bestimt #DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread #JIRA: UE-58043 Change 4018571 by Joe.Graf Added a remapping of curve values in a range to the modify curve anim node Change 4018991 by Joe.Graf Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on #jira: UE-57999 Change 4019068 by Joe.Graf Changed how Apple Vision support is enabled in code #jira: UE-57552 Change 4019194 by Joe.Graf Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1" Change 4019648 by Keli.Hlodversson Work around build failures caused by missing virtual destructor warnings. Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.) Change 4019871 by Joe.Graf Changed the __IPHONE_11_3 to the raw numeric value Change 4020121 by Keli.Hlodversson Fix parameter types to match header declarations. Change 4020127 by Keli.Hlodversson Remove dllimport/export macros from cpp file. Change 4020621 by Joe.Graf Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check Change 4020910 by Joe.Graf Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version Change 4020952 by Joe.Graf Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit Change 4021116 by Jason.Bestimt #DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform Change 4021320 by Joe.Graf Fixed warnings resulting from unity builds hiding them Change 4021738 by Chad.Garyet - adding lumin filters - changing defaults for platforms back to true, this was brought over erroneously. #jira none #ROBOMERGE: Dogma, Nightlies Change 4021898 by Chad.Garyet added missing bits from the ue4main script #jira none #ROBOMERGE: Dogma, Nightlies Change 4022583 by Joe.Graf Added functions for checking ARKit version availability at runtime Change 4022610 by Joe.Graf Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes Change 4022616 by Joe.Graf Added support for enabling the ARKit 1.5 autofocus setting Change 4022650 by Joe.Graf Defaulted autofocus for AR to on Change 4023026 by Joe.Graf Changed the ARKit video overlay to use the new availability api Change 4023124 by Joe.Graf Switched another version check in the ARKit overlay code to use the faster version Change 4023489 by Ethan.Geller [Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt Change 4023995 by Nick.Atamas Properly deprecated the bitfield for plane detection mode. #jira UE-57842 Change 4024992 by Jason.Bestimt #DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin Change 4025702 by Jason.Bestimt #DEV-VR - Fix for loading ML libraries even when the MLSDK is not present #JIRA: UE-58033 Change 4026639 by Mike.Beach Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset. #jira UE-58001 Change 4026949 by Mike.Beach MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component... - Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly) - Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion - Adding CVar commands to enable/disable pieces of the undistortion - Changing the default undistortion cropping to be uncropped - Removing the need for the 'EnableMapping' material parameter #jira UE-55195 Change 4027147 by Jason.Bestimt #DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread) #JIRA: UE-58043 Change 4027301 by Mike.Beach Updating the MRCalibration project's ini so it doesn't error on packaging. Change 4027469 by Mike.Beach MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it. Change 4027957 by Mike.Beach As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework. #jira UE-57782 Change 4029182 by Keli.Hlodversson Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread. #jira UE-58079 Change 4029687 by Dragan.Jerosimovic Boy rig and pose asset mb files, maps and masks Change 4030059 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework. #jira UE-57782 Change 4030296 by Charles.Egenbacher #LUMIN Copying from Dev-Incoming-Staging to Dev-VR Change 4030593 by Jason.Bestimt #DEV-VR - Merging olaf test maps to Dev-VR Change 4031042 by Keli.Hlodversson Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread. #jira UE-58239 Change 4031046 by Keli.Hlodversson Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread #jira UE-58238 Change 4032593 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration. #jira UE-57782 Change 4033911 by Jason.Bestimt #DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc) Change 4034087 by Mike.Beach Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin. #jira UE-57782 Change 4034253 by Joe.Graf Made the Apple Vision plugin use version checking consistent with ARKit Change 4034543 by Joe.Graf Added availability checks for the Apple Image Utils plugin similar to ARKit #jira: UE-57541 Change 4034548 by Joe.Graf Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0 Change 4034577 by Jason.Bestimt #DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black) Change 4034605 by zak.parrish Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none Change 4034686 by Jason.Bestimt #DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11 #JIRA: UE-58046 Change 4034799 by Joe.Graf Added base types for detecting images in a AR session Change 4034820 by Joe.Graf Added a friendly name to UARCandidateImage objects Change 4035010 by Joe.Graf Added support for handling ARImageAnchor notifications from ARKit Change 4035355 by Mike.Beach [WIP] MR - Renaming some classes to reflect the plugin's new name. #jira UE-57782 Change 4035464 by Joe.Graf Added orientation to the ARCandidateImage object to pass to the detection system Change 4035524 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035606 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035918 by Mike.Beach [WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name. #jira UE-57782 Change 4035976 by Mike.Beach [WIP] MR - Renaming some more files and classes to better match the MRC framework's new name. #jira UE-57782 Change 4036044 by Ryan.Vance #jira UEVR-377 Adding support for ISR Translucency. Change 4036069 by Ryan.Vance We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views. Change 4036073 by Chance.Ivey Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none Change 4036307 by Mike.Beach [WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name. #jira UE-57782 Change 4036314 by Mike.Beach [WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name. #jira UE-57782 Change 4036319 by Charles.Egenbacher #LUMIN this is an out-of-date version of the lumin sample. Nuking. Change 4036396 by Charles.Egenbacher #LUMIN Adding the up to date version of the LuminSample. Change 4036485 by Sorin.Gradinaru UE-57773 Disable Thermals Message #4.20 #iOS Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds. Change 4036695 by Jason.Bestimt #DEV-VR - Adding Lumin case to PrecompileTargetType check Change 4037110 by Jason.Bestimt #DEV-VR - Extra deprecated macro guards around HarfBuzz includes #JIRA: UE-58046 Change 4037443 by Jason.Bestimt #DEV-VR - Merging CL 4028003 from Partners-Google Change 4037490 by Jason.Bestimt #DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding) Change 4037691 by Jason.Bestimt #DEV-VR - Swapping order of comparrison operator to deal with const error Change 4037892 by Joe.Graf Added UTexture2D to CGImage conversion in Apple Image Utils plugin Change 4037894 by Joe.Graf Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system Change 4037901 by Joe.Graf Added support for configuring which images you'd like detected during a AR session Change 4037906 by Jason.Bestimt #DEV-VR - Fixing buckled logic for =operator (derp) Change 4038293 by Mike.Beach [WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin. #jira UE-57782 Change 4038403 by Joe.Graf Added the name from the candidate image when creating the Apple side representation Change 4038488 by Mike.Beach [WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now. #jira UE-57782 Change 4038776 by Chance.Ivey Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting Change 4038877 by Mike.Beach [WIP] MR - Renaming assets to better match the new plugin name. #jira UE-57782 Change 4039097 by Joe.Graf Fixed the public include path warnings in the Apple* plugins I added Change 4039106 by Joe.Graf Worked around a bad compile time assert that blocked valid FString::Printf debug code Change 4039209 by Jeff.Fisher Fixing one build script paths Change 4039275 by Jeff.Fisher More include path fixes. Change 4039415 by Joe.Graf Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device Change 4039471 by Joe.Graf Added a file I missed when adding to the remote session plugin Change 4039473 by Joe.Graf #ifdef-ed some code out until the linkage can be fixed Change 4040249 by Mike.Beach [WIP] MR - Moving some more asset files that aren't needed for the MRC plugin #jira UE-57782 Change 4040365 by Mike.Beach Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project). #jira UE-57782 Change 4040455 by Mike.Beach Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin. #jira UE-57782 Change 4041404 by Mike.Beach Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected. Change 4041406 by Mike.Beach MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users. #jira UE-57782 Change 4042110 by Jason.Bestimt #DEV-VR - Stopping spew for ML eye tracking when not on platform #JIRA: UE-58365 Change 4042407 by Joe.Graf Disabled HEIF compression on Mac #jira: UE-58479 Change 4042727 by Jason.Bestimt #DEV-VR - Fix for Android compiling without version 24 Change 4042861 by Olaf.Piesche #jira UE-57784 Change 4043105 by Mike.Beach Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion. #jira UE-58389 Change 4043120 by Mike.Beach MR - Loading the base save data, even if we're unable to fully construct the original save object class. #jira UE-58389 Change 4043401 by Mike.Beach New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25. #jira UEVR-1143 Change 4043424 by Mike.Beach Oculus SI 1.24/1.25 - Engine rendering changes #jira UEVR-1143 Change 4043495 by Mike.Beach CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes. #jira UEVR-1143 Change 4043642 by Zak.Parrish Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none Change 4045638 by Zak.Parrish Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff. Change 4046003 by Jason.Bestimt #DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files #JIRA: UE-58523 Change 4046548 by Jules.Blok Fix SetInstancedEyeIndex() ignoring the left eye. #jira UE-54044 Change 4046859 by zak.parrish Checking in the new rig from 3Lateral - this prevents the eyelashes from separating Change 4047060 by Nick.Whiting Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading. #jira UEVR-1192 Change 4047667 by Mike.Beach CIS fix - removing uneeded line from bad merge. Change 4047673 by Mike.Beach More CIS fixes for fallout from recent rendering merge. Change 4048227 by Rolando.Caloca VR - vk - Some Vulkan merge conflicts resolved Change 4048421 by Jason.Bestimt #DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call Change 4048423 by Jason.Bestimt #DEV-VR - Fixing mediandk version check Change 4048452 by Rolando.Caloca VR - Merge fix Change 4048530 by Rolando.Caloca VR - Merge fix Change 4048607 by Jason.Bestimt #DEV-VR - Probable repair of Mr Mesh post merge Change 4048794 by Rolando.Caloca VK - Fix mobile from merge Change 4048972 by Jeff.Fisher Fixing MeshReconstructor merge problems. Change 4049969 by Ryan.Vance Fixing missing shader assert. Change 4050831 by Ryan.Vance Merge clean up. This is still needed to build w/ vulkan on Lumin. Change 4050854 by Ryan.Vance Merge clean up. We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround. Change 4051495 by Jason.Bestimt #DEV-VR - Adding Android, Quail, Linux vulkan include clauses Change 4052528 by Zak.Parrish Changing defaultEngine.ini for the higher res version of Gremlin Change 4052880 by Ryan.Vance Merge clean up. Now with more Lumin #jira UE-58645 Change 4052991 by zak.parrish Update to FaceTrackingMap2 for proper camera positioning Change 4053139 by Nick.Whiting Fixing Lumin Vulkan platform header Change 4053352 by Mike.Beach On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR). #jira UE-57991 Change 4053644 by Nick.Whiting Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN Change 4054329 by Jason.Bestimt #DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset #JIRA: UE-58689 Change 4054785 by Mike.Beach Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs. Change 4055466 by Jules.Blok Suppress SteamVR submission errors after they've been logged once. Change 4055500 by Jason.Bestimt #DEV-VR - MrMeshComponent fix for unsupported pixel format #JIRA: UE-58759 Change 4055761 by Ryan.Vance #jira UE-58729 There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup. Change 4056008 by Mike.Beach Fixing bad merge from Main. Change 4056616 by Nick.Whiting Changing UBT configs to use Lumin-specific config files #jira UE-58760 Change 4056969 by Keli.Hlodversson MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker #jira UE-58191 Change 4057356 by Jason.Bestimt #DEV-VR - Guard around JNI function for Lumin Change 4059353 by Nick.Whiting Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060158 by Rolando.Caloca DVR - vk - Temporarily add backbuffer delay/extra copy blit on android #jira UE-58859 Change 4060432 by Mike.Beach Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060520 by Rolando.Caloca VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0 - Restore Android to not delay #jira UE-58859 Change 4060587 by Nick.Whiting Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings #jira UE-58762 Change 4061277 by Jeff.Fisher UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain. -Overriding HasAnySDK to setup the MLSDK. Change 4061308 by Jason.Bestimt #DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in #JIRA: UE-58864 Change 4062111 by Ryan.Vance #jira UE-58875 Fixing audio compilation failure. Change 4064091 by Jason.Bestimt #DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off #JIRA: UE-58954 Change 4064554 by Jason.Bestimt #DEV-VR - Removing ML haptic tests when not on the platform #JIRA: UE-58966 Change 4064755 by Jeff.Fisher UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist. -Removed linux from magicleap plugin whitelists, we have no sdk for linux. #review-4064614 #jira UE-58970 [CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
void* FOpenGLDynamicRHI::GetOpenGLCurrentContextHandle()
{
return PlatformOpenGLCurrentContextHandle(PlatformDevice);
}
void FOpenGLDynamicRHI::SetCustomPresent(FRHICustomPresent* InCustomPresent)
{
FScopeLock lock(&CustomPresentSection);
CustomPresent = InCustomPresent;
}
uint64 FOpenGLDynamicRHI::RHIGetMinimumAlignmentForBufferBackedSRV(EPixelFormat Format)
{
check(FOpenGL::GetTextureBufferAlignment()>=0);
return FOpenGL::GetTextureBufferAlignment();
}
bool FOpenGLDynamicRHIModule::IsSupported()
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
return true;
}