#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3250856 on 2017/01/09 by Daniel.Wright
Only showing instruction count for 'Base pass shader' now
Change 3250943 on 2017/01/09 by Rolando.Caloca
DR - Async Compute PSO creation
Change 3251036 on 2017/01/09 by Rolando.Caloca
DR - Add r.AsyncPipelineCompile
- Dispatch on any thread
- Wait for completion event
Change 3251058 on 2017/01/09 by Ben.Woodhouse
Fix for PSO creation D3D error with NumRenderTargets. Add code to compute the correct number of valid rendertargets to prevent an issue during PSO creation when NumRenderTargets is >0, but none of the formats are valid (all formats are DXGI_UNKNOWN)
#jira UE-40332
Change 3251141 on 2017/01/09 by Ben.Woodhouse
Duplicated from Fortnite CL 3243458:
D3D12 memory optimization - The d3d12 buddy suballocator is very wasteful for allocations above 4KB, but the vast majority of allocations are smaller . In the default buffer allocator this was causing 149MB of waste in 340MB of allocations. Moving the max allocation size threshold down to 4KB from 512KB saved 100MB of memory wastage memory.
On PC, buffers are 64KB aligned, so we need the threshold to be higher to avoid additional wastage.
Add PIX memory tracking instrumentation for buddy allocators so we can track the memory properly in PIX
Change 3251142 on 2017/01/09 by Ben.Woodhouse
Duplicated from Fortnite 3243496
memory optimisation: use NULL-terminated ansi strings instead of unicode FStrings for symbols, saving 118MB. Previously the strings were loaded from disk as ansi and then converted to FStrings (slowly), before finally being converted them back to ansi strings before being used. In addition to reducing memory overhead, this change reduces complexity and improves startup time.
Change 3252323 on 2017/01/10 by Rolando.Caloca
DR - Gfx async PSO creation prep
Change 3252474 on 2017/01/10 by Daniel.Wright
Added 'Compile Unreal Lightmass' to error message
Change 3252589 on 2017/01/10 by Daniel.Wright
Back out bulk data for distance fields from cl 3241990 which causes distance fields to be corrupt in Fortnite
Change 3252790 on 2017/01/10 by Daniel.Wright
Added InscatteringColorCubemapAngle to exponential height fog
Change 3252843 on 2017/01/10 by Uriel.Doyon
Propper fix for UE-40211, where texture streaming bound defrag and async tasks could interact in coherent ways.
The bound defrag is now done outside of the async work logic.
Change 3252866 on 2017/01/10 by Mark.Satterthwaite
Fix Metal shader pipeline hash collisions caused by deferring MTLFunction construction until PrepareToDraw so that we may use Function-Constants to specialise the shader source without generating additional permutations. This is required to generate proper tessellation shaders which are specialised against the index-buffer usage & type (none, uint16, uint32). While we're here amend the hash functions to make better use of the existing hash functions to improve the distribution and hopefully reduce the possibility of collisions in future.
#jira UE-40357
Change 3254511 on 2017/01/11 by Rolando.Caloca
DR - PSO stats
Change 3255958 on 2017/01/12 by Mark.Satterthwaite
Reimplement RQT_AbsoluteTime for Metal - pretty sure I did this before, but somehow it got lost. When a RQT_AbsoluteTime is inserted into the command-stream, insert a command-buffer completion handler to record the time of completion & submit the command-buffer immediately. This breaks command-buffers so is noticeably slower and if inserted in a pass that can't be restarted will fail but is currently the only option available. This is sufficient to support the GPUBenchmark used by Scalability. To make this more efficient I've refactored the FMetalCommandBufferFence implementation so that we use a single shared-ptr object containing the command-buffer and a dispatch semaphore, rather than allocating one for each query. The semaphore allows for timed-waits where previously we'd block until completion, unlike the other APIs that report failure after a fixed interval (2s for RQT_AbsoluteTime, otherwise 0.5s). Sadly not all drivers support this abuse of the Metal API, so replace the GL-based workaround for not having time queries with one that just guesses based on RHI device details. Radars will be filed.
#jira UE-40554
Change 3256329 on 2017/01/12 by Olaf.Piesche
#jira UE-38615
Assert shouldn't be necessary; in fact, it causes a crash when exporting emitters, since in that case we're changing the template at runtime.
Change 3256371 on 2017/01/12 by Uriel.Doyon
Reenabled texture streaming bound defrag as the fix is in CL 3252843
Change 3257032 on 2017/01/13 by Daniel.Wright
Added fastClamp to fastmath.usf
Change 3257111 on 2017/01/13 by Daniel.Wright
Disabled bAffectDistanceFieldLighting on DefaultPawn, fixes VisualizeMeshDistanceFields in game
Change 3257112 on 2017/01/13 by Daniel.Wright
DFAO optimizations
* Changed the culling algorithm to produce a list of intersecting screen tiles for each object, instead of the other way around. Each tile / object intersection gets its own cone tracing thread group so wavefronts are much smaller and scheduled better. 3.63ms -> 3.48ms (.15ms)
* Replace slow instructions in inner loop with fast approximations (exp2 -> sqr + 1, rcpFast, lengthFast) 3.25ms -> 3.09ms (.16ms)
* Moved transform from world to local space out of the inner loop (sample position constructed from local space position + direction) 3.09ms -> 3.04ms
* Compute shader for ClearUAV 3.04ms -> 2.62ms (.42ms)
Change 3257113 on 2017/01/13 by Daniel.Wright
Better distance field memory stats
Change 3257326 on 2017/01/13 by Uriel.Doyon
Workaround to support cases where several textures have the same lighting GUID.
Change 3257448 on 2017/01/13 by Daniel.Wright
Removed legacy features Distance Field Specular Occlusion, Distance Field Surface Cache AO, PreCullTriangles
Change 3257616 on 2017/01/13 by Daniel.Wright
Distance field mesh visualization now uses a cone containing the entire tile to cull objects with, making the results stable
Change 3257657 on 2017/01/13 by Daniel.Wright
Mesh distance fields are stored zlib compressed in memory until needed for uploading to GPU
* 81Mb of backing memory -> 32Mb in GPUPerfTest, atlas upload time 29ms -> 893ms
Change 3258063 on 2017/01/14 by Rolando.Caloca
DR - vk - Refactor descriptor set reuse in prep for more changes
Change 3258715 on 2017/01/16 by Daniel.Wright
Added VisualizeGlobalDistanceField show flag
Change 3258827 on 2017/01/16 by Daniel.Wright
Global distance field update regions are clipped against others to reduce redundant updates.
Change 3258959 on 2017/01/16 by Benjamin.Hyder
Updating Planar Reflection example material in TM-Shadermodels
Change 3259270 on 2017/01/16 by Daniel.Wright
[Copy] 'r.MSAACount 1' now produces no MSAA or TAA. 'r.MSAACount 0' can be used to toggle TAA on for comparisons.
Change 3259652 on 2017/01/16 by Uriel.Doyon
Better support for static primitive becoming dynamic.
Change 3260107 on 2017/01/17 by Ben.Woodhouse
Fix FMonitoredProcess to prevent infinite loop in -nothreading mode
#jira UE-40717
Change 3260594 on 2017/01/17 by Daniel.Wright
Added a new global distance field (4x 128^3 clipmaps) which caches mostly static primitives (Mobility set to Static or Stationary)
* The full global distance field inherits from the mostly static cache, so when a Movable primitive is modified, only other movable primitives in the vicinity need to be re-composited into the global distance field
* Global distance field update cost with one large rotating object went from 2.5ms -> .2ms on 970GTX and 4.6ms -> .3ms. Worst case full volume update is mostly the same.
* Adds 12Mb for the new volume textures
Change 3260956 on 2017/01/17 by Daniel.Wright
Structured buffers for DF object data
* Full global distance field clipmap composite 3.0ms -> 2.0ms due to scalarized loads
Change 3261296 on 2017/01/17 by Daniel.Wright
Exposed MaxObjectsPerTile with 'r.AOMaxObjectsPerCullTile' and lowered the default from 512 to 256, saves 17Mb of object tile culling data structures
Removed unnecessary UAV transitions preventing object and global cone tracing from overlapping, saves ~.1ms
Change 3262036 on 2017/01/18 by Ben.Salem
V0 of Perf monitor plugin for easily consumable stat csvs. With plugin enabled, enter PerformanceMonitor help into the console to get usage details.
Change 3262056 on 2017/01/18 by Chris.Bunner
Remove inverse tonemapping when rendering HDR output.
#jira UE-40728
Change 3262661 on 2017/01/18 by Rolando.Caloca
DR - Add missing SetStencilRef() and SetBlendFactor() on most RHIs
- Fix hash for PSOs
Change 3263674 on 2017/01/19 by Chris.Bunner
PR #3144: Improved error messages (Contributed by DarkSlot)
#jira UE-40835
Change 3264150 on 2017/01/19 by Ben.Woodhouse
Add support for single threaded in FMonitoredProcess. Deprecated IsRunning() in favour of a new Update() method because polling IsRunning is not compatible with -nothreading mode
#jira UE-40841
Change 3264153 on 2017/01/19 by Ben.Woodhouse
Integrate latest changes from MS-DX12 CLs 3231395-3262526
- Added WinPixEventRuntime.tps
- Includes PIX support, various optimizations (saved 1.3ms in testbed scene)
CL 3262343:
Fix depth testing on translucency not working correctly after cl 3231395. This change reapplies the D3D12RHI changes from CL 3231395 because those changes were lost when integrating from //Dev-Rendering/ but also includes the depth fixes:
- Fix depth state not being in DEPTH_READ for use as depth read. The issue was HasDepthBits and HasStencilBits wern't intended for SRV formats and always returned false in the SRV case.
CL 3231395:
Update D3D12 RHI:
- Fix deferred MSAA path in RHI
- Add Pix3.h support
- Cleanup SetName usage and remove it from shipping builds.
- Fix fence reuse bug. We were signaling MAX UINT (-1) and then waiting for 0, which was always signaled. This change also removes the fence value reset code, there is no need to reset a fence to a previous value.
- Use FPlatformAtomics::InterlockedIncrement instead of InterlockedIncrement64
- Use InterlockedIncrement() instead of _InterlockedIncrement() and use the FPlatformAtomics:: version.
- Fix possible readback heap being evicted while in use. GetQueryData happens on the render thread and isn't tied to a command list so we should always have readback heaps resident.
Change 3264251 on 2017/01/19 by Mark.Satterthwaite
Modify some asserts in MetalRHI - technically using a store-action of ENoAction on Stencil buffers should make it invalid to restart a render-pass but on Mac it will work because ENoAction won't invalidate anything written. In future we need to use deferred store-actions in Metal so that we can "restart" passes while enforcing correct Load/Store actions.
#jira UE-40803
Change 3264642 on 2017/01/19 by Daniel.Wright
Raised GMaxShadowDepthBufferSizeX to max texture resolution on most platforms, was previously 4096.
Change 3265330 on 2017/01/20 by Ben.Salem
Stop performance plugin from building in Win32.
#tests recompiled and preflighted
Change 3265678 on 2017/01/20 by Marcus.Wassmer
Fix bad declaration.
#3055
Change 3266656 on 2017/01/20 by Mark.Satterthwaite
Changes to the FShaderCache to restore it and extend it to optionally report on shader de-duplication when generating a binary shader cache (Console Variable: r.BinaryShaderCacheLogging).
Duplicate & amend CL #3266053 from Trepka:
Fixed issues with shader cache not working properly with Mac Metal (but it still requires -norhithread to work at all). Enabled the shader cache by default if RHI thread is disabled.
Amend & integrate RCO's CL #3197085.
Change 3267741 on 2017/01/23 by Rolando.Caloca
DR - Detect duplicated shader and pipeline types
Change 3268600 on 2017/01/23 by Uriel.Doyon
Added missing r.Streaming.MaxEffectiveScreenSize config to base texture scability settings.
Integrated CL 3227368 from Orion stream
Enabled r.Streaming.UsePerTextureBias by default as this has been tested in Orion for several months.
Fixed issue with the InvestigateTexture command which could return invalid reference depending on the timing,
Added th MaxEffectiveScreenSize settings in the investigate texture command.
Change 3269512 on 2017/01/24 by Richard.Wallis
Fix for shader binary cache uncompress data size during internal shader log.
Change 3271237 on 2017/01/25 by Ben.Woodhouse
D3D12 updateTexture2D crash fix
#jira UE-41059
Change 3271564 on 2017/01/25 by Olaf.Piesche
#jira UE-40980
#udn 325525
Fix uniform buffers for mesh particles; these should really be on the mesh collector, so allocating them as a one frame resource is safe
Change 3271594 on 2017/01/25 by Ben.Woodhouse
ESRAM support stage 1:
Implemented noncontiguous ESRAM page allocator replacing XgMemoryLayout API. The allocator allocates non-contiguous ranges of pages and maps them onto a contiguous virtual address range.
Unlike the previous implementation, this allocator frees pages for reuse when resources are destroyed
Note: issues with deferred deallocation may prevent reuse in many cases - that will be addressed in the next stage
Support for the old allocator is still available (for now) via the define NEW_ESRAM_ALLOCATOR
#fyi rolando.caloca
Change 3272616 on 2017/01/25 by Rolando.Caloca
DR - Update shader version
Change 3273138 on 2017/01/26 by Ben.Woodhouse
Fix merge issue with MonitoredProcess.cpp (this arose from an integration made as an edit in dev-rendering, which confused perforce when the change was subsequently integrated from main)
[CL 3274498 by Rolando Caloca in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3219796 on 2016/12/02 by Rolando.Caloca
DR - vk - Increase timeout to 60ms
Change 3219884 on 2016/12/02 by Daniel.Wright
Assert to help track down rare crash locking capsule indirect shadow vertex buffer
Change 3219885 on 2016/12/02 by Daniel.Wright
Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable'
Change 3219886 on 2016/12/02 by Daniel.Wright
Don't create projected shadows when r.ShadowQuality is 0
* Fixes crash in the forward path trying to render shadows
* In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped
Change 3219887 on 2016/12/02 by Daniel.Wright
Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing
Change 3219893 on 2016/12/02 by Daniel.Wright
AMD AGS library with approved TPS
Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below)
Change 3219913 on 2016/12/02 by Daniel.Wright
Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded
Change 3220029 on 2016/12/02 by Daniel.Wright
Async shader compiling now recreates scene proxies which are affected by the material which was compiled. This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation).
* A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials
* Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials
* FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet
Change 3220108 on 2016/12/02 by Daniel.Wright
Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present
Change 3220504 on 2016/12/03 by Mark.Satterthwaite
Metal Desktop Tessellation support from Unicorn.
- Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4).
- Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant.
- Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation.
- Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding.
- Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default.
- Epic: Various fixes to Layered Rendering for Metal.
- Omits Mobile Tessellation support which needs further revision.
Change 3220881 on 2016/12/04 by Mark.Satterthwaite
Compiles fixes for iOS & static analysis fixes from Windows.
Change 3221180 on 2016/12/05 by Guillaume.Abadie
Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time.
Change 3221217 on 2016/12/05 by Chris.Bunner
More NVAPI warning fixups.
Change 3221219 on 2016/12/05 by Chris.Bunner
When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent.
#jira UE-37792
Change 3221220 on 2016/12/05 by Chris.Bunner
Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames.
#jira UE-35132
Change 3221221 on 2016/12/05 by Chris.Bunner
PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser)
#jira UE-35760
Change 3221223 on 2016/12/05 by Chris.Bunner
Default to include dev-code when compiling material preview stats.
#jira UE-20321
Change 3221534 on 2016/12/05 by Rolando.Caloca
DR - Added FDynamicRHI::GetName()
Change 3221833 on 2016/12/05 by Chris.Bunner
Set correct output extent on PostProcessUpscale (allows users to extend chain correctly).
#jira UE-36989
Change 3221852 on 2016/12/05 by Chris.Bunner
32-bit/ch EXR screenshot and frame dump output.
Fixed row increment bug in 128-bit/px surface format readback.
#jira UE-37962
Change 3222059 on 2016/12/05 by Rolando.Caloca
DR - vk - Fix memory type not found
Change 3222104 on 2016/12/05 by Rolando.Caloca
DR - Lambdaize
- Added quicker method to check if system textures are initialized
Change 3222290 on 2016/12/05 by Mark.Satterthwaite
Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist.
Change 3222864 on 2016/12/06 by Rolando.Caloca
DR - Fix mem leak when exiting
Change 3222873 on 2016/12/06 by Rolando.Caloca
DR - vk - Minor info to help track down leaks
Change 3222875 on 2016/12/06 by Rolando.Caloca
DR - Fix mem leak with VisualizeTexture
#jira UE-39360
Change 3223226 on 2016/12/06 by Chris.Bunner
Static analysis warning workaround.
Change 3223235 on 2016/12/06 by Ben.Woodhouse
Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D
Change 3223343 on 2016/12/06 by Chris.Bunner
Moved HLOD persistent data to viewstate to fix per-view compatability.
#jira UE-37539
Change 3223349 on 2016/12/06 by Chris.Bunner
Fixed HLOD with FreezeRendering command.
#jira UE-29839
Change 3223371 on 2016/12/06 by Michael.Trepka
Removed obsolete check() in FMetalSurface constructor
Change 3223450 on 2016/12/06 by Chris.Bunner
Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward.
Change 3223638 on 2016/12/06 by Michael.Trepka
Restored part of the check() in FMetalSurface constructor removed in CL 3223371
Change 3223642 on 2016/12/06 by Mark.Satterthwaite
Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet).
- Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs).
- Enable with -metaledr command-line argument as it is off-by-default.
- Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding.
Change 3223830 on 2016/12/06 by Rolando.Caloca
DR - vk - Better error when finding an invalid Vulkan driver
#jira UE-37495
Change 3223869 on 2016/12/06 by Rolando.Caloca
DR - vk - Reuse fences
Change 3223906 on 2016/12/06 by Guillaume.Abadie
Fix alpha through TempAA artifact causing a small darker edge layouts.
Change 3224199 on 2016/12/06 by Mark.Satterthwaite
Fix a dumb copy-paste error from the HDR changes to Metal.
Change 3224220 on 2016/12/06 by Mark.Satterthwaite
Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects.
- Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering.
Change 3224236 on 2016/12/06 by Mark.Satterthwaite
IWYU CIS compile fix for iOS.
Change 3224366 on 2016/12/06 by Mark.Satterthwaite
Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears.
- If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted.
- This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo.
Change 3224416 on 2016/12/06 by Uriel.Doyon
New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds.
Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives).
Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData.
Fix for material texture streaming data not being available on some cooked builds.
Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible).
This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting.
Forced residency are now loaded in two steps (visible, then forced), improving reactiveness.
Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them,
and also "LastRenderTimeMips" which related to timed primitives.
Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency.
"Texture Streaming Build" now updates the map check after execution.
Removed Orphaned texture logic as this has become irrelevant with the latest retention priority logic.
Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements.
Change 3224532 on 2016/12/07 by Uriel.Doyon
Integrated CL 3223965 :
Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore.
Added more options to allow the user to cancel this build also.
Change 3224714 on 2016/12/07 by Ben.Woodhouse
Cherry pick CL 3223972 from //fortnite/main:
Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms)
Change 3224715 on 2016/12/07 by Ben.Woodhouse
New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version
Change 3224975 on 2016/12/07 by Rolando.Caloca
DR - vk - Dump improvements
Change 3225012 on 2016/12/07 by Rolando.Caloca
DR - Show warning if trying to use num samples != (1,2,4,8,16)
Change 3225126 on 2016/12/07 by Chris.Bunner
Added 'force 128-bit rendering pipeline' to high-res screenshot tool.
#jira UE-39345
Change 3225449 on 2016/12/07 by Chris.Bunner
Updated engine rendering defaults to better match current best practices.
#jira UE-38081
Change 3225485 on 2016/12/07 by Chris.Bunner
Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases.
#jira UE-19394
Change 3225486 on 2016/12/07 by Chris.Bunner
Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled.
Change 3225505 on 2016/12/07 by Daniel.Wright
Fixed exponential height fog disappearing with no skybox
Change 3225655 on 2016/12/07 by Benjamin.Hyder
Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting.
Change 3225668 on 2016/12/07 by Chris.Bunner
Dirty owning packages when user manually forces regeneration of all reflection captures.
#jira UE-38759
Change 3226139 on 2016/12/07 by Rolando.Caloca
DR - Fix recompute tangents disabling skin cache
- Make some macros into lambdas
#jira UE-39143
Change 3226212 on 2016/12/07 by Daniel.Wright
Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false
Change 3226213 on 2016/12/07 by Daniel.Wright
Scene Capture 2D can specify a global clip plane, which is useful for portals
* Requires the global clip plane project setting to be enabled
Change 3226214 on 2016/12/07 by Daniel.Wright
Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass
* If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used
* Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing
* Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost
* Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall
Change 3226258 on 2016/12/07 by Rolando.Caloca
DR - Typo fix
Change 3226259 on 2016/12/07 by Rolando.Caloca
DR - compile fix
#jira UE-39143
Change 3226932 on 2016/12/08 by Chris.Bunner
Re-saved Infiltrator maps to update reflection captures.
#jira UE-38759
Change 3227063 on 2016/12/08 by Mark.Satterthwaite
For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia.
#jira UE-37436
Change 3227120 on 2016/12/08 by Gil.Gribb
Merging //UE4/Dev-Main@3226895 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3227211 on 2016/12/08 by Arne.Schober
DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant.
Change 3227257 on 2016/12/08 by Marc.Olano
Extension to PseudoVolumeTexture for more flexible layout
Change by ryan.brucks
Change 3227286 on 2016/12/08 by Rolando.Caloca
DR - Fix crash when using custom expressions and using reserved keywords
#jira UE-39311
Change 3227376 on 2016/12/08 by Mark.Satterthwaite
Must not include a private header inside the MenuStack public header as that causes compile errors in plugins.
Change 3227415 on 2016/12/08 by Mark.Satterthwaite
Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering.
Change 3227516 on 2016/12/08 by Daniel.Wright
Implemented UWidgetComponent::GetUsedMaterials
Change 3227521 on 2016/12/08 by Guillaume.Abadie
Fixes post process volume's indirect lighting color.
#jira UE-38888
Change 3227567 on 2016/12/08 by Marc.Olano
New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask
Change 3227628 on 2016/12/08 by Daniel.Wright
Removed redundant ResolveSceneDepthTexture from the merge
Change 3227635 on 2016/12/08 by Daniel.Wright
Forward renderer supports shadowing from movable lights and light functions
* Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed
* Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned
Change 3227660 on 2016/12/08 by Rolando.Caloca
DR - vk - Fix r.MobileMSAA on Vulkan
- r.MobileMSAA is now read-only (to be fixed on 4.16)
- Show time for PSO creation hitches
#jira UE-39184
Change 3227704 on 2016/12/08 by Mark.Satterthwaite
Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms.
Change 3227705 on 2016/12/08 by Daniel.Wright
Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426)
Change 3227787 on 2016/12/08 by Chris.Bunner
Added extent clear to motion blur pass to catch misized buffers bringing in errors.
Added early out to clear call when excluded region matches RT region.
#jira UE-39437
Change 3228177 on 2016/12/08 by Marc.Olano
Fix DCC sqrt(int) error
Change 3228285 on 2016/12/08 by Chris.Bunner
Back out changelist 3225449.
#jira UE-39528
Change 3228680 on 2016/12/09 by Gil.Gribb
Merging //UE4/Dev-Main@3228528 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3228940 on 2016/12/09 by Mark.Satterthwaite
Editor fixes for 4.15:
- PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again.
- Don't start render-passes without a valid render-target-array in MetalRHI.
Change 3228950 on 2016/12/09 by Mark.Satterthwaite
Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11.
- Fixed the Skeleton editor tree trying to access a widget before it has been constructed.
- Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation.
#jira UE-39256
Change 3229013 on 2016/12/09 by Mark.Satterthwaite
Further tidy up in SSkeletonTreeView as suggested by Nick.A.
Change 3229101 on 2016/12/09 by Chris.Bunner
Log compile error fix and updated cvar comments.
Change 3229236 on 2016/12/09 by Ben.Woodhouse
XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles
Change 3229430 on 2016/12/09 by Ben.Woodhouse
PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov)
Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster)
Change 3229580 on 2016/12/09 by Marcus.Wassmer
DepthBoundsTest for AMD.
Change 3229701 on 2016/12/09 by Michael.Trepka
Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2
Change 3229706 on 2016/12/09 by Chris.Bunner
Added GameUserSettings controls for HDR display output.
Removed Metal commandline as this should replace the need for it.
Change 3229774 on 2016/12/09 by Michael.Trepka
Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit.
Change 3229819 on 2016/12/09 by Chris.Bunner
Updated engine rendering defaults to better match current best practices.
#jira UE-38081
Change 3229948 on 2016/12/09 by Rolando.Caloca
DR - Fix d3d debug error
#jira UE-39589
Change 3230341 on 2016/12/11 by Mark.Satterthwaite
Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled.
#jira UE-39613
Change 3230860 on 2016/12/12 by Marcus.Wassmer
Experimental Nvidia AFR support.
Change 3230930 on 2016/12/12 by Mark.Satterthwaite
Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function.
Change 3231252 on 2016/12/12 by Marcus.Wassmer
Fix NumGPU detection. (SLI only crash)
Change 3231486 on 2016/12/12 by Mark.Satterthwaite
Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers.
Change 3231661 on 2016/12/12 by Mark.Satterthwaite
Retain the RHI samplers in MetalRHI to guarantee lifetime.
[CL 3231696 by Gil Gribb in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3175510 on 2016/10/26 by Josh.Adams
- New Wolf SDK support (11).
- Added new input plugin now that extra NDA is lifted
Change 3176629 on 2016/10/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3177232 on 2016/10/27 by Josh.Adams
- Minor comment change
Change 3177348 on 2016/10/27 by Dmitry.Rekman
Linux: default to GL4.
Change 3177523 on 2016/10/27 by Dmitry.Rekman
Linux: update libc++ to 3.9 and add AArch64.
Change 3178208 on 2016/10/28 by Daniel.Lamb
Enable multithreaded lightmap encoding.
Change 3178273 on 2016/10/28 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix crash in PS4 packaging step.
- Parallel-for accessing the same log files, causing IOException.
Change 3178573 on 2016/10/28 by Dmitry.Rekman
Linux: fix for projects not having proper version associations (UE-5954).
- Fixed by CengizT.
Change 3180487 on 2016/10/31 by Josh.Adams
Moved new file to peoper spot
Change 3180508 on 2016/10/31 by Josh.Adams
- Fixed crash on audio free for Wolf
Change 3181821 on 2016/11/01 by Josh.Adams
- Fixed ShooterGame cooking after sync from main
Change 3182469 on 2016/11/01 by Josh.Adams
- test/shipping build wolf fixes
Change 3183078 on 2016/11/02 by Josh.Adams
- Added AllDesktop back in for Windows (File | Package)
Change 3183229 on 2016/11/02 by Josh.Adams
- Fixed wrong path in JunkManifest.txt
Change 3184245 on 2016/11/02 by Dmitry.Rekman
Linux: add AArch64 (ARM64) libs.
Change 3184326 on 2016/11/02 by Dmitry.Rekman
Linux: add more files for AArch64.
Change 3184353 on 2016/11/02 by Dmitry.Rekman
Linux: Add missed AArch64 libpng.
Change 3184871 on 2016/11/03 by Luke.Thatcher
[PLATFORM] [PS4] [!] Fix broken DownloadImage blueprint node on PS4.
- Node should return a UTexture2DDynamic, otherwise the RHI assumes the data has been pre-formatted for the GPU, and we get pitch/layout issues.
#jira UE-36365
Change 3185407 on 2016/11/03 by Dmitry.Rekman
Linux: fix PhysX on AArch64.
(Edigrating 3184484 from Wombat to Dev-Platform).
Change 3187488 on 2016/11/04 by Josh.Adams
Copying //Tasks/UE4/Private-Platform-Switch to Dev-Platform-Minimal (//UE4/Dev-Platform-Minimal)
Change 3187740 on 2016/11/04 by Josh.Adams
- Re-copying the Switch files, now with proper case in the directory names
Change 3188304 on 2016/11/07 by Dan.Mahashin
- Removed deprecated functions in NVN window creation
Change 3188865 on 2016/11/07 by Luke.Thatcher
[PLATFORM] [PS4] [~] Move PS4 console input handler into engine classes from OrionGame.
- Enables console input from Sony's "Console Output" tool for all games, in debug/development builds.
#jira UE-37672
Change 3189517 on 2016/11/07 by Jeff.Campeau
Fix incorrect local platform identification in device manager.
#jira UE-38312
Change 3189897 on 2016/11/08 by Luke.Thatcher
[PLATFORM] [!] Fix width/height mismatch in DownloadImage blueprint node.
Change 3190042 on 2016/11/08 by Josh.Adams
- Fixed default and Shooter App Ids for Switch
Change 3190181 on 2016/11/08 by Joe.Barnes
[UE-37275] Split reflection capture error message into two UE_LOG()s. Line length causes truncation and line wrap on some platforms.
Change 3190185 on 2016/11/08 by Joe.Barnes
Fix another instance of UE_LOG() where the string was being truncated on Switch platform.
Change 3190272 on 2016/11/08 by Daniel.Lamb
Add file hashes to depependency tracking info.
Moved partial gc controlling code outside of the cooker.
Store cooked file hashes in cooked asset registry.
Cooked asset registry is now part of the cooker instead of chunking manifest.
#test cook paragon
Change 3190332 on 2016/11/08 by Omar.Rodriguez
Fixing issues with iOS remote notifications
* Update UPlatformGameInstance::FPlatformRegisteredForRemoteNotificationsDelegate signature so the parameter is const& which will work with BlueprintAssignable
* Fix misspelling when doing respondsToSelector check
* Update generated Xcode project to use the generated entitlements file
* Add remote-notification as a background mode
* Update the generated entitlements file contents to include APS environment for push notifications
* Added bEnableRemoteNotificationsSupport ini parameter to control whether iOS push notifications code is compiled
Change 3190391 on 2016/11/08 by Brent.Pease
UE-31739 - Crash when Deploying to iPad Air with BC4 Texture Compression Setting
(Josh's suggestion worked out of the box)
Change 3190786 on 2016/11/08 by Bart.Hawthorne
Fix some missing PLATFORM_WOLF changes to PLATFORM_SWITCH in ShooterGame
Change 3190902 on 2016/11/08 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
#jira UE-37845
#android
Change 3190973 on 2016/11/08 by Chris.Babcock
Add ability to set element value field with new text parameter for UPL
#jira UE-37390
#PR #2869
#ue4
#upl
Change 3191411 on 2016/11/09 by Josh.Stoddard
Warn when user tries to use a shared pak reader on the wrong thread
#jira UE-38049
Change 3191635 on 2016/11/09 by Josh.Stoddard
More useful message during cook when AT9 assets fail to encode using SCE's tool
#jira UE-38053
Change 3191663 on 2016/11/09 by Peter.Sauerbrei
fix for ios build from PC
Change 3191701 on 2016/11/09 by Brent.Pease
implement iOS device logs on windows
Change 3191794 on 2016/11/09 by Daniel.Lamb
Fixed up compile error missing header file.
#test Compile editor
#jira UE-38414
Change 3191807 on 2016/11/09 by Josh.Adams
- Fixed one chage that was missed in the WolfPlat->Switch rename
Change 3191867 on 2016/11/09 by Josh.Adams
- Enabled Switch for ShooterGame project
Change 3191958 on 2016/11/09 by Jeff.Campeau
Add warning for anyone still using XP
Change 3192185 on 2016/11/09 by Josh.Adams
- Updated to SDK 0.11.12
- Added TrackLotCheckItem API to track guidelines with limits (nothing using it yet)
Change 3192241 on 2016/11/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3192324 on 2016/11/09 by Josh.Adams
- Worked around an issue with RunOnTarget stripping quotes around paths with spaces
#jira UE-38388
Change 3192387 on 2016/11/09 by Josh.Adams
- Updating editor icon for Switch
#jira UE-38295
Change 3192476 on 2016/11/09 by Dmitry.Rekman
Linux: put correct OpenAL lib per architecture.
(Edigrating CL 3185947 from Wombat to Dev-Platform)
Change 3192527 on 2016/11/09 by Josh.Adams
- Fixed a shadow variable warning
#jira UE-38408
Change 3192606 on 2016/11/09 by Jeff.Campeau
XP option removed
#jira UEPLAT-1542
Change 3192644 on 2016/11/09 by Josh.Adams
- Fixed a CIS error (not sure why I don't get it, but hey)
Change 3192659 on 2016/11/09 by Josh.Adams
- Fixed a crash in DeploymentServer
Change 3192672 on 2016/11/09 by Jeff.Campeau
Fix WinXP message spamming
Change 3193252 on 2016/11/10 by Josh.Adams
- Remove assertion in SwitchTextureFormat when the SDK can't be found (if you are sharing DLLs)
Change 3193756 on 2016/11/10 by Dmitry.Rekman
Linux: add support for touch events.
(Edigrating CL 3188159 from Wombat to Dev-Platform).
Change 3194297 on 2016/11/10 by Jeff.Campeau
HarfBuzz implementation for Xbox One
#jira UE-28590
Change 3194299 on 2016/11/10 by Jeff.Campeau
Pump Xbox One messaging during slow startup tasks
#jira UEPLAT-1276
Change 3194300 on 2016/11/10 by Jeff.Campeau
Use response files when building for Xbox One
#jira UEPLAT-1296
Change 3194313 on 2016/11/11 by Jeff.Campeau
Stop uploading symbols on the first error
Show a more detailed error message if symbol uploading fails
Add a command line option to disable upload of symbols
#1852
#jira UE-24425
Change 3194327 on 2016/11/11 by Jeff.Campeau
Deduplicate Xbox One build.cs setup for several modules
#jira UE-37540
Change 3194402 on 2016/11/11 by Dmitry.Rekman
Linux: do not apply mouse workaround unnecessarily.
- Only matters when there is more than one window.
(Edigrating 3194399 from Wombat to Dev-Platform).
Change 3194434 on 2016/11/11 by Dan.Mahashin
- Ported fix CL 3193690: Add workaround to file I/O error about ResultInvalidCurrentMemory when reloading levels - remove uncached attribute during memory pool finalization
Change 3194569 on 2016/11/11 by Daniel.Lamb
Fixed issue with CreateLinker failing to return LinkerLoad but creating a UPackage which can't be cleaned up.
Change 3194570 on 2016/11/11 by Daniel.Lamb
Fix for DiffSerializeArchive not using the correct archive when saving packages.
#test Cook paragon
Change 3194571 on 2016/11/11 by Daniel.Lamb
Make sure dependent packages are valid before using them.
Added FastBuildCookRun bat file for paragon testing.
#test Cook Paragon
Change 3194575 on 2016/11/11 by Daniel.Lamb
Reworked a warning for the cooker.
Change 3194698 on 2016/11/11 by Daniel.Lamb
Skip skin verify only runs on build machines now.
Saves paragon cook time.
Change 3194699 on 2016/11/11 by Daniel.Lamb
Changed the wording of skip editor content setting so it's more clear.
#test none
Change 3194702 on 2016/11/11 by Daniel.Lamb
Potential fix for default materials not being in chunk zero.
#test run ps4 cooked build paragon
Change 3194711 on 2016/11/11 by Alicia.Cano
Allow RTTI and exceptions to be enabled for Android
Allow RTTI to be enabled for IOS, Mac
#jira UE-37845, UE-20314
#android
#ios
#mac
Change 3194956 on 2016/11/11 by Josh.Adams
- Removed the crash with unknown socket error code, left in the warning
Change 3195028 on 2016/11/11 by Dmitry.Rekman
Linux: repair launch on.
(Edigrating 3194384 from //UE4/Private-Wombat/... to //UE4/Dev-Platform/...)
Change 3195041 on 2016/11/11 by Dmitry.Rekman
Linux: support selecting architectures per project.
(Edigrating 3192783 from Wombat to Dev-Platform).
Change 3195058 on 2016/11/11 by Dmitry.Rekman
Linux: fix code to determine number of cores.
- ARM topology seems not to be in line with the assumptions made by x86-centric code.
(Merging 3184632 from Wombat to Dev-Platform).
Change 3195082 on 2016/11/11 by Josh.Adams
- Fixed name of packaged Switch builds to have the config in it (Shipping, etc)
#jira UE-38394
Change 3195151 on 2016/11/11 by Bart.Hawthorne
- Add game server settings to project settings to connect to the actual game server, instead of the debug login
- Use the system software dialog box to show error codes for login failures
Change 3195153 on 2016/11/11 by Josh.Adams
- Fixed copy and paste logs errors
Change 3195156 on 2016/11/11 by Josh.Adams
- Fixed some default values, especially for save games (uses their default of 4MB size)
- Added some LotCheck write tracking
Change 3195285 on 2016/11/11 by Jeff.Campeau
Fix HarfBuzz warning on Xbox One
Change 3195477 on 2016/11/11 by Josh.Adams
- Fixed up some IsGameOnly calls
#jira UE-37575
Change 3195490 on 2016/11/11 by Dmitry.Rekman
UAT: fix CIS (removed old variables).
Change 3195724 on 2016/11/11 by Josh.Adams
- Final fix for name of .nsp (content only projects in Shipping config, etc)
#jira UE-38394
Change 3195755 on 2016/11/11 by Josh.Adams
- Made translucent Switch icons
Change 3195771 on 2016/11/11 by Josh.Adams
- Fixed some Switch "space in path" issues
#jira UE-38393
Change 3195801 on 2016/11/11 by Josh.Adams
- Handle making sure the save is completed before we shutdown
#jira UE-38215
Change 3196593 on 2016/11/14 by Michael.Trepka
Implemented Info string in AvfMedia for display in Media Player Editor
#jira UE-35386
Change 3196782 on 2016/11/14 by Josh.Adams
- Added a comment for a workaround
Change 3196784 on 2016/11/14 by Michael.Trepka
Alembic importer for Mac
#jira UE-37708
Change 3196901 on 2016/11/14 by Alicia.Cano
ADB over wifi fails to deploy on Launch on.
#jira UE-37957
#android
Change 3197055 on 2016/11/14 by Josh.Adams
- Fixed BinnedAllocator crash that happened with PoisonProxy and large allocations with large alignment
Change 3197059 on 2016/11/14 by Josh.Adams
- Removed some stat code with no STATS
Change 3197066 on 2016/11/14 by Josh.Adams
- Fixed the generic growableallocator to not free metadata before it's used for stats, and cleaned up a couple minor things
Change 3197176 on 2016/11/14 by Josh.Adams
- Added some helper scripts to switch in and out of debug mode on Switch
Change 3197183 on 2016/11/14 by Bart.Hawthorne
Error dialog fixes based on peer review feedback from JoshA
Change 3197339 on 2016/11/14 by Josh.Adams
Allow -htcs on the commandline now to override disabling Htcs in packaged builds
Change 3197401 on 2016/11/14 by Josh.Adams
- Fixed the Switch package installation script to remove the path of the package, since it causes problems with spaces, and also it makes the script less portable!
#jira UE-38556
Change 3197691 on 2016/11/14 by Dmitry.Rekman
Linux: save added devices.
(Edigrating 3196529 from Wombat to Dev-Platform).
Change 3197854 on 2016/11/15 by Dan.Mahashin
- MemoryProfiler2: fixed Switch parser file path in the csproj
Change 3197960 on 2016/11/15 by Dan.Mahashin
- NVN RHITransitionResources() directly uses a barrier instead of relying on CopyToResolveTarget() side effect (UE-33834)
Change 3198488 on 2016/11/15 by Bart.Hawthorne
Submit missing NoRedist/DefaultEngine.ini file
Change 3198970 on 2016/11/15 by Michael.Trepka
Don't try to use installed Mono 4.6 on Mac as it's known to have issues on macOS 10.12 (for example building the editor with UBT often fails with Mono running out of file desriptors)
Change 3199050 on 2016/11/15 by Daniel.Lamb
Some more output to help track down iterative cooking scenarios
#test Cook paragon
Change 3199097 on 2016/11/15 by Josh.Adams
- Fixed up Switch packaging to re-generate the meta data in case it changed since compile time (esp with content only projects
- Fixed default Program Id in code
- Fixed a problem with Run with a space in the path
#jira UE-38608
Change 3199181 on 2016/11/15 by Dmitry.Rekman
Fix CIS (compiling LinuxTargetDevice without engine).
Change 3199253 on 2016/11/15 by Dmitry.Rekman
Hopeful fix for a static analysis warning.
Change 3199325 on 2016/11/15 by Joe.Barnes
Start a new CommandBuffer immediately upon ending one. Prevents fetching when there's no CommandBuffer. Needed for Loading Screen movie playback.
Change 3199814 on 2016/11/15 by Dmitry.Rekman
Linux: remove forced -windowed when launching.
(Merging CL 3199789 from Wombat to Dev-Platform)
Change 3200580 on 2016/11/16 by Josh.Adams
Updasted DeploymentServer
Change 3200595 on 2016/11/16 by Joe.Barnes
Removed inadvertent SleepThread() when starting movie playback.
Change 3200604 on 2016/11/16 by Josh.Adams
- Added NN_MIDDLEWARE macros to tag ths apps as using UE4 middleware
Change 3200632 on 2016/11/16 by Brent.Pease
Update PlatformShowcase with latest tests
Change 3200704 on 2016/11/16 by Dmitry.Rekman
Linux: fix native compilation.
Change 3200711 on 2016/11/16 by Brent.Pease
- Support ios audio streaming from disk
- Flushed out ADPCMAudioInfo to be more flexible with buffer management in addition to support streaming from disk. This should make more code platform independent.
+ Other platforms should work fine but will need to be updated to use the new buffer flexability (and hence simplify their own code and buffer management)
- IOS audio implementation simplified to use new ADPCMAudioInfo functionality
- Fixed adpcm seamless looping
NOTE: While everything works with my testing (admittedly simple tests) a little more code cleanup needs to happen...
Change 3201015 on 2016/11/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3201023 on 2016/11/16 by Josh.Stoddard
Fix splash screen assignment for iPad
#jira UE-38623
Change 3201215 on 2016/11/16 by Brent.Pease
Hopefully final fix for build breakage
Change 3201259 on 2016/11/16 by Josh.Adams
- Removed the clock rate settings from the Project Settings, and the cvars - it was just confusing
- Further improved the metadata recreation during packaging (can get rid of the temp meta/desc files now I believe)
- Reduced audio pool alignment to not waste massive memory from it
Change 3202332 on 2016/11/17 by Daniel.Lamb
Changed build scripts to support iterative cooking
#test Ran new build scripts
Change 3202371 on 2016/11/17 by Michael.Trepka
Changed FAppleHttpResponse::GetContentLength to return expected content size instead of payload size so it's consistent with other implementations
#jira UE-38392
Change 3202421 on 2016/11/17 by Michael.Trepka
Decrease the number of max open files for a thread on Apple platforms from 256 to 192 to leave more file descriptors to Cocoa
#jira UE-18343
Change 3202462 on 2016/11/17 by Michael.Trepka
Fixed HTTP If-None-Match response code on Mac and iOS
Fixed by iktomi, https://answers.unrealengine.com/questions/492514/http-if-none-match-logic-isnt-working-on-mac-due-t.html
#jira UE-36317
Change 3202620 on 2016/11/17 by Daniel.Lamb
Fixed issue with some objects being garbage collected which shouldn't be because the collection handler didn't get registered.
Commandlets now do not always have GIsRequestingExit true.
Made crash handler check for commandlets running and exit appropriately.
#test Rebuild lighting QAGame
Change 3202955 on 2016/11/17 by Daniel.Lamb
Add support for clearing all the cached cooked platform data for a platform when requested.
#test cook QA game
#jira UE-38361
Change 3202983 on 2016/11/17 by Daniel.Lamb
Added support to rebuild lightmaps commandlet for building lightmaps in seperate files.
#test rebuild lighting Custom QAGame maps.
#jira OR-31907
Change 3203128 on 2016/11/17 by Josh.Adams
- Fixed split screen user selection in ShooterGame (brought over some changes from NickD for it as well)
Change 3203537 on 2016/11/18 by Dmitry.Rekman
Fix ProjectWorldToScreen node for letterboxed viewports.
(Merging CL 3201546 from Wombat to Dev-Platform).
Change 3203540 on 2016/11/18 by Dmitry.Rekman
Linux: be more verbose when setting vblank sync.
(Merging CL 3199633 from Private-Wombat to Dev-Platform).
Change 3203599 on 2016/11/18 by Dmitry.Rekman
Speedup bForceCompilationAtStartup=True when nothing changed (UE-37067).
- PR #2849: Contributed by slonopotamus.
Change 3203610 on 2016/11/18 by Dmitry.Rekman
Add CEF support for Linux (UE-6743).
Change 3203615 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script so it is independent of working dir (UE-37016).
- PR #2842 contributed by slonopotamus
Change 3203645 on 2016/11/18 by Dmitry.Rekman
Linux: fix UnrealCEFSubProcess.
Change 3203658 on 2016/11/18 by Dmitry.Rekman
Remove hard-coded paths to mono binary (UE-35228).
- Another way to implement pull request #2741.
Change 3203770 on 2016/11/18 by Josh.Adams
- Brought over some changes from Dev-Core to not crash in AsyncLoading with debug code
Change 3204244 on 2016/11/18 by Dmitry.Rekman
Unsuppress mistakenly suppressed warnings and fix one more (UE-38788).
Change 3204277 on 2016/11/18 by Brent.Pease
+ Fix seamless looping bug found on Dan's QAGame test
+ Fix static analyzer warning (which was a real bug with uncompressed streaming)
+ Code review feedback from Aaron
+ Small addition from channel sync ios bug fix
Change 3204576 on 2016/11/18 by Omar.Rodriguez
Expose the bEnableRemoteNotificationsSupport ini setting in the iOS project settings.
Change 3204629 on 2016/11/18 by Chris.Babcock
Fix case of VulkanSwapChain.h #include
#jira UE-38843
#ue4
#vulkan
Change 3204708 on 2016/11/18 by Josh.Adams
- Set SwitchMoviePlayer to include the libs from the proper directory
Change 3204730 on 2016/11/18 by Josh.Adams
- Changed a check to a checkf to narrow down why FMaterialUniformExpressionType::GetTypeMap().FindRef(TypeName) is returning nullptr on tvOS
Change 3204865 on 2016/11/18 by Brent.Pease
+ Turn off ios console logs on Windows to help sort through ios packaging and launch-on issues - This is NOT a fix but it should make it easier to track down the problem with it off.
Change 3204883 on 2016/11/18 by Dmitry.Rekman
Linux: fix native LaunchOn (UE-38616).
Change 3204914 on 2016/11/18 by Brent.Pease
+ Turn off the device check to prevent it from conflicting with remote packaging/launch-on
Change 3204940 on 2016/11/18 by Josh.Adams
Backing out changes to the profiler for Switch. Shouldn't have checked it in today during smoke
Change 3204952 on 2016/11/18 by Dmitry.Rekman
Linux: fix bootstrap script (UE-38851).
- Caused by UE-37016.
Change 3205630 on 2016/11/21 by Brent.Pease
+ Fix audio sound queuing bug by ensuring audio buffers are not reused by different sound source objects.
+ Cleaned up the locking mechanism around stopping sound sources to make its intent and function are clear
+ Cleaned up memory tracking and freeing.
#jira ue-38846
Change 3205787 on 2016/11/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
[CL 3206922 by Josh Adams in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3109545 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHIs stage 1.
#Tests Ran InfiltratorDemo, ElementalDemo, ShooterGame
Change 3109580 on 2016/09/01 by Zabir.Hoque
Merging DX12 RHI. Stage 2: Moving XB and Windows APIs to a common location. This will cause a build break, but will allow us to preserve history.
Change 3109632 on 2016/09/01 by Zabir.Hoque
Merge DX12 RHI. Stage 3. Ported all changes and merged RHI into common and Win and XB1 specialized folder. Current with MS partners branch and Release 4.13.
Change 3109690 on 2016/09/01 by Zabir.Hoque
Fixing build break after large merge from partners branch and syncing to latest Dev-Rendering.
Change 3109716 on 2016/09/01 by Zabir.Hoque
Fix build warnings after merge.
Change 3109733 on 2016/09/01 by Zabir.Hoque
More build fixes for things pointing from XboxOneD3D12RHI to D3D12RHI
Change 3109773 on 2016/09/01 by Zabir.Hoque
Fixing code analysis warnings.
Change 3109870 on 2016/09/01 by Rolando.Caloca
DR - Simple clear mode
Change 3110066 on 2016/09/01 by Zabir.Hoque
Remove C++11 feature so VS2013 can compile for Fortnite.
Change 3110335 on 2016/09/01 by Brian.Karis
Fixed double lighting of clear coat, cloth, and eyes
#review-3108222 @Ben.Woodhouse
Change 3110411 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix bogus assert
- Fix pipeline barrier with levelCount=0
Change 3110573 on 2016/09/01 by Zabir.Hoque
Exclude D3D12 merged RHI from Mac Builds.
Change 3110681 on 2016/09/01 by Rolando.Caloca
DR - vk - Swapchain fix for drivers returning infinite swapchain images
Change 3110936 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix crash when dumping unused heaps
- Show file/line if enabled
Change 3111034 on 2016/09/01 by Rolando.Caloca
DR - vk - Fix exclude rect clear
Change 3111139 on 2016/09/01 by Rolando.Caloca
DR - Automatically enable capturing mode if running under RenderDoc
Change 3111170 on 2016/09/01 by Rolando.Caloca
DR - vk - Store max info per descriptor set pool
Change 3111234 on 2016/09/01 by Zabir.Hoque
XB1 compiler warnings.
Change 3111763 on 2016/09/02 by Rolando.Caloca
DR - Fix typo in shader
PR #2759
#jira UE-35496
Change 3111846 on 2016/09/02 by Rolando.Caloca
DR - vk - Update to SDK 1.0.24.0 (including glslang)
Change 3111916 on 2016/09/02 by Ben.Woodhouse
Fix for timestamp query results being broken in the XB1 DX11 RHI (caused by a merge issue with dev-platform)
Also clarify some variable naming
Change 3112048 on 2016/09/02 by Rolando.Caloca
DR - vk - Compile fix for build machines
Change 3112315 on 2016/09/02 by Rolando.Caloca
DR - vk - Added peak usage to mem dump
Change 3112791 on 2016/09/02 by Daniel.Wright
FD3D12PipelineStateCache debug fix
Change 3113483 on 2016/09/05 by Ben.Woodhouse
Fix potential issue with timestamp and occlusion queries overlapping with new query packing optimisation. We may want to put these into separate buffers to avoid reduce the padding with timestamp queries (timestamp queries currently use 4x the memory they actually need due to additional padding)
Change 3113488 on 2016/09/05 by Ben.Woodhouse
GPu profiler : fix for render thread performance issues, enable GPU profiler by default
Avoids RHIThread stalls in query creation by reusing queries via a pool. A FRenderQueryPool class already existed for doing this, so this was moved into the engine to make it accessible from both the engine and renderer modules
Tested on XB1,PS4,PC dx11
Change 3114286 on 2016/09/06 by Chris.Bunner
Copying CL 3114173 from 4.13 - Better enforce render resource limits on widget draw size.Jira UE-26375.
Change 3114883 on 2016/09/06 by Rolando.Caloca
DR - vk - Delete resources on the RHI thread
- Set blend factor to 1
- Added num mips & num layers to RT views
- Added missing destructors
- Fix for crash on rhi thread
Change 3116308 on 2016/09/07 by Rolando.Caloca
DR - vk - New renderpass/transition/barrier rewrite for sm4 (disabled)
- Fixes for 3d texture RTs
Change 3117409 on 2016/09/08 by Gil.Gribb
Merging //UE4/Dev-Main@3117389 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3117445 on 2016/09/08 by Gil.Gribb
Fix merge fallout
Change 3117555 on 2016/09/08 by Rolando.Caloca
DR - Fix merge issue
Change 3117687 on 2016/09/08 by Marc.Olano
Create new Vector Noise material node, and *3DDeriv numerical derivative material functions
Vector Noise node has noise functions with 3D output, including cellnoise (random color per cell), computed noise with vector output, gradient of 3D noise, curl of 3D noise, and version of Voronoi noise returning seed position in the closest Voronoi cell.
3DDeriv functions compute gradient and curl on any expression using centered differences from four samples offset in a tetrahedral pattern (two fewer than the common axis-aligned offset method)
Change 3117696 on 2016/09/08 by Rolando.Caloca
DR - Replicate 4.13.1 fix from 3117678
UE4.13 - Better error reporting when SCW fails/crashes
jira UE-17227
Change 3117720 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix for static analysis
Change 3117786 on 2016/09/08 by Rolando.Caloca
DR - vk - Use new alignment
Change 3118145 on 2016/09/08 by Marcus.Wassmer
Fix async compute clear not waiting for the gfx pipe properly. Also appears to fix a rare PS4 gpu hang.
Change 3118329 on 2016/09/08 by Brian.Karis
Fix screen size calculations for LOD
Change 3118351 on 2016/09/08 by Brian.Karis
Quadric mesh simplifier!
In and working for the first time.
ScreenSize is now correctly calculated from MaxDeviation
Pixel Error now a reduction setting in LOD group.
Binary Heap is fixed and functional.
Still needs to play better with 3rd party reduction.
Change 3118457 on 2016/09/08 by Rolando.Caloca
DR - vk - Fix cube & 3d texture transitions & copies
Change 3118540 on 2016/09/08 by Benjamin.Hyder
Re-Submitting Noise assets to get engine version
Change 3119438 on 2016/09/09 by Rolando.Caloca
DR - vk - Added barrier & cache flushes when reading back GPU memory
- Added cubemap & 3d texture barriers
- Added cubemap & 3d texture copy image
Change 3119518 on 2016/09/09 by Brian.Karis
Fixed compile error
Change 3119580 on 2016/09/09 by Marc.Olano
Documentation for Vector noise
Change 3119710 on 2016/09/09 by Rolando.Caloca
DR - vk - Fix read stencil mask & front/back
Change 3119865 on 2016/09/09 by Rolando.Caloca
DR - vk - RHIReadSurfaceFloatData
- Fix redundant write transitions
- Simplify copy and transition code
Change 3120059 on 2016/09/09 by Rolando.Caloca
DR - vk - Static analysis warnings
Change 3120413 on 2016/09/09 by Mark.Satterthwaite
Fix AVFMedia plugin failing when a movie has captions.
#jira UE-35828
Change 3120936 on 2016/09/12 by Ben.Woodhouse
Add slate rendering to the GPU stats
Change 3121204 on 2016/09/12 by Rolando.Caloca
DR - vk - Fix geometry shaders position
- Revert translucent workaround
Change 3121467 on 2016/09/12 by Rolando.Caloca
DR - Fix integration issue (lost some shader defines)
Change 3121862 on 2016/09/12 by Zabir.Hoque
Fixing Code Analysis warnings.
#jira: UE-35860
Change 3122139 on 2016/09/12 by Ben.Woodhouse
Re-enable the checkerboard lighting by default to workaround skin lighting issue in fortnite (again)
#jira UE-35886
Change 3122278 on 2016/09/12 by Zabir.Hoque
2nd Attempt at Code Analysis warnings
[CL 3122339 by Marcus Wassmer in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2949393 on 2016/04/20 by Graeme.Thornton
Orion non-pak file security.
- Removed security bypass code from platform pak file
- Added a delegate to pak file code which allows the game to decide whether a file should be allowed or not
- Added an orion delegate which whitelists appropriate files
#rb robert.manuszewski
#tests win64 client + dedicated server. golden path.
Change 2949232 on 2016/04/19 by david.nikdel
#ROBOMERGE-AUTHOR: michael.noland
Paragon: Added a distinct menu frame rate limit, currently set to 60 fps and not visible in settings (if the user sets a game frame rate limit of below 60, we also clamp the menu limit to that threshold, so they can go down but not up for menus)
#jira OR-18017
#rb marcus.wassmer
#tests Ran paragon and switched between gameplay, menus, and replays, observing t.MaxFPS at different points
#ROBOMERGE-SOURCE: CL 2949231 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2949032 on 2016/04/19 by Zak.Middleton
#orion - Lower default NetUpdateFrequency for minions (10->6). Avoid excessive latency for some knockback/knockup abilities that would have noticeable lag by forcing an update sooner when they are triggered.
This should have the following effects:
1. Reduce server CPU cost (we tick minions at the net frequency).
2. Reduce server bandwidth
3. Reduce client CPU cost (we move character capsules and perform overlaps when new positions are received).
#rb Bart.Bressler, John.Pollard
#codereview Dmitry.Rekman
#tests MultiPIE AI lane, Replays
Change 2948966 on 2016/04/19 by Lina.Halper
Added log (check) of the asset info for Anim Per Track contains invalid format key
#rb: Michael.Noland
#code review: Martin.Wilson, Laurent.Delayen, Michael.Noland
#tests: editor/ cooked and test with AI_Tests with 10 bots.
Change 2948876 on 2016/04/19 by Michael.Noland
PS4: Validate that the texture pool size is not set to automatic (-1, which will crash later on as an attempt to allocate too much memory)
#rb none
#codereview marcus.wassmer
#tests Ran Paragon on PS4
Change 2948765 on 2016/04/19 by Daniel.Lamb
Removed AssetImportData tag from cooked asset registry builds.
#rb Andrew.Grant
#test Cook orion
Change 2948691 on 2016/04/19 by Marcus.Wassmer
Fix copytoresolvetarget ensure
#rb none
#test pc agora
Change 2948633 on 2016/04/19 by david.nikdel
#ROBOMERGE-AUTHOR: jason.bestimt
[AUTOMERGE]
Fix copytoresolve crash and change validation to ensure.
#test PC editor / PC golden path
#rb none
--------
Integrated using branch //Orion/Main_to_//Orion/Release-Next (reversed) of change#2948169 by Marcus.Wassmer on 2016/04/19 10:50:32.
#ROBOMERGE-SOURCE: CL 2948632 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2948507 on 2016/04/19 by david.nikdel
#ROBOMERGE-AUTHOR: andrew.grant
Merging 2937781 (Pak signing) using //Orion/Dev-General_to_Release
#rb none
#tests cooked client, checked game runs
#ROBOMERGE-SOURCE: CL 2948497 in //Orion/Release-0.24.1/... via CL 2948506
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2948431 on 2016/04/19 by Steve.Robb
CL#s 2919775 and 2942793 integrated to prevent annotation map performance problems on shutdown and asserts in PIE.
#codereview robert.manuszewski,bob.tellez
#rb bob.tellez
#tests Ran editor
Change 2948408 on 2016/04/19 by Leslie.Nivison
Adding .tps
#rb none
#test none
Change 2948185 on 2016/04/19 by david.nikdel
#ROBOMERGE-AUTHOR: chris.bunner
Fix for HLOD visibility freeze.
#tests Golden Path, Editor
#rb rolando.caloca, michael.noland
#lockdown andrew.grant
#jira OR-19863
#ROBOMERGE-SOURCE: CL 2948182 in //Orion/Release-0.24.1/... via CL 2948183
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2948149 on 2016/04/19 by Simon.Tovey
Fixed crash. Collision rendering path was not dealing with mesh batch with 0 triangles where other paths do.
#rb none
#tests No more crash
#codereview Marcus.Wassmer
Change 2948129 on 2016/04/19 by Lukasz.Furman
fixed gameplay debugger getting stuck with outdated data pack on client,
changed names of AI related debug cvars
#rb none
#tests game, PIE
#codereview Mieszko.Zielinski
Change 2948027 on 2016/04/19 by david.nikdel
#ROBOMERGE-AUTHOR: graeme.thornton
Fix for OR-20033 - CRASH: Client will crash with FRCPassPostProcessCircleDOFSetup
#rb none
#tests checked game runs without crashing
#ROBOMERGE-SOURCE: CL 2948017 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2947558 on 2016/04/18 by Matt.Kuhlenschmidt
Fix compile error
#rb none, #tests none
Change 2947509 on 2016/04/18 by Matt.Kuhlenschmidt
Added more logging to track down
https://jira.ol.epicgames.net/browse/OR-19841
#rb none, #tests none
Change 2947412 on 2016/04/18 by Ryan.Gerleve
Fix shadowed variable.
#rb none
#tests none
Change 2947377 on 2016/04/18 by Jamie.Dale
Gather paths are now sorted by fuzzy-ness, so that more specific includes beat less specific excludes
#rb Matt.Kuhlenschmidt
#tests Built for Windows. Ran a gather, and confirmed that explicitly included heroes were now gathered, and that generically excluded heroes were absent from the gather.
Change 2947351 on 2016/04/18 by Ryan.Gerleve
Allow overriding the demo.AsyncLoadWorld setting with a URL option when playing a replay.
Store the entire URL in the demo net driver instead of just the map name, so that the options can be accessed later.
#tests golden path, replays
#rb john.pollard
Change 2947103 on 2016/04/18 by david.nikdel
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 24.1 @ CL 2947071
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2947102 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2947007 on 2016/04/18 by Zak.Middleton
#ue4 - Improve linear smoothing in the presence of low net frequency updates.
#rb Bart.Bressler
#tests MultiPIE AI with lanes
Change 2946994 on 2016/04/18 by Mieszko.Zielinski
Improvements to NavigationSystem's "abstract navigation data" support #UE4
#rb Lukasz.Furman
#test golden path
Change 2946760 on 2016/04/18 by Chris.Bunner
Fixing up bad merge, recommit of CL 2819472 - ForceLOD now clamps to available LODs on primitive, i.e. use MinLOD rather than not drawing at all.
#tests Editor
#rb None
Change 2946745 on 2016/04/18 by david.nikdel
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 24.1 @ CL 2946637
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2946656 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2946645 on 2016/04/18 by Richard.Fawcett
When promoting a buidl to staged, prevent enumeration of files already in S3
Enumerating files in S3 is a slow process, and it turns out that simply uploading all chunks blindly is more efficient than enumerating existing chunks and selectively uploading only the new ones.
#rb Leigh.Swift
#tests This technique has already been used in launcher promotions for several months
Change 2946622 on 2016/04/18 by Richard.Fawcett
By default, when enumerating chunks from a manifest file, skip checking they exist on disk at enumeration time.
This will fail anyway further down the line if the files don't exist, but will improve speed of stage promotions by around five minutes. In practice, we have NEVER seen a job fail at this point because of the existence check.
#rb Leigh.Swift
#tests Ensure that output of ExtractDataFilenamesFromManifest method is identical both with and without bSkipExistsCheck specified.
Change 2945812 on 2016/04/15 by Daniel.Lamb
Fixed error in diff cooked build commandlet.
#rb ben.marsh
#test Compile.
Change 2945110 on 2016/04/15 by Matt.Kuhlenschmidt
Fix crash exporting actors with non-scene components to fbx
#rb none, #tests full scene exporting on maps that crashed
#codereview alexis.matte
Change 2945078 on 2016/04/15 by Simon.Tovey
Fix for OR-19778
When some pooled systems are reused, on init they have a non zero lod level but the emitter instances are created at LOD 0 initially.
So the component did not think it had to update it's LOD but the emitters were not at the correct LOD.
Have forced a LOD set on init when the component LOD is non-zero.
#rb none
#tests Works in editor and game.
#codereview Olaf.Piesche
Change 2944664 on 2016/04/14 by Uriel.Doyon
Fix to SM4 compilation issue
#jira OR-19706
#rb marcus.wassmer
#tests tested editor in SM4 and SM5
Change 2944642 on 2016/04/14 by Lukasz.Furman
changed waypoint switch conditions in meta nav paths
#rb none
#tests PIE
#codereview Mieszko.Zielinski
Change 2944599 on 2016/04/14 by david.nikdel
#ROBOMERGE-AUTHOR: andrew.grant
Added sha1 to UnrealPak list output
#rb none
#tests listed content of pakfile
#ROBOMERGE-SOURCE: CL 2944595 in //Orion/Release-0.24/... via CL 2944597 via CL 2944598
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2944441 on 2016/04/14 by Marcus.Wassmer
Duplicate change to output shader compiler errors.
#rb none
#test run PC and see errors.
Change 2944437 on 2016/04/14 by John.Pollard
Possible fix for https://jira.ol.epicgames.net/browse/OR-19614
#rb JoshM
#codereview Josh.Markiewicz
#tests Golden path matchmaking
Change 2944430 on 2016/04/14 by david.nikdel
#ROBOMERGE-AUTHOR: michael.noland
Engine: Added support for more/fewer settings in individual categories to the editor scalability control widget
#rb david.ratti
#tests Tested in the editor
#ROBOMERGE-SOURCE: CL 2944428 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2944198 on 2016/04/14 by David.Ratti
Paragon - register for slow/stun/root/silence callbacks on any tag count change, not just add/remove. This is so the UI will update if you get another stack of a stackable slow GE.
Ability system - unify client stack count change code path with server. Client now properly update owner ASC's tag map and broadcasts all delegates there.
#rb dayY
#tests pie
Change 2944124 on 2016/04/14 by Wes.Hunt
Change the TPS redirects for DX modules to point to the proper DX redist TPS which is what packaged games will need.
#codereview:leslie.nivison
#rb none
#tests ran UAT ListThirdPartySoftware <for Orion>
Change 2944107 on 2016/04/14 by Wes.Hunt
MeshUtilities now depends on new module nvTessLib to better track the third party dependency.
#codereview:daniel.wright
#rb none
#tests build OrionClient/Editor for Win64
Change 2944102 on 2016/04/14 by Wes.Hunt
Tweak to UBT -ListBuildFolders to do a distinct in a better place to cut down on duplicate module searches.
#tests ran the UBT command
#rb none
Change 2943851 on 2016/04/14 by Ryan.Gerleve
Fix the ForEachNetDriver helper function to get the world context directly off the world instead of going through the game instance. Ensures the correct net drivers will be used when there are multiple worlds but only one game instance.
#rb john.pollard
#tests golden path, replays, PIE
Change 2943847 on 2016/04/14 by Ryan.Gerleve
Fixes to support client replay recording & playback in another world:
When recording a replay, only swap actor roles if the remote role is ROLE_Authority
When loading a replay checkpoint, call NetworkRemapPath to make sure paths have the correct name in the GuidCache
#rb john.pollard
#tests golden path, replays, PIE
Change 2943691 on 2016/04/14 by david.nikdel
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_24 - Fix for OR-19609, OR-19610, and OR-19611
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2943687 in //Orion/Release-0.24/... via CL 2943688
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2943508 on 2016/04/14 by Richard.Fawcett
Automation: Add support for multipart file uploads to Amazon S3 to increase speed of large file uploads.
#jira OPPBUILD-44
#rb Leigh.Swift
#tests Uploaded files to S3 using the new routines, downlaoded via AWS management console and ensured downloaded files identical to uploaded ones
Change 2943274 on 2016/04/13 by jason.bestimt
#ORION_MAIN - Merge 24 @ CL 2943257
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2943271 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: david.nikdel, jason.bestimt
Change 2943178 on 2016/04/13 by Olaf.Piesche
Bumping size of the particle curve texture to 512x512
#rb martin.mittring
#tests PC Editor, Game
Change 2943174 on 2016/04/13 by Aaron.McLeran
OR-19392 Ensure condition failed: (*RequiresInitialization == 0) on loading into PVP match
- Removing ensure since there is a rare edge case where it's possible for a sound looping node may get ResetChildren called twice.
- Condition is when a child random node o fa looping node has a blank entry and results in no sound chosen in a given frame (which results in ResetChildren getting called). Later in the frame, if a sound had previously been playing with an active sound, it will have stop called on it, which will call NotifyWaveInstanceFinished and hit the ensure. Simply using the branch to check if the looping node has been initialized will work fine in this and other cases.
#codereview Bob.Tellez
#rb Bob.Tellez
#tests ran orion with this change testing problematic sound cue
Change 2943042 on 2016/04/13 by Rob.Cannaday
Fix crash in HTTP completion delegates on shutdown
Stop ticking HTTP retry manager after FOnlineSubsystemImpl::Shutdown has been called
#rb josh.markiewicz
#tests shutting down multiple times
Change 2942913 on 2016/04/13 by Lukasz.Furman
added meta navmesh paths
#orion
#rb Mieszko.Zielinski
#tests PIE
Change 2942132 on 2016/04/13 by Wes.Hunt
Enable UBT -ListBuildFolders to operate on Mac and iOS platforms without having to fully set up the remote environment.
#codereview:leslie.nivison
#rb peter.sauerbrei
#tests running UBT with and without -listbuildfolders
Change 2941651 on 2016/04/12 by Jason.Bestimt
#ORION_DG - Merge MAIN @ CL 2941645
#RB:none
#Tests:none
Change 2941539 on 2016/04/12 by Laurent.Delayen
FABRIK: Normalize outgoing rotations.
Fixes Chains Q ability crashing.
#rb none
#tests Chains not crashing
Change 2941469 on 2016/04/12 by Wes.Hunt
Fix UBT -ListBuildFolders to not prep target for deployment.
#codereview:leslie.nivison
#rb none
#tests tested -ListBuildFolders for Android
Change 2941434 on 2016/04/12 by Leslie.Nivison
Adding/cleaning up .tps files
#rb none
#test none
Change 2941241 on 2016/04/12 by Daniel.Lamb
Removed shadername from the shader code to fix deterministic material cooking issue.
#jira UE-29320
#codereview Marcus.Wassmer
#rb Marcus.Wassmer
#test Running editor, cooking orion.
Change 2941046 on 2016/04/12 by Laurent.Delayen
Added safety net for non state AnimNotifies having a non-zero EndTriggerTimeOffset.
Fixes Twinblast double shot for the left primary attack.
#rb benn.gallagher
#codereview lina.halper, ray.arnett, aaron.eady
#tests twinblast's LMB
Change 2941032 on 2016/04/12 by Jason.Bestimt
#ORION_24 - Merge MAIN @ CL 2940950
#RB:none
#Tests:none
[CL 2952833 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2912513 on 2016/03/16 by David.Ratti
attempted cook fix
#rb none
#tests compile
Change 2912456 on 2016/03/16 by Zak.Middleton
#ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly.
#rb John.Pollard
#tests Replays and MultiPIE vs AI
Change 2912386 on 2016/03/16 by Ben.Marsh
BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces.
Change 2912378 on 2016/03/16 by Ben.Marsh
BuildGraph: Fix format of custom build arguments when running with buildgraph.
Change 2912318 on 2016/03/16 by Marcus.Wassmer
Fix mallocleakdetection false positives, and hash collision data corruption.
#rb none
#test leak finding on goldenpath
Change 2912242 on 2016/03/16 by Lukasz.Furman
CIS fix
#rb none
#tests none
Change 2912239 on 2016/03/16 by Ben.Marsh
UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there.
#rb none
#tests generated project files using UGS after making change
Change 2912211 on 2016/03/16 by Ben.Marsh
BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders.
#rb none
#codereview Wes.Hunt
#tests none
Change 2912196 on 2016/03/16 by Mieszko.Zielinski
Added a missing #pragma once to GameplayDebuggerCompat.h #Orion
#rb Lukasz.Furman
#test none
Change 2912165 on 2016/03/16 by Lukasz.Furman
new gameplay debugger and some replication fixes (disabled by default)
uncommment debugger's setup line in FOrionGameModule::StartupModule to enable
#orion
#rb none
#tests yes, a lot.
#codereview Mieszko.Zielinski
Change 2912065 on 2016/03/16 by Jason.Bestimt
[AUTOMERGE]
#ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016
#RB:none
#Tests:none
#CodeReview: matt.schembari
--------
Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56.
Change 2912045 on 2016/03/16 by David.Ratti
Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues
#rb DanY
#tests PIE
Change 2912030 on 2016/03/16 by Alex.Fennell
Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/...
support for cookies across curl easy handles in libcurl
#TESTS: cookie support confirmed by using the http test targetting google.com
#RB: david.nikdel
#codereview: david.nikdel, jason.bestimt
Change 2911870 on 2016/03/16 by Laurent.Delayen
- Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications.
- FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from.
- New notifications are backwards compatible with old.
- Added bIsNativeBranchingPoint flag to notify classes to force them into branching points.
#rb martin.wilson, frank.gigliotti
#tests Kuro VS Rampage abilities in networked PIE
Change 2911763 on 2016/03/16 by Nick.Atamas
Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue.
#rb none
#test Editor does not crash.
#codereview Matt.Kuhlenschmidt
Change 2911631 on 2016/03/16 by Dmitry.Rekman
Fix AvgPing perfcounter being occasionally NaN (FORT-20523)
- Prevent division by zero.
#rb none
[CL 2917701 by Andrew Grant in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
#lockdown Nick.Penwarden
Change 2903938 on 2016/03/10 by Frank.Gigliotti
Added an instance ID to FAnimMontageInstance
#CodeReview Laurent.Delayen
#RB Laurent.Delayen
#Tests PIE
Change 2903745 on 2016/03/10 by Wes.Hunt
Update Oodle TPS
#rb none
#tests none
#codereview:john.pollard
Change 2903689 on 2016/03/10 by Uriel.Doyon
New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero.
#rb marcus.wasmer
#codereview marcus.wassmer
#tests editor, playing PC games, trying the new command
Change 2903669 on 2016/03/10 by Aaron.McLeran
OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds
- Change only effects debug stat commands for audio guys
#rb none
#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds
Change 2903625 on 2016/03/10 by John.Pollard
XB1 Oodle SDK
#rb none
#tests none
#codereview Jeff.Campeau
Change 2903577 on 2016/03/10 by Ben.Marsh
Remaking latest build scripts from //UE4/Main @ 2900980.
Change 2903560 on 2016/03/10 by Ben.Marsh
Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.
Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:
* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.
Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.
Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.
Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.
File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.
Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.
A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.
#rb none
#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
#tests local only so far, but not part of any build process yet
Change 2903539 on 2016/03/10 by John.Pollard
Improve replay playback debugging of character movement
#rb none
#tests replays
Change 2903526 on 2016/03/10 by Ben.Marsh
Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.
#rb none
#tests none
Change 2903512 on 2016/03/10 by Dan.Youhon
Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s
#rb None
#tests Compiles
Change 2903474 on 2016/03/10 by Marc.Audy
Fix crash if ChildActor is null
#rb None
#tests None
Change 2903314 on 2016/03/10 by Marc.Audy
Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
#rb James.Golding
#tests Selection of child actors works as expected
#jira UE-28201
Change 2903298 on 2016/03/10 by Simon.Tovey
Disabling the trails optimization.
#tests none
#rb none
#codereview Olaf.Piesche
Change 2903124 on 2016/03/10 by Robert.Manuszewski
Small refactor to pak signing to help with exe protection
#rb none
#tests none
[CL 2907678 by Andrew Grant in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2817214 on 2016/01/06 by mason.seay
Adjusted Walkable Slope Override for mesh
#jira UE-24473
Change 2817384 on 2016/01/06 by Michael.Schoell
Crash fix when selecting a variable node for a variable that is not owned by a Blueprint.
#jira UE-24958 - Crash when getting the sequence player in level blueprint
Change 2817438 on 2016/01/06 by Max.Chen
Sequencer: Add option to specify position of material name from the movie scene capture interface. For example, MovieCapture_{material}_{width}x{height}.{frame} will create files like this: MovieCapture_FinalImage_1920x1080.0010.exr
#rb Andrew.Rodham
#jira UE-24926
Change 2817459 on 2016/01/06 by Marc.Audy
PR #1679: Move MinRespawnDelay to virtual method AController::GetMinRespawnDelay() (Contributed by bozaro)
#jira UE-22309
Change 2817472 on 2016/01/06 by Ben.Marsh
Always run UHT in unattended mode from UBT; we don't want it opening any dialogs. Match3 is currently missing a plugin, and it's causing builds to time out.
Change 2817473 on 2016/01/06 by Marc.Audy
PR #1644: Improve "SpawnActor failed because the spawned actor IsPendingKill" error message (Contributed by slonopotamus)
#jira UE-21911
Change 2817533 on 2016/01/06 by Lauren.Ridge
Fixing Match3 not compiling in Debug (removed two checks on TileLibrary)
#jira UE-25004
Change 2817625 on 2016/01/06 by Taizyd.Korambayil
#jira UE-19659 Reimported Template Animations with Proper Skeletons
Change 2817647 on 2016/01/06 by Lukasz.Furman
replaced ensure during initialization of blackboard based behavior tree task with log warning
#ue4
#jira UE-24448
#rb Mieszko.Zielinski
Change 2817648 on 2016/01/06 by Lukasz.Furman
fixed broken rendering component of navmesh actor after delete-undo operation
#ue4
#jira UE-24446
#rb Mieszko.Zielinski
Change 2817688 on 2016/01/06 by Taizyd.Korambayil
#jira UE-22347 Fixed Message Warnings on Startup
Change 2817815 on 2016/01/06 by Jamie.Dale
Multiple fixes when editing right-to-left text
- Text is now shaped over the entire line to allow rich-text and selected text to be shaped correctly across block boundaries.
- Text layout highlights are now able to correctly handle bi-directional and right-to-left text.
- Text picking can now handle bi-directional and right-to-left text.
- Text picking can now pick the individual characters that make up a ligature glyph.
- The caret now draws on the logical (rather than visual) side of the glyph (to handle right-to-left text).
- Glyph clusters (multiple glyphs produced from a single character) are now treated as a single logical glyph.
- Optimized some of the FShapedGlyphSequence to allow an early out once they've found and processed the start and end glyphs.
#jira UE-25013
Change 2817828 on 2016/01/06 by Nick.Darnell
Editor - Fixing the OpenLauncher call to be take a structure to allow us to customize it more, and to properly handle the silent command the way we're planning to handle it in the launcher.
#jira UE-24563
Change 2818052 on 2016/01/06 by Nick.Darnell
Editor - Adding another application check for the launcher to catch the current app name on mac.
#jira UE-24563
Change 2818149 on 2016/01/06 by Taizyd.Korambayil
#jira UE-19097 Adjusted FirstPerson Pawn, so that Camera doesnt clip the Arm Mesh
Change 2818360 on 2016/01/06 by Chris.Babcock
Fix reading from ini sections not cached after build system changes for 4.11
#jira UE-25027
#ue4
#android
Change 2818369 on 2016/01/06 by Ryan.Vance
#jira UE-24976
Adding tessellation support to instanced stereo
Change 2818999 on 2016/01/07 by Robert.Manuszewski
UHT will no longer try to load game-only plugins.
#jira UE-25032
- Changed module type RuntimeNoProgram to RuntimeAndProgram so that bu default Runtime plugin modules won't be loaded by programs
- Added better error message when UHT's PreInit fails
Change 2819064 on 2016/01/07 by Richard.Hinckley
#jira UE-24694
Fixing array usage in 4.11 stream.
Change 2819067 on 2016/01/07 by Ori.Cohen
When editor tries to spawn a physics asset we automatically load the needed skeletal mesh
#rb Matt.K
#JIRA UE-24165
- The entire editor can now be compiled using Clang on Windows. It also runs (as long as you use the MSVC linker.)
- Use UEBuildWindows.bCompileWithClang=true to help test Clang support
- Most UE4 programs can now be compiled using Clang on Windows, and linked using the Clang linker on Windows
- Many C++ syntax fixes to resolve Clang errors and warnings when on Windows
- Clang on Windows now supports PCH files properly (but not "shared" PCHs, yet.)
- Hacked the DirectX XAudio2 headers slightly to work around a macro pasting bug in Clang
[CL 2494439 by Mike Fricker in Main branch]
- Updated UBT to allow us to setup platform information prior to setting the intermediate directory, ran by RobM
- Removed some code that allowed uis to rename binaries. We now use architecture for our _xp suffix.
- Added clarity to the WindowsPlatform XP checks. We can now specify XP support "If Available" which atm is only the case for win32. We have an IsWindowsXPSupported() call now in the windows build platform.
- Windows XP support can now be requested through UBT on the commandline. Specify using -winxp
Kellans GUBP changes included.
#CodeReview Kellan.Carr
[CL 2422021 by Terence Burns in Main branch]